Vigia

将 @opentelemetry/core 从 1.x 升级到 2.x

根据 TypeScript 类型自动比较 @opentelemetry/core 1.30.1 与 2.11.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出26
已修改的签名5
已删除的类或接口成员3
已修改的类或接口成员1
新增弃用4
要求变化(engines、peer 依赖)1
新增导出7

已删除的导出

importexportkind之前
@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

已修改的签名

export之前之后
@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

已删除的类或接口成员

memberimport之前
TraceState._keys@opentelemetry/coreany
TraceState._clone@opentelemetry/coreany
TraceState._parse@opentelemetry/coreany

已修改的类或接口成员

member之前之后
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>

新增弃用

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.

要求变化(engines、peer 依赖)

之前之后
engines.node>=14^18.19.0 || >=20.6.0
新增导出 (7)
importexportkind
@opentelemetry/corehrTimeToSecondsfunction
@opentelemetry/coregetNumberFromEnvfunction
@opentelemetry/coregetStringFromEnvfunction
@opentelemetry/coregetBooleanFromEnvfunction
@opentelemetry/coregetStringListFromEnvfunction
@opentelemetry/corediagLogLevelFromStringfunction
@opentelemetry/coreparseKeyPairsIntoRecordfunction

常见问题

将 @opentelemetry/core 从 1 升级到 2 有哪些不兼容变更?

在 @opentelemetry/core 1.30.1 与 2.11.0 之间,Vigia 发现 26 个已删除的导出、5 个已修改的签名,以及 4 个已删除或修改的类或接口成员。

@opentelemetry/core 2 中弃用了哪些内容?

@opentelemetry/core 2.11.0 中有 4 个导出或成员新被标记为弃用。

供智能体使用

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