Vigia

Upgrading @opentelemetry/core from 1.x to 2.x

Comparison of the public API of @opentelemetry/core 1.30.1 and 2.11.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports26
Changed signatures5
Removed class or interface members3
Changed class or interface members1
Newly deprecated4
Requirement changes (engines, peer dependencies)1
New exports7

Removed exports

importexportkindBefore
@opentelemetry/coregetEnvfunction(): Required<ENVIRONMENT>
@opentelemetry/coreVERSIONvariable"1.30.1"
@opentelemetry/coreisWrappedfunction(func: unknown): func is ShimWrapped
@opentelemetry/coreENVIRONMENTtype{ CONTAINER_NAME?: string | undefined; ECS_CONTAINER_METADATA_URI_V4?: string | undefined; ECS_CONTAINER_METADATA_URI?: string | undefined; HOSTNAME?: string | undefined; KUBERNETES_SERVICE_HOST?: string | undefined; NAMESPACE?: string | undefined; OTEL_EXPORTER_JAEGER_AGENT_HOST?: string | undefined; OTEL_EXPORTER_JAEGER_ENDPOINT?: string | undefined; OTEL_EXPORTER_JAEGER_PASSWORD?: string | undefined; OTEL_EXPORTER_JAEGER_USER?: string | undefined; OTEL_EXPORTER_OTLP_ENDPOINT?: string | undefined; OTEL_EXPORTER_OTLP_TRACES_ENDPOINT?: string | undefined; OTEL_EXPORTER_OTLP_METRICS_ENDPOINT?: …
@opentelemetry/coreIdGeneratorinterfaceinterface
@opentelemetry/coreShimWrappedinterfaceinterface
@opentelemetry/corehexToBase64function(hexStr: string): string
@opentelemetry/corehexToBinaryfunction(hexStr: string): Uint8Array<ArrayBufferLike>
@opentelemetry/corebaggageUtilsvariable{ getKeyPairs: (baggage: Baggage) => string[]; serializeKeyPairs: (keyPairs: string[]) => string; parseKeyPairsIntoRecord: (value?: string | undefined) => Record<string, string>; parsePairKeyValue: (entry: string) => ParsedBaggageKeyValue | undefined; }
@opentelemetry/coreisAttributeKeyfunction(key: unknown): key is string
@opentelemetry/coreAlwaysOnSamplerclassclass
@opentelemetry/coreRAW_ENVIRONMENTtype{ [key: string]: string | number | string[] | undefined; }
@opentelemetry/coreAlwaysOffSamplerclassclass
@opentelemetry/coreTimeOriginLegacyinterfaceinterface
@opentelemetry/coreparseEnvironmentfunction(values: RAW_ENVIRONMENT): ENVIRONMENT
@opentelemetry/coreRandomIdGeneratorclassclass
@opentelemetry/coreParentBasedSamplerclassclass
@opentelemetry/coreDEFAULT_ENVIRONMENTvariableRequired<ENVIRONMENT>
@opentelemetry/coreTracesSamplerValuesenumTracesSamplerValues
@opentelemetry/coregetEnvWithoutDefaultsfunction(): ENVIRONMENT
@opentelemetry/coreInstrumentationLibraryinterfaceinterface
@opentelemetry/coreTraceIdRatioBasedSamplerclassclass
@opentelemetry/coreDEFAULT_ATTRIBUTE_COUNT_LIMITvariable128
@opentelemetry/coreDEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMITvariablenumber
@opentelemetry/coreDEFAULT_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMITvariable128
@opentelemetry/coreDEFAULT_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMITvariable128

Changed signatures

exportBeforeAfter
@opentelemetry/core · SDK_INFO{ "telemetry.sdk.name": string; "process.runtime.name": string; "telemetry.sdk.language": string; "telemetry.sdk.version": string; }{ "telemetry.sdk.name": string; "process.runtime.name": string; "telemetry.sdk.language": "nodejs"; "telemetry.sdk.version": string; }
@opentelemetry/core · unrefTimer(timer: NodeJS.Timer): void(timer: number | { unref(): unknown; }): void
@opentelemetry/core · otperformanceany{ now(): number; readonly timeOrigin: number; }
@opentelemetry/core · isAttributeValue(val: unknown): val is SpanAttributeValue(val: unknown): val is AttributeValue
@opentelemetry/core · sanitizeAttributes(attributes: unknown): SpanAttributes(attributes: unknown): Attributes

Removed class or interface members

memberimportBefore
TraceState._keys@opentelemetry/coreany
TraceState._clone@opentelemetry/coreany
TraceState._parse@opentelemetry/coreany

Changed class or interface members

memberBeforeAfter
BindOnceFuture.constructor<R, This = unknown, T extends (this: This, ...args: unknown[]) => R = () => R>(_callback: T, _that: This): BindOnceFuture<R, This, T><R, This = unknown, T extends (this: This, ...args: unknown[]) => R = () => R>(callback: T, that: This): BindOnceFuture<R, This, T>

Newly deprecated

export@deprecated
@opentelemetry/core · unrefTimerplease copy this code to your implementation instead, this function will be removed in the next major version of this package.
@opentelemetry/core · _globalThisUse globalThis directly instead.
@opentelemetry/core · getTimeOriginUse `performance.timeOrigin` directly.
@opentelemetry/core · otperformanceUse performance directly.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node>=14^18.19.0 || >=20.6.0
New exports (7)
importexportkind
@opentelemetry/corehrTimeToSecondsfunction
@opentelemetry/coregetNumberFromEnvfunction
@opentelemetry/coregetStringFromEnvfunction
@opentelemetry/coregetBooleanFromEnvfunction
@opentelemetry/coregetStringListFromEnvfunction
@opentelemetry/corediagLogLevelFromStringfunction
@opentelemetry/coreparseKeyPairsIntoRecordfunction

Frequently asked questions

What are the breaking changes when upgrading @opentelemetry/core from 1 to 2?

Between @opentelemetry/core 1.30.1 and 2.11.0, Vigia found 26 removed exports, 5 changed signatures and 4 removed or changed class or interface members.

What became deprecated in @opentelemetry/core 2?

4 exports or members are newly marked as deprecated in @opentelemetry/core 2.11.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/@opentelemetry/core/upgrade?from=1.30.1&to=2.11.0