From 553fac71aa485fc0d29e4cd211d8ec6cb1d42959 Mon Sep 17 00:00:00 2001 From: Artem Ruts Date: Sun, 4 Nov 2018 20:32:02 -0500 Subject: [PATCH] Allowes to override codec's default baggage prefix. Signed-off-by: Artem Ruts --- src/configuration.js | 1 + src/tracer.js | 2 ++ test/init_tracer.js | 6 +++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/configuration.js b/src/configuration.js index 2fadd7a9f..31c966268 100644 --- a/src/configuration.js +++ b/src/configuration.js @@ -226,6 +226,7 @@ export default class Configuration { return new Tracer(config.serviceName, reporter, sampler, { contextKey: options.contextKey, + baggagePrefix: options.baggagePrefix, metrics: options.metrics, logger: options.logger, tags: options.tags, diff --git a/src/tracer.js b/src/tracer.js index 2f92a299f..79ceebd5c 100644 --- a/src/tracer.js +++ b/src/tracer.js @@ -55,6 +55,7 @@ export default class Tracer { * @param {Object} [options.logger] - a logger matching NullLogger API from ./logger.js. * @param {Object} [options.baggageRestrictionManager] - a baggageRestrictionManager matching * @param {Object} [options.contextKey] - a name of the key to extract/inject context from headers + * @param {Object} [options.baggagePrefix] - a name of the context baggage key prefix * BaggageRestrictionManager API from ./baggage.js. */ constructor( @@ -84,6 +85,7 @@ export default class Tracer { let codecOptions = { contextKey: options.contextKey || null, + baggagePrefix: options.baggagePrefix || null, urlEncoding: false, metrics: this._metrics, }; diff --git a/test/init_tracer.js b/test/init_tracer.js index 3c6688e61..8a7cd5c49 100644 --- a/test/init_tracer.js +++ b/test/init_tracer.js @@ -210,12 +210,16 @@ describe('initTracer', () => { x: 'y', }, contextKey: 'custom-header', + baggagePrefix: 'prfx-', } ); assert.equal(tracer._logger, logger); assert.equal(tracer._metrics._factory, metrics); assert.equal(tracer._tags['x'], 'y'); - assert.equal(tracer._injectors[opentracing.FORMAT_TEXT_MAP]._contextKey, 'custom-header'); + + const textMapInjector = tracer._injectors[opentracing.FORMAT_TEXT_MAP]; + assert.equal(textMapInjector._contextKey, 'custom-header'); + assert.equal(textMapInjector._baggagePrefix, 'prfx-'); tracer.close(done); });