opentelemetry-js/packages/opentelemetry-propagator-ja...
renovate[bot] 08afa47f6a
chore(deps): update dependency webpack to v5.99.9 (#5704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 15:10:01 +00:00
..
src refactor: remove "export *" in favor of explicit named exports (#4880) 2024-08-09 10:42:38 +00:00
test chore: update `module` config in tsconfig.base.json (#5347) 2025-01-23 10:35:36 +00:00
.eslintignore chore: setting up linter for propagators 2021-03-29 13:32:09 -04:00
.eslintrc.js chore(deps): update dependency eslint to v8.43.0 (#3929) 2023-07-06 15:14:56 +02:00
LICENSE Move jaeger propagator to propagators folder 2021-03-29 13:32:09 -04:00
README.md chore(lint): refactor Markdown linting to use markdownlint-cli2 (#4713) 2024-05-21 14:44:23 +02:00
jaeger-tracing.png Move jaeger propagator to propagators folder 2021-03-29 13:32:09 -04:00
karma.conf.js fix: adapt propagator-jaeger to core structure 2021-03-29 13:32:09 -04:00
package.json chore(deps): update dependency webpack to v5.99.9 (#5704) 2025-05-22 15:10:01 +00:00
tsconfig.esm.json chore: automatically generate tsconfigs (#3432) 2022-11-23 23:34:41 +08:00
tsconfig.esnext.json chore: automatically generate tsconfigs (#3432) 2022-11-23 23:34:41 +08:00
tsconfig.json chore: automatically generate tsconfigs (#3432) 2022-11-23 23:34:41 +08:00

README.md

OpenTelemetry Propagator Jaeger

NPM Published Version Apache License

OpenTelemetry Jaeger propagator provides HTTP header propagation for systems that are using Jaeger HTTP header format.

Format: {trace-id}:{span-id}:{parent-span-id}:{flags}

  • {trace-id}

    • 64-bit or 128-bit random number in base16 format.
    • Can be variable length, shorter values are 0-padded on the left.
    • Value of 0 is invalid.
  • {span-id}

    • 64-bit random number in base16 format.
  • {parent-span-id}

    • Set to 0 because this field is deprecated.
  • {flags}

    • One byte bitmap, as two hex digits.

Example of usage:

const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { JaegerPropagator } = require('@opentelemetry/propagator-jaeger');

const provider = new NodeTracerProvider();
provider.register({
  propagator: new JaegerPropagator()
});

Baggage Notes

Jeager Baggage is represented as multiple headers where the names are carrier dependent. For this reason, they are omitted from the fields method. This behavior should be taken into account if your application relies on the fields functionality. See the specification for more details.

Trace on Jaeger UI

example image

License

Apache 2.0 - See LICENSE for more information.