Habilita los indicadores de telemetría en las bibliotecas cliente de Node.js

Google Cloud proporciona supervisión, registros y diagnósticos eficaces para aplicaciones de Node.js.

Las bibliotecas cliente de Node.js están instrumentadas para emitir datos de seguimiento. La instrumentación es opcional, por lo que debes habilitarla de forma explícita. En este documento, se describen los indicadores disponibles y cómo habilitarlos.

Indicadores disponibles

Las bibliotecas cliente de Node.js están instrumentadas para generar los siguientes indicadores:

  1. Intervalos INFO para cada solicitud lógica del cliente. Por lo general, una sola llamada de método en la estructura del cliente obtiene ese intervalo (por ejemplo, llamar a accessSecretVersion en un SecretManagerServiceClient).
  2. Intervalos INFO para cada intento de RPC de bajo nivel. Por lo general, un solo método en la estructura del cliente obtiene uno de esos intervalos, pero puede haber más si la biblioteca tiene que reintentar la RPC.

Estos intervalos y registros siguen las convenciones semánticas de OpenTelemetry con atributosadicionales Google Cloud . Tanto los intervalos como los registros deben ser adecuados para la supervisión de producción. Los indicadores incluyen atributos estándar de OpenTelemetry (por ejemplo, http.response.status_code y rpc.system.name).

Para obtener una lista completa de los atributos estándar, consulta las convenciones semánticas de OpenTelemetry HTTP y gRPC.

Habilita los indicadores de telemetría

Para proteger los datos sensibles, los indicadores de telemetría están inhabilitados de forma predeterminada.

En Node.js, debes configurar el cliente para que emita seguimientos y configurar suscriptores y exportadores para enviar estos indicadores a un servicio externo.

Para configurar el cliente, puedes establecer la siguiente variable de entorno:

export GOOGLE_SDK_NODE_ENABLE_TRACING=true

Cuando el seguimiento está habilitado y tu aplicación tiene un intervalo de OpenTelemetry activo en el contexto actual cuando llamas a un método de biblioteca cliente, la biblioteca cliente vincula automáticamente sus intervalos como elementos secundarios de tu intervalo activo.

Exporta seguimientos

Una vez que la telemetría está habilitada en las bibliotecas cliente, tu aplicación debe configurarse para recopilar y exportar estos datos a tu servicio de observabilidad.

Para obtener instrucciones detalladas sobre la configuración de los datos de correlación de seguimiento de OpenTelemetry, consulta la muestra de observabilidad en el repositorio de Node.js.

Para exportar los intervalos tracing generados por las Google Cloud bibliotecas cliente a OpenTelemetry, debes configurar un proveedor de tracer y un exportador:

const cloudTraceExporter = new TraceExporter();
const spanProcessor = new BatchSpanProcessor(cloudTraceExporter);

const provider = new NodeTracerProvider({
  spanProcessors: [spanProcessor],
});
provider.register();