Skip to content

Commit 1a3f3f8

Browse files
authored
fix: remove default version from Tracer/Meter (#1828)
According to spec the version is optional for Tracer and Meter. TracerProvider/MeterProvider should not add a default to ensure that exporters only export a version if supplied during creation.
1 parent 471306f commit 1a3f3f8

File tree

7 files changed

+14
-14
lines changed

7 files changed

+14
-14
lines changed

packages/opentelemetry-core/src/common/types.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ export interface ShimWrapped {
5151
}
5252

5353
/**
54-
* An instrumentation library consists of the name and version used to
55-
* obtain a tracer or meter from a provider. This metadata is made available
56-
* on ReadableSpan and MetricRecord for use by the export pipeline.
54+
* An instrumentation library consists of the name and and optional version
55+
* used to obtain a tracer or meter from a provider. This metadata is made
56+
* available on ReadableSpan and MetricRecord for use by the export pipeline.
5757
*/
5858
export interface InstrumentationLibrary {
5959
readonly name: string;
60-
readonly version: string;
60+
readonly version?: string;
6161
}
6262

6363
/** Defines an error handler function */

packages/opentelemetry-exporter-collector/src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ export namespace opentelemetryProto {
311311

312312
export interface InstrumentationLibrary {
313313
name: string;
314-
version: string;
314+
version?: string;
315315
}
316316

317317
export interface StringKeyValue {

packages/opentelemetry-metrics/src/MeterProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ export class MeterProvider implements api.MeterProvider {
5050
*
5151
* @returns Meter A Meter with the given name and version
5252
*/
53-
getMeter(name: string, version = '*', config?: MeterConfig): Meter {
54-
const key = `${name}@${version}`;
53+
getMeter(name: string, version?: string, config?: MeterConfig): Meter {
54+
const key = `${name}@${version || ''}`;
5555
if (!this._meters.has(key)) {
5656
this._meters.set(
5757
key,

packages/opentelemetry-metrics/test/Meter.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ describe('Meter', () => {
154154
const [record] = await counter.getMetricRecord();
155155
const { name, version } = record.instrumentationLibrary;
156156
assert.strictEqual(name, 'test-meter');
157-
assert.strictEqual(version, '*');
157+
assert.strictEqual(version, undefined);
158158
});
159159

160160
describe('.bind()', () => {
@@ -607,7 +607,7 @@ describe('Meter', () => {
607607
const [record] = await valueRecorder.getMetricRecord();
608608
const { name, version } = record.instrumentationLibrary;
609609
assert.strictEqual(name, 'test-meter');
610-
assert.strictEqual(version, '*');
610+
assert.strictEqual(version, undefined);
611611
});
612612

613613
describe('names', () => {
@@ -1297,7 +1297,7 @@ describe('Meter', () => {
12971297
const [record] = await observer.getMetricRecord();
12981298
const { name, version } = record.instrumentationLibrary;
12991299
assert.strictEqual(name, 'test-meter');
1300-
assert.strictEqual(version, '*');
1300+
assert.strictEqual(version, undefined);
13011301
});
13021302
});
13031303

packages/opentelemetry-metrics/test/MeterProvider.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe('MeterProvider', () => {
5151
it('should return the meter with default version without a version option', () => {
5252
const provider = new MeterProvider();
5353
const meter1 = provider.getMeter('default');
54-
const meter2 = provider.getMeter('default', '*');
54+
const meter2 = provider.getMeter('default', undefined);
5555
assert.deepEqual(meter1, meter2);
5656
});
5757

packages/opentelemetry-tracing/src/BasicTracerProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ export class BasicTracerProvider implements api.TracerProvider {
5252
});
5353
}
5454

55-
getTracer(name: string, version = '*', config?: TracerConfig): Tracer {
56-
const key = `${name}@${version}`;
55+
getTracer(name: string, version?: string, config?: TracerConfig): Tracer {
56+
const key = `${name}@${version || ''}`;
5757
if (!this._tracers.has(key)) {
5858
this._tracers.set(
5959
key,

packages/opentelemetry-tracing/test/Span.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ describe('Span', () => {
393393
assert.ok(span.instrumentationLibrary);
394394
const { name, version } = span.instrumentationLibrary;
395395
assert.strictEqual(name, 'default');
396-
assert.strictEqual(version, '*');
396+
assert.strictEqual(version, undefined);
397397
});
398398

399399
it('should return ReadableSpan with attributes', () => {

0 commit comments

Comments
 (0)