diff --git a/CHANGELOG_NEXT.md b/CHANGELOG_NEXT.md index c29202652f..7e9bf00451 100644 --- a/CHANGELOG_NEXT.md +++ b/CHANGELOG_NEXT.md @@ -2,8 +2,10 @@ ### :boom: Breaking Change +* chore(shim-opentracing): replace deprecated SpanAttributes [#4430](https://github.com/open-telemetry/opentelemetry-js/pull/4430) @JamieDanielson * chore(otel-core): replace deprecated SpanAttributes [#4408](https://github.com/open-telemetry/opentelemetry-js/pull/4408) @JamieDanielson * feat(sdk-metrics)!: remove MeterProvider.addMetricReader() in favor of constructor option [#4419](https://github.com/open-telemetry/opentelemetry-js/pull/4419) @pichlermarc +* chore(otel-resources): replace deprecated SpanAttributes [#4428](https://github.com/open-telemetry/opentelemetry-js/pull/4428) @JamieDanielson ### :rocket: (Enhancement) diff --git a/package-lock.json b/package-lock.json index 5a1c6d4721..7800ff33d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31307,7 +31307,7 @@ "@opentelemetry/semantic-conventions": "1.18.1" }, "devDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.8.0", + "@opentelemetry/api": ">=1.1.0 <1.8.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -31769,7 +31769,7 @@ "opentracing": "^0.14.4" }, "devDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.8.0", + "@opentelemetry/api": ">=1.1.0 <1.8.0", "@opentelemetry/propagator-b3": "1.18.1", "@opentelemetry/propagator-jaeger": "1.18.1", "@opentelemetry/sdk-trace-base": "1.18.1", @@ -37075,7 +37075,7 @@ "@opentelemetry/resources": { "version": "file:packages/opentelemetry-resources", "requires": { - "@opentelemetry/api": ">=1.0.0 <1.8.0", + "@opentelemetry/api": ">=1.1.0 <1.8.0", "@opentelemetry/core": "1.18.1", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@opentelemetry/semantic-conventions": "1.18.1", @@ -37882,7 +37882,7 @@ "@opentelemetry/shim-opentracing": { "version": "file:packages/opentelemetry-shim-opentracing", "requires": { - "@opentelemetry/api": ">=1.0.0 <1.8.0", + "@opentelemetry/api": ">=1.1.0 <1.8.0", "@opentelemetry/core": "1.18.1", "@opentelemetry/propagator-b3": "1.18.1", "@opentelemetry/propagator-jaeger": "1.18.1", diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index 3c78e12eeb..fc502ef642 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -61,7 +61,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.8.0", + "@opentelemetry/api": ">=1.1.0 <1.8.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", diff --git a/packages/opentelemetry-resources/src/Resource.ts b/packages/opentelemetry-resources/src/Resource.ts index dfddda8ae1..40e99ceae4 100644 --- a/packages/opentelemetry-resources/src/Resource.ts +++ b/packages/opentelemetry-resources/src/Resource.ts @@ -119,7 +119,7 @@ export class Resource implements IResource { merge(other: IResource | null): IResource { if (!other) return this; - // SpanAttributes from other resource overwrite attributes from this resource. + // Attributes from other resource overwrite attributes from this resource. const mergedSyncAttributes = { ...this._syncAttributes, //Support for old resource implementation where _syncAttributes is not defined diff --git a/packages/opentelemetry-resources/src/types.ts b/packages/opentelemetry-resources/src/types.ts index d20c09faa2..d86fc9da6e 100644 --- a/packages/opentelemetry-resources/src/types.ts +++ b/packages/opentelemetry-resources/src/types.ts @@ -15,15 +15,14 @@ */ import { ResourceDetectionConfig } from './config'; -import { SpanAttributes } from '@opentelemetry/api'; +import { Attributes } from '@opentelemetry/api'; import { IResource } from './IResource'; /** * Interface for Resource attributes. - * General `Attributes` interface is added in api v1.1.0. - * To backward support older api (1.0.x), the deprecated `SpanAttributes` is used here. */ -export type ResourceAttributes = SpanAttributes; +// TODO: replace ResourceAttributes with Attributes +export type ResourceAttributes = Attributes; /** * @deprecated please use {@link DetectorSync} diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 073ed472e7..1f1d2f4bba 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -42,7 +42,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.8.0", + "@opentelemetry/api": ">=1.1.0 <1.8.0", "@opentelemetry/propagator-b3": "1.18.1", "@opentelemetry/propagator-jaeger": "1.18.1", "@opentelemetry/sdk-trace-base": "1.18.1", diff --git a/packages/opentelemetry-shim-opentracing/src/shim.ts b/packages/opentelemetry-shim-opentracing/src/shim.ts index 8b4ecd1bf6..ef7ca8e257 100644 --- a/packages/opentelemetry-shim-opentracing/src/shim.ts +++ b/packages/opentelemetry-shim-opentracing/src/shim.ts @@ -16,8 +16,8 @@ import * as api from '@opentelemetry/api'; import { - SpanAttributes, - SpanAttributeValue, + Attributes, + AttributeValue, SpanStatusCode, TextMapPropagator, } from '@opentelemetry/api'; @@ -287,7 +287,7 @@ export class SpanShim extends opentracing.Span { * @param eventName name of the event. * @param payload an arbitrary object to be attached to the event. */ - override logEvent(eventName: string, payload?: SpanAttributes): void { + override logEvent(eventName: string, payload?: Attributes): void { this._logInternal(eventName, payload); } @@ -297,7 +297,7 @@ export class SpanShim extends opentracing.Span { * @param keyValuePairs a set of key-value pairs to be used as event attributes * @param timestamp optional timestamp for the event */ - override log(keyValuePairs: SpanAttributes, timestamp?: number): this { + override log(keyValuePairs: Attributes, timestamp?: number): this { const entries = Object.entries(keyValuePairs); const eventEntry = entries.find(([key, _]) => key === 'event'); const eventName = eventEntry?.[1] || 'log'; @@ -309,7 +309,7 @@ export class SpanShim extends opentracing.Span { private _logInternal( eventName: string, - attributes: SpanAttributes | undefined, + attributes: Attributes | undefined, timestamp?: number ): void { if (attributes && eventName === 'error') { @@ -321,7 +321,7 @@ export class SpanShim extends opentracing.Span { return; } - const mappedAttributes: api.SpanAttributes = {}; + const mappedAttributes: api.Attributes = {}; for (const [k, v] of entries) { switch (k) { case 'error.kind': { @@ -352,7 +352,7 @@ export class SpanShim extends opentracing.Span { * Adds a set of tags to the span. * @param keyValueMap set of KV pairs representing tags */ - override addTags(keyValueMap: SpanAttributes): this { + override addTags(keyValueMap: Attributes): this { for (const [key, value] of Object.entries(keyValueMap)) { if (this._setErrorAsSpanStatusCode(key, value)) { continue; @@ -370,7 +370,7 @@ export class SpanShim extends opentracing.Span { * @param key key for the tag * @param value value for the tag */ - override setTag(key: string, value: SpanAttributeValue): this { + override setTag(key: string, value: AttributeValue): this { if (this._setErrorAsSpanStatusCode(key, value)) { return this; } @@ -398,7 +398,7 @@ export class SpanShim extends opentracing.Span { private _setErrorAsSpanStatusCode( key: string, - value: SpanAttributeValue | undefined + value: AttributeValue | undefined ): boolean { if (key === opentracing.Tags.ERROR) { const statusCode = SpanShim._mapErrorTag(value); @@ -409,7 +409,7 @@ export class SpanShim extends opentracing.Span { } private static _mapErrorTag( - value: SpanAttributeValue | undefined + value: AttributeValue | undefined ): SpanStatusCode { switch (value) { case true: