Neural Processing Mechanisms

    @opentelemetry/instrumentation-pino
    TypeScript icon, indicating that this package has built-in type declarations

    0.29.0 • Public • Published

    OpenTelemetry instrumentation for pino

    NPM Published Version Apache License

    This module provides automatic instrumentation for injection of trace context to pino.

    Compatible with OpenTelemetry JS API and SDK 1.0+.

    Installation

    npm install --save @opentelemetry/instrumentation-pino

    Usage

    const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
    const { PinoInstrumentation } = require('@opentelemetry/instrumentation-pino');
    const { registerInstrumentations } = require('@opentelemetry/instrumentation');
    
    const provider = new NodeTracerProvider();
    provider.register();
    
    registerInstrumentations({
      instrumentations: [
        new PinoInstrumentation({
          // Optional hook to insert additional context to log object.
          logHook: (span, record, level) => {
            record['resource.service.name'] = provider.resource.attributes['service.name'];
          },
        }),
        // other instrumentations
      ],
    });
    
    const pino = require('pino');
    const logger = pino();
    logger.info('foobar');
    // {"msg":"foobar","trace_id":"fc30029f30df383a4090d3189fe0ffdf","span_id":"625fa861d19d1056","trace_flags":"01", ...}

    Fields added to pino log objects

    For the current active span, the following fields are injected:

    • trace_id
    • span_id
    • trace_flags

    When no span context is active or the span context is invalid, injection is skipped.

    Supported versions

    >=5.14.0 <8

    Useful links

    License

    Apache 2.0 - See LICENSE for more information.

    Install

    npm i @opentelemetry/instrumentation-pino

    DownloadsWeekly Downloads

    54,692

    Version

    0.29.0

    License

    Apache-2.0

    Unpacked Size

    30.3 kB

    Total Files

    16

    Last publish

    Collaborators

    • bogdandrutu
    • dyladan