From 5b4ac8b2eed7b42a74349eb4a9d6e8dffc693c1e Mon Sep 17 00:00:00 2001 From: Daniel Lamando Date: Fri, 17 May 2024 22:53:03 +0200 Subject: [PATCH 1/2] Update opentelemetry-js: 1.18.0 -> 1.24.0 Includes a large diff for the Logging component, as well as the semantic-conventions package. --- hack/opentelemetry-js | 2 +- opentelemetry/api-events.d.ts | 45 +- opentelemetry/api-events.js | 24 +- opentelemetry/api-logs.d.ts | 25 +- opentelemetry/api.js | 2 +- opentelemetry/core.d.ts | 13 +- opentelemetry/core.js | 38 +- opentelemetry/exporter-metrics-otlp-http.d.ts | 5 +- opentelemetry/exporter-metrics-otlp-http.js | 16 +- opentelemetry/instrumentation.d.ts | 64 +- opentelemetry/instrumentation.js | 53 +- opentelemetry/otlp-exporter-base.js | 4 +- opentelemetry/otlp-transformer.d.ts | 22 +- opentelemetry/otlp-transformer.js | 61 +- opentelemetry/resources.d.ts | 35 +- opentelemetry/resources.js | 29 +- opentelemetry/sdk-logs.d.ts | 14 +- opentelemetry/sdk-logs.js | 93 +- opentelemetry/sdk-metrics.d.ts | 33 +- opentelemetry/sdk-metrics.js | 38 +- opentelemetry/sdk-trace-base.d.ts | 5 +- opentelemetry/sdk-trace-base.js | 51 +- opentelemetry/semantic-conventions.d.ts | 2838 ++++++++++++++--- opentelemetry/semantic-conventions.js | 1673 +++++++--- 24 files changed, 4106 insertions(+), 1077 deletions(-) diff --git a/hack/opentelemetry-js b/hack/opentelemetry-js index 73b4466..3ab4f76 160000 --- a/hack/opentelemetry-js +++ b/hack/opentelemetry-js @@ -1 +1 @@ -Subproject commit 73b446688f10fd8dc4cf403a085f0a39070df7b4 +Subproject commit 3ab4f765d8d696327b7d139ae6a45e7bd7edd924 diff --git a/opentelemetry/api-events.d.ts b/opentelemetry/api-events.d.ts index 95d6f1a..1d06aea 100644 --- a/opentelemetry/api-events.d.ts +++ b/opentelemetry/api-events.d.ts @@ -15,6 +15,7 @@ */ import { Attributes } from './api.d.ts'; +import { AnyValue } from './api-logs.d.ts'; interface Event { /** @@ -26,6 +27,11 @@ interface Event { */ name: string; /** + * Data that describes the event. + * Intended to be used by instrumentation libraries. + */ + data?: AnyValue; + /** * Additional attributes that describe the event. */ attributes?: Attributes; @@ -43,7 +49,7 @@ interface Event { spanId?: string; } -interface EventEmitter { +interface EventLogger { /** * Emit an event. This method should only be used by instrumentations emitting events. * @@ -52,7 +58,7 @@ interface EventEmitter { emit(event: Event): void; } -interface EventEmitterOptions { +interface EventLoggerOptions { /** * The schemaUrl of the tracer or instrumentation library * @default '' @@ -65,43 +71,42 @@ interface EventEmitterOptions { } /** - * A registry for creating named {@link EventEmitter}s. + * A registry for creating named {@link EventLogger}s. */ -interface EventEmitterProvider { +interface EventLoggerProvider { /** - * Returns an EventEmitter, creating one if one with the given name, version, and + * Returns an EventLogger, creating one if one with the given name, version, and * schemaUrl pair is not already created. * - * @param name The name of the event emitter or instrumentation library. - * @param domain The domain for events created by the event emitter. - * @param version The version of the event emitter or instrumentation library. - * @param options The options of the event emitter or instrumentation library. - * @returns EventEmitter An event emitter with the given name and version. + * @param name The name of the event logger or instrumentation library. + * @param version The version of the event logger or instrumentation library. + * @param options The options of the event logger or instrumentation library. + * @returns EventLogger An event logger with the given name and version. */ - getEventEmitter(name: string, domain: string, version?: string, options?: EventEmitterOptions): EventEmitter; + getEventLogger(name: string, version?: string, options?: EventLoggerOptions): EventLogger; } declare class EventsAPI { private static _instance?; private constructor(); static getInstance(): EventsAPI; - setGlobalEventEmitterProvider(provider: EventEmitterProvider): EventEmitterProvider; + setGlobalEventLoggerProvider(provider: EventLoggerProvider): EventLoggerProvider; /** - * Returns the global event emitter provider. + * Returns the global event logger provider. * - * @returns EventEmitterProvider + * @returns EventLoggerProvider */ - getEventEmitterProvider(): EventEmitterProvider; + getEventLoggerProvider(): EventLoggerProvider; /** - * Returns a event emitter from the global event emitter provider. + * Returns a event logger from the global event logger provider. * - * @returns EventEmitter + * @returns EventLogger */ - getEventEmitter(name: string, domain: string, version?: string, options?: EventEmitterOptions): EventEmitter; - /** Remove the global event emitter provider */ + getEventLogger(name: string, version?: string, options?: EventLoggerOptions): EventLogger; + /** Remove the global event logger provider */ disable(): void; } declare const events: EventsAPI; -export { Event, EventEmitter, EventEmitterOptions, EventEmitterProvider, events }; +export { Event, EventLogger, EventLoggerOptions, EventLoggerProvider, events }; diff --git a/opentelemetry/api-events.js b/opentelemetry/api-events.js index 5b52ba7..72c5f58 100644 --- a/opentelemetry/api-events.js +++ b/opentelemetry/api-events.js @@ -24,16 +24,16 @@ function makeGetter(requiredVersion, instance, fallback) { } const API_BACKWARDS_COMPATIBILITY_VERSION = 1; -class NoopEventEmitter { +class NoopEventLogger { emit(_event) { } } -class NoopEventEmitterProvider { - getEventEmitter(_name, _domain, _version, _options) { - return new NoopEventEmitter(); +class NoopEventLoggerProvider { + getEventLogger(_name, _version, _options) { + return new NoopEventLogger(); } } -const NOOP_EVENT_EMITTER_PROVIDER = new NoopEventEmitterProvider(); +const NOOP_EVENT_LOGGER_PROVIDER = new NoopEventLoggerProvider(); class EventsAPI { constructor() { } @@ -43,19 +43,19 @@ class EventsAPI { } return this._instance; } - setGlobalEventEmitterProvider(provider) { + setGlobalEventLoggerProvider(provider) { if (_global[GLOBAL_EVENTS_API_KEY]) { - return this.getEventEmitterProvider(); + return this.getEventLoggerProvider(); } - _global[GLOBAL_EVENTS_API_KEY] = makeGetter(API_BACKWARDS_COMPATIBILITY_VERSION, provider, NOOP_EVENT_EMITTER_PROVIDER); + _global[GLOBAL_EVENTS_API_KEY] = makeGetter(API_BACKWARDS_COMPATIBILITY_VERSION, provider, NOOP_EVENT_LOGGER_PROVIDER); return provider; } - getEventEmitterProvider() { + getEventLoggerProvider() { return (_global[GLOBAL_EVENTS_API_KEY]?.(API_BACKWARDS_COMPATIBILITY_VERSION) ?? - NOOP_EVENT_EMITTER_PROVIDER); + NOOP_EVENT_LOGGER_PROVIDER); } - getEventEmitter(name, domain, version, options) { - return this.getEventEmitterProvider().getEventEmitter(name, domain, version, options); + getEventLogger(name, version, options) { + return this.getEventLoggerProvider().getEventLogger(name, version, options); } disable() { delete _global[GLOBAL_EVENTS_API_KEY]; diff --git a/opentelemetry/api-logs.d.ts b/opentelemetry/api-logs.d.ts index 2691d4f..da7b54e 100644 --- a/opentelemetry/api-logs.d.ts +++ b/opentelemetry/api-logs.d.ts @@ -14,12 +14,21 @@ * limitations under the License. */ -import { AttributeValue, Context, Attributes } from './api.d.ts'; +import { AttributeValue, TimeInput, Context, Attributes } from './api.d.ts'; -declare type LogAttributeValue = AttributeValue | LogAttributes; -interface LogAttributes { - [attributeKey: string]: LogAttributeValue | undefined; +/** + * AnyValueMap is a map from string to AnyValue (attribute value or a nested map) + */ +interface AnyValueMap { + [attributeKey: string]: AnyValue | undefined; } +/** + * AnyValue is a either an attribute value or a map of AnyValue(s) + */ +declare type AnyValue = AttributeValue | AnyValueMap; + +declare type LogBody = AnyValue; +declare type LogAttributes = AnyValueMap; declare enum SeverityNumber { UNSPECIFIED = 0, TRACE = 1, @@ -51,11 +60,11 @@ interface LogRecord { /** * The time when the log record occurred as UNIX Epoch time in nanoseconds. */ - timestamp?: number; + timestamp?: TimeInput; /** * Time when the event was observed by the collection system. */ - observedTimestamp?: number; + observedTimestamp?: TimeInput; /** * Numerical value of the severity. */ @@ -67,7 +76,7 @@ interface LogRecord { /** * A value containing the body of the log record. */ - body?: string; + body?: LogBody; /** * Attributes that define the log record. */ @@ -153,4 +162,4 @@ declare class LogsAPI { declare const logs: LogsAPI; -export { LogAttributeValue, LogAttributes, LogRecord, Logger, LoggerOptions, LoggerProvider, NOOP_LOGGER, NOOP_LOGGER_PROVIDER, NoopLogger, NoopLoggerProvider, SeverityNumber, logs }; +export { AnyValue, AnyValueMap, LogAttributes, LogBody, LogRecord, Logger, LoggerOptions, LoggerProvider, NOOP_LOGGER, NOOP_LOGGER_PROVIDER, NoopLogger, NoopLoggerProvider, SeverityNumber, logs }; diff --git a/opentelemetry/api.js b/opentelemetry/api.js index c8ed438..f176855 100644 --- a/opentelemetry/api.js +++ b/opentelemetry/api.js @@ -17,7 +17,7 @@ const _globalThis = typeof globalThis === 'object' ? globalThis : global; -const VERSION = "1.7.0"; +const VERSION = "1.8.0"; const re = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/; function _makeCompatibilityCheck(ownVersion) { diff --git a/opentelemetry/core.d.ts b/opentelemetry/core.d.ts index 0d47828..61d3778 100644 --- a/opentelemetry/core.d.ts +++ b/opentelemetry/core.d.ts @@ -192,6 +192,8 @@ declare function isTimeInput(value: unknown): value is api.HrTime | number | Dat */ declare function addHrTimes(time1: api.HrTime, time2: api.HrTime): api.HrTime; +declare function hexToBinary(hexStr: string): Uint8Array; + interface ExportResult { code: ExportResultCode; error?: Error; @@ -359,7 +361,10 @@ declare const otperformance: Performance; /** Constants describing the SDK in use */ declare const SDK_INFO: { - [x: string]: string; + "telemetry.sdk.name": string; + "process.runtime.name": string; + "telemetry.sdk.language": "nodejs"; + "telemetry.sdk.version": string; }; declare function unrefTimer(timer: any): void; @@ -592,14 +597,14 @@ declare class BindOnceFuture): Promise; } -declare const VERSION = "1.18.0"; +declare const VERSION = "1.24.0"; interface Exporter { export(arg: T, resultCallback: (result: ExportResult) => void): void; } /** * @internal - * Shared functionality used by Exporters while exporting data, including suppresion of Traces. + * Shared functionality used by Exporters while exporting data, including suppression of Traces. */ declare function _export(exporter: Exporter, arg: T): Promise; @@ -607,4 +612,4 @@ declare const internal: { _export: typeof _export; }; -export { AlwaysOffSampler, AlwaysOnSampler, AnchoredClock, BindOnceFuture, Clock, CompositePropagator, CompositePropagatorConfig, DEFAULT_ATTRIBUTE_COUNT_LIMIT, DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT, DEFAULT_ENVIRONMENT, DEFAULT_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, DEFAULT_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT, ENVIRONMENT, ErrorHandler, ExportResult, ExportResultCode, IdGenerator, InstrumentationLibrary, InstrumentationScope, ParentBasedSampler, RAW_ENVIRONMENT, RPCMetadata, RPCType, RandomIdGenerator, SDK_INFO, ShimWrapped, TRACE_PARENT_HEADER, TRACE_STATE_HEADER, TimeOriginLegacy, TimeoutError, TraceIdRatioBasedSampler, TraceState, TracesSamplerValues, VERSION, W3CBaggagePropagator, W3CTraceContextPropagator, _globalThis, addHrTimes, utils_d as baggageUtils, callWithTimeout, deleteRPCMetadata, getEnv, getEnvWithoutDefaults, getRPCMetadata, getTimeOrigin, globalErrorHandler, hexToBase64, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToTimeStamp, internal, isAttributeKey, isAttributeValue, isTimeInput, isTimeInputHrTime, isTracingSuppressed, isUrlIgnored, isWrapped, loggingErrorHandler, merge, millisToHrTime, otperformance, parseEnvironment, parseTraceParent, sanitizeAttributes, setGlobalErrorHandler, setRPCMetadata, suppressTracing, timeInputToHrTime, unrefTimer, unsuppressTracing, urlMatches }; +export { AlwaysOffSampler, AlwaysOnSampler, AnchoredClock, BindOnceFuture, Clock, CompositePropagator, CompositePropagatorConfig, DEFAULT_ATTRIBUTE_COUNT_LIMIT, DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT, DEFAULT_ENVIRONMENT, DEFAULT_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, DEFAULT_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT, ENVIRONMENT, ErrorHandler, ExportResult, ExportResultCode, IdGenerator, InstrumentationLibrary, InstrumentationScope, ParentBasedSampler, RAW_ENVIRONMENT, RPCMetadata, RPCType, RandomIdGenerator, SDK_INFO, ShimWrapped, TRACE_PARENT_HEADER, TRACE_STATE_HEADER, TimeOriginLegacy, TimeoutError, TraceIdRatioBasedSampler, TraceState, TracesSamplerValues, VERSION, W3CBaggagePropagator, W3CTraceContextPropagator, _globalThis, addHrTimes, utils_d as baggageUtils, callWithTimeout, deleteRPCMetadata, getEnv, getEnvWithoutDefaults, getRPCMetadata, getTimeOrigin, globalErrorHandler, hexToBase64, hexToBinary, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToTimeStamp, internal, isAttributeKey, isAttributeValue, isTimeInput, isTimeInputHrTime, isTracingSuppressed, isUrlIgnored, isWrapped, loggingErrorHandler, merge, millisToHrTime, otperformance, parseEnvironment, parseTraceParent, sanitizeAttributes, setGlobalErrorHandler, setRPCMetadata, suppressTracing, timeInputToHrTime, unrefTimer, unsuppressTracing, urlMatches }; diff --git a/opentelemetry/core.js b/opentelemetry/core.js index 14aef5f..f4f04ef 100644 --- a/opentelemetry/core.js +++ b/opentelemetry/core.js @@ -16,7 +16,6 @@ /// import { createContextKey, baggageEntryMetadataFromString, propagation, diag, DiagLogLevel, trace, isSpanContextValid, TraceFlags, SamplingDecision, isValidTraceId, context } from './api.js'; - import { SemanticResourceAttributes, TelemetrySdkLanguageValues } from './semantic-conventions.js'; const SUPPRESS_TRACING_KEY = createContextKey('OpenTelemetry SDK Context Key SUPPRESS_TRACING'); @@ -482,22 +481,33 @@ function getEnvWithoutDefaults() { function getEnv() { const processEnv = parseEnvironment(Deno.env.toObject()); - return Object.assign({ - HOSTNAME: Deno.hostname?.(), - }, DEFAULT_ENVIRONMENT, processEnv); + return Object.assign({}, DEFAULT_ENVIRONMENT, processEnv); } const _globalThis = typeof globalThis === 'object' ? globalThis : global; -function hexToBase64(hexStr) { - const hexStrLen = hexStr.length; - let hexAsciiCharsStr = ''; - for (let i = 0; i < hexStrLen; i += 2) { - const hexPair = hexStr.substring(i, i + 2); - const hexVal = parseInt(hexPair, 16); - hexAsciiCharsStr += String.fromCharCode(hexVal); +function intValue(charCode) { + if (charCode >= 48 && charCode <= 57) { + return charCode - 48; + } + if (charCode >= 97 && charCode <= 102) { + return charCode - 87; + } + return charCode - 55; +} +function hexToBinary(hexStr) { + const buf = new Uint8Array(hexStr.length / 2); + let offset = 0; + for (let i = 0; i < hexStr.length; i += 2) { + const hi = intValue(hexStr.charCodeAt(i)); + const lo = intValue(hexStr.charCodeAt(i + 1)); + buf[offset++] = (hi << 4) | lo; } - return btoa(hexAsciiCharsStr); + return buf; +} + +function hexToBase64(hexStr) { + return btoa(String.fromCharCode(...hexToBinary(hexStr))); } const SPAN_ID_BYTES = 8; @@ -523,7 +533,7 @@ function getIdGenerator(bytes) { const otperformance = performance; -const VERSION$1 = "1.18.0"; +const VERSION$1 = "1.24.0"; const SDK_INFO = { [SemanticResourceAttributes.TELEMETRY_SDK_NAME]: 'opentelemetry', @@ -1204,4 +1214,4 @@ const internal = { _export, }; -export { AlwaysOffSampler, AlwaysOnSampler, AnchoredClock, BindOnceFuture, CompositePropagator, DEFAULT_ATTRIBUTE_COUNT_LIMIT, DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT, DEFAULT_ENVIRONMENT, DEFAULT_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, DEFAULT_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT, ExportResultCode, ParentBasedSampler, RPCType, RandomIdGenerator, SDK_INFO, TRACE_PARENT_HEADER, TRACE_STATE_HEADER, TimeoutError, TraceIdRatioBasedSampler, TraceState, TracesSamplerValues, VERSION$1 as VERSION, W3CBaggagePropagator, W3CTraceContextPropagator, _globalThis, addHrTimes, utils as baggageUtils, callWithTimeout, deleteRPCMetadata, getEnv, getEnvWithoutDefaults, getRPCMetadata, getTimeOrigin, globalErrorHandler, hexToBase64, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToTimeStamp, internal, isAttributeKey, isAttributeValue, isTimeInput, isTimeInputHrTime, isTracingSuppressed, isUrlIgnored, isWrapped, loggingErrorHandler, merge, millisToHrTime, otperformance, parseEnvironment, parseTraceParent, sanitizeAttributes, setGlobalErrorHandler, setRPCMetadata, suppressTracing, timeInputToHrTime, unrefTimer, unsuppressTracing, urlMatches }; +export { AlwaysOffSampler, AlwaysOnSampler, AnchoredClock, BindOnceFuture, CompositePropagator, DEFAULT_ATTRIBUTE_COUNT_LIMIT, DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT, DEFAULT_ENVIRONMENT, DEFAULT_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT, DEFAULT_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT, ExportResultCode, ParentBasedSampler, RPCType, RandomIdGenerator, SDK_INFO, TRACE_PARENT_HEADER, TRACE_STATE_HEADER, TimeoutError, TraceIdRatioBasedSampler, TraceState, TracesSamplerValues, VERSION$1 as VERSION, W3CBaggagePropagator, W3CTraceContextPropagator, _globalThis, addHrTimes, utils as baggageUtils, callWithTimeout, deleteRPCMetadata, getEnv, getEnvWithoutDefaults, getRPCMetadata, getTimeOrigin, globalErrorHandler, hexToBase64, hexToBinary, hrTime, hrTimeDuration, hrTimeToMicroseconds, hrTimeToMilliseconds, hrTimeToNanoseconds, hrTimeToTimeStamp, internal, isAttributeKey, isAttributeValue, isTimeInput, isTimeInputHrTime, isTracingSuppressed, isUrlIgnored, isWrapped, loggingErrorHandler, merge, millisToHrTime, otperformance, parseEnvironment, parseTraceParent, sanitizeAttributes, setGlobalErrorHandler, setRPCMetadata, suppressTracing, timeInputToHrTime, unrefTimer, unsuppressTracing, urlMatches }; diff --git a/opentelemetry/exporter-metrics-otlp-http.d.ts b/opentelemetry/exporter-metrics-otlp-http.d.ts index d92a569..fdb50f3 100644 --- a/opentelemetry/exporter-metrics-otlp-http.d.ts +++ b/opentelemetry/exporter-metrics-otlp-http.d.ts @@ -15,12 +15,13 @@ */ import { OTLPExporterConfigBase, OTLPExporterBase } from './otlp-exporter-base.d.ts'; -import { AggregationTemporality, AggregationTemporalitySelector, ResourceMetrics, PushMetricExporter, InstrumentType } from './sdk-metrics.d.ts'; +import { AggregationTemporality, AggregationSelector, AggregationTemporalitySelector, ResourceMetrics, PushMetricExporter, InstrumentType, Aggregation } from './sdk-metrics.d.ts'; import { ExportResult } from './core.d.ts'; import { IExportMetricsServiceRequest } from './otlp-transformer.d.ts'; interface OTLPMetricExporterOptions extends OTLPExporterConfigBase { temporalityPreference?: AggregationTemporalityPreference | AggregationTemporality; + aggregationPreference?: AggregationSelector; } declare enum AggregationTemporalityPreference { DELTA = 0, @@ -34,10 +35,12 @@ declare const LowMemoryTemporalitySelector: AggregationTemporalitySelector; declare class OTLPMetricExporterBase> implements PushMetricExporter { _otlpExporter: T; private _aggregationTemporalitySelector; + private _aggregationSelector; constructor(exporter: T, config?: OTLPMetricExporterOptions); export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): void; shutdown(): Promise; forceFlush(): Promise; + selectAggregation(instrumentType: InstrumentType): Aggregation; selectAggregationTemporality(instrumentType: InstrumentType): AggregationTemporality; } diff --git a/opentelemetry/exporter-metrics-otlp-http.js b/opentelemetry/exporter-metrics-otlp-http.js index d74e6d8..88416d0 100644 --- a/opentelemetry/exporter-metrics-otlp-http.js +++ b/opentelemetry/exporter-metrics-otlp-http.js @@ -16,7 +16,7 @@ /// import { getEnv } from './core.js'; -import { AggregationTemporality, InstrumentType } from './sdk-metrics.js'; +import { AggregationTemporality, InstrumentType, Aggregation } from './sdk-metrics.js'; import { diag } from './api.js'; var AggregationTemporalityPreference; @@ -31,6 +31,7 @@ const DeltaTemporalitySelector = (instrumentType) => { switch (instrumentType) { case InstrumentType.COUNTER: case InstrumentType.OBSERVABLE_COUNTER: + case InstrumentType.GAUGE: case InstrumentType.HISTOGRAM: case InstrumentType.OBSERVABLE_GAUGE: return AggregationTemporality.DELTA; @@ -44,6 +45,7 @@ const LowMemoryTemporalitySelector = (instrumentType) => { case InstrumentType.COUNTER: case InstrumentType.HISTOGRAM: return AggregationTemporality.DELTA; + case InstrumentType.GAUGE: case InstrumentType.UP_DOWN_COUNTER: case InstrumentType.OBSERVABLE_UP_DOWN_COUNTER: case InstrumentType.OBSERVABLE_COUNTER: @@ -78,9 +80,18 @@ function chooseTemporalitySelector(temporalityPreference) { } return chooseTemporalitySelectorFromEnvironment(); } +function chooseAggregationSelector(config) { + if (config?.aggregationPreference) { + return config.aggregationPreference; + } + else { + return (_instrumentType) => Aggregation.Default(); + } +} class OTLPMetricExporterBase { constructor(exporter, config) { this._otlpExporter = exporter; + this._aggregationSelector = chooseAggregationSelector(config); this._aggregationTemporalitySelector = chooseTemporalitySelector(config?.temporalityPreference); } export(metrics, resultCallback) { @@ -92,6 +103,9 @@ class OTLPMetricExporterBase { forceFlush() { return Promise.resolve(); } + selectAggregation(instrumentType) { + return this._aggregationSelector(instrumentType); + } selectAggregationTemporality(instrumentType) { return this._aggregationTemporalitySelector(instrumentType); } diff --git a/opentelemetry/instrumentation.d.ts b/opentelemetry/instrumentation.d.ts index bf3a6b9..1898f42 100644 --- a/opentelemetry/instrumentation.d.ts +++ b/opentelemetry/instrumentation.d.ts @@ -15,6 +15,7 @@ */ import { TracerProvider, MeterProvider, DiagLogger, Meter, Tracer } from './api.d.ts'; +import { LoggerProvider, Logger } from './api-logs.d.ts'; /** Interface Instrumentation to apply patch. */ interface Instrumentation { @@ -36,6 +37,8 @@ interface Instrumentation { setTracerProvider(tracerProvider: TracerProvider): void; /** Method to set meter provider */ setMeterProvider(meterProvider: MeterProvider): void; + /** Method to set logger provider */ + setLoggerProvider?(loggerProvider: LoggerProvider): void; /** Method to set instrumentation config */ setConfig(config: InstrumentationConfig): void; /** Method to get instrumentation config */ @@ -64,46 +67,46 @@ interface ShimWrapped extends Function { __unwrap: Function; __original: Function; } - -interface InstrumentationModuleFile { +interface InstrumentationModuleFile { /** Name of file to be patched with relative path */ name: string; - moduleExports?: T; + moduleExports?: unknown; /** Supported version this file */ supportedVersions: string[]; /** Method to patch the instrumentation */ - patch(moduleExports: T, moduleVersion?: string): T; + patch(moduleExports: unknown, moduleVersion?: string): unknown; /** Method to patch the instrumentation */ /** Method to unpatch the instrumentation */ - unpatch(moduleExports?: T, moduleVersion?: string): void; + unpatch(moduleExports?: unknown, moduleVersion?: string): void; } -interface InstrumentationModuleDefinition { +interface InstrumentationModuleDefinition { /** Module name or path */ name: string; - moduleExports?: T; + moduleExports?: any; /** Instrumented module version */ moduleVersion?: string; /** Supported version of module */ supportedVersions: string[]; /** Module internal files to be patched */ - files: InstrumentationModuleFile[]; + files: InstrumentationModuleFile[]; /** If set to true, the includePrerelease check will be included when calling semver.satisfies */ includePrerelease?: boolean; /** Method to patch the instrumentation */ - patch?: (moduleExports: T, moduleVersion?: string) => T; + patch?: (moduleExports: any, moduleVersion?: string) => any; /** Method to unpatch the instrumentation */ - unpatch?: (moduleExports: T, moduleVersion?: string) => void; + unpatch?: (moduleExports: any, moduleVersion?: string) => void; } /** * Base abstract internal class for instrumenting node and web plugins */ -declare abstract class InstrumentationAbstract implements Instrumentation { +declare abstract class InstrumentationAbstract implements Instrumentation { readonly instrumentationName: string; readonly instrumentationVersion: string; protected _config: InstrumentationConfig; private _tracer; private _meter; + private _logger; protected _diag: DiagLogger; constructor(instrumentationName: string, instrumentationVersion: string, config?: InstrumentationConfig); protected _wrap: (nodule: Nodule, name: FieldName, wrapper: (original: Nodule[FieldName]) => Nodule[FieldName]) => void; @@ -116,6 +119,21 @@ declare abstract class InstrumentationAbstract implements Instrumentati * @param meterProvider */ setMeterProvider(meterProvider: MeterProvider): void; + protected get logger(): Logger; + /** + * Sets LoggerProvider to this plugin + * @param loggerProvider + */ + setLoggerProvider(loggerProvider: LoggerProvider): void; + /** + * @experimental + * + * Get module definitions defined by {@link init}. + * This can be used for experimental compile-time instrumentation. + * + * @returns an array of {@link InstrumentationModuleDefinition} + */ + getModuleDefinitions(): InstrumentationModuleDefinition[]; /** * Sets the new metric instruments with the current Meter. */ @@ -136,9 +154,9 @@ declare abstract class InstrumentationAbstract implements Instrumentati abstract disable(): void; /** * Init method in which plugin should define _modules and patches for - * methods + * methods. */ - protected abstract init(): InstrumentationModuleDefinition | InstrumentationModuleDefinition[] | void; + protected abstract init(): InstrumentationModuleDefinition | InstrumentationModuleDefinition[] | void; } /** @@ -156,6 +174,7 @@ interface AutoLoaderOptions { instrumentations?: InstrumentationOption[]; tracerProvider?: TracerProvider; meterProvider?: MeterProvider; + loggerProvider?: LoggerProvider; } /** @@ -166,6 +185,23 @@ interface AutoLoaderOptions { */ declare function registerInstrumentations(options: AutoLoaderOptions): () => void; +declare class InstrumentationNodeModuleDefinition implements InstrumentationModuleDefinition { + name: string; + supportedVersions: string[]; + patch?: ((exports: any, moduleVersion?: string | undefined) => any) | undefined; + unpatch?: ((exports: any, moduleVersion?: string | undefined) => void) | undefined; + files: InstrumentationModuleFile[]; + constructor(name: string, supportedVersions: string[], patch?: ((exports: any, moduleVersion?: string | undefined) => any) | undefined, unpatch?: ((exports: any, moduleVersion?: string | undefined) => void) | undefined, files?: InstrumentationModuleFile[]); +} + +declare class InstrumentationNodeModuleFile implements InstrumentationModuleFile { + supportedVersions: string[]; + patch: (moduleExports: any, moduleVersion?: string) => any; + unpatch: (moduleExports?: any, moduleVersion?: string) => void; + name: string; + constructor(name: string, supportedVersions: string[], patch: (moduleExports: any, moduleVersion?: string) => any, unpatch: (moduleExports?: any, moduleVersion?: string) => void); +} + /** * function to execute patched function and being able to catch errors * @param execute - function to be executed @@ -184,4 +220,4 @@ declare function safeExecuteInTheMiddleAsync(execute: () => T, onFinish: (e: */ declare function isWrapped(func: unknown): func is ShimWrapped; -export { AutoLoaderOptions, AutoLoaderResult, Instrumentation, InstrumentationBase, InstrumentationConfig, InstrumentationOption, ShimWrapped, isWrapped, registerInstrumentations, safeExecuteInTheMiddle, safeExecuteInTheMiddleAsync }; +export { AutoLoaderOptions, AutoLoaderResult, Instrumentation, InstrumentationBase, InstrumentationConfig, InstrumentationModuleDefinition, InstrumentationModuleFile, InstrumentationNodeModuleDefinition, InstrumentationNodeModuleFile, InstrumentationOption, ShimWrapped, isWrapped, registerInstrumentations, safeExecuteInTheMiddle, safeExecuteInTheMiddleAsync }; diff --git a/opentelemetry/instrumentation.js b/opentelemetry/instrumentation.js index 13c3e2b..dcc9e9c 100644 --- a/opentelemetry/instrumentation.js +++ b/opentelemetry/instrumentation.js @@ -16,6 +16,7 @@ /// import { trace, metrics, diag } from './api.js'; +import { logs } from './api-logs.js'; import * as shimmer from 'https://esm.sh/shimmer'; function parseInstrumentationOptions(options = []) { @@ -35,7 +36,7 @@ function parseInstrumentationOptions(options = []) { } return { instrumentations }; } -function enableInstrumentations(instrumentations, tracerProvider, meterProvider) { +function enableInstrumentations(instrumentations, tracerProvider, meterProvider, loggerProvider) { for (let i = 0, j = instrumentations.length; i < j; i++) { const instrumentation = instrumentations[i]; if (tracerProvider) { @@ -44,6 +45,9 @@ function enableInstrumentations(instrumentations, tracerProvider, meterProvider) if (meterProvider) { instrumentation.setMeterProvider(meterProvider); } + if (loggerProvider && instrumentation.setLoggerProvider) { + instrumentation.setLoggerProvider(loggerProvider); + } if (!instrumentation.getConfig().enabled) { instrumentation.enable(); } @@ -57,7 +61,8 @@ function registerInstrumentations(options) { const { instrumentations } = parseInstrumentationOptions(options.instrumentations); const tracerProvider = options.tracerProvider || trace.getTracerProvider(); const meterProvider = options.meterProvider || metrics.getMeterProvider(); - enableInstrumentations(instrumentations, tracerProvider, meterProvider); + const loggerProvider = options.loggerProvider || logs.getLoggerProvider(); + enableInstrumentations(instrumentations, tracerProvider, meterProvider, loggerProvider); return () => { disableInstrumentations(instrumentations); }; @@ -80,6 +85,7 @@ class InstrumentationAbstract { }); this._tracer = trace.getTracer(instrumentationName, instrumentationVersion); this._meter = metrics.getMeter(instrumentationName, instrumentationVersion); + this._logger = logs.getLogger(instrumentationName, instrumentationVersion); this._updateMetricInstruments(); } get meter() { @@ -89,6 +95,19 @@ class InstrumentationAbstract { this._meter = meterProvider.getMeter(this.instrumentationName, this.instrumentationVersion); this._updateMetricInstruments(); } + get logger() { + return this._logger; + } + setLoggerProvider(loggerProvider) { + this._logger = loggerProvider.getLogger(this.instrumentationName, this.instrumentationVersion); + } + getModuleDefinitions() { + const initResult = this.init() ?? []; + if (!Array.isArray(initResult)) { + return [initResult]; + } + return initResult; + } _updateMetricInstruments() { return; } @@ -115,6 +134,34 @@ class InstrumentationBase extends InstrumentationAbstract { } } +function normalize(path) { + diag.warn('Path normalization is not implemented for this platform. To silence this warning, ensure no node-specific instrumentations are loaded, and node-specific types (e.g. InstrumentationNodeModuleFile), are not used in a browser context)'); + return path; +} + +class InstrumentationNodeModuleDefinition { + constructor(name, supportedVersions, + patch, + unpatch, files) { + this.name = name; + this.supportedVersions = supportedVersions; + this.patch = patch; + this.unpatch = unpatch; + this.files = files || []; + } +} + +class InstrumentationNodeModuleFile { + constructor(name, supportedVersions, + patch, + unpatch) { + this.supportedVersions = supportedVersions; + this.patch = patch; + this.unpatch = unpatch; + this.name = normalize(name); + } +} + function safeExecuteInTheMiddle(execute, onFinish, preventThrowingError) { let error; let result; @@ -156,4 +203,4 @@ function isWrapped(func) { func.__wrapped === true); } -export { InstrumentationBase, isWrapped, registerInstrumentations, safeExecuteInTheMiddle, safeExecuteInTheMiddleAsync }; +export { InstrumentationBase, InstrumentationNodeModuleDefinition, InstrumentationNodeModuleFile, isWrapped, registerInstrumentations, safeExecuteInTheMiddle, safeExecuteInTheMiddleAsync }; diff --git a/opentelemetry/otlp-exporter-base.js b/opentelemetry/otlp-exporter-base.js index 311e3b0..9497b26 100644 --- a/opentelemetry/otlp-exporter-base.js +++ b/opentelemetry/otlp-exporter-base.js @@ -26,7 +26,7 @@ function parseHeaders(partialHeaders = {}) { headers[key] = String(value); } else { - diag.warn(`Header "${key}" has wrong value and will be ignored`); + diag.warn(`Header "${key}" has invalid value (${value}) and will be ignored`); } }); return headers; @@ -88,7 +88,7 @@ class OTLPExporterBase { this._concurrencyLimit = typeof config.concurrencyLimit === 'number' ? config.concurrencyLimit - : Infinity; + : 30; this.timeoutMillis = configureExporterTimeout(config.timeoutMillis); this.onInit(config); } diff --git a/opentelemetry/otlp-transformer.d.ts b/opentelemetry/otlp-transformer.d.ts index b035237..35b078d 100644 --- a/opentelemetry/otlp-transformer.d.ts +++ b/opentelemetry/otlp-transformer.d.ts @@ -81,8 +81,8 @@ declare function toLongBits(value: bigint): LongBits; declare function encodeAsLongBits(hrTime: HrTime): LongBits; declare function encodeAsString(hrTime: HrTime): string; declare type HrTimeEncodeFunction = (hrTime: HrTime) => Fixed64; -declare type SpanContextEncodeFunction = (spanContext: string) => string; -declare type OptionalSpanContextEncodeFunction = (spanContext: string | undefined) => string | undefined; +declare type SpanContextEncodeFunction = (spanContext: string) => string | Uint8Array; +declare type OptionalSpanContextEncodeFunction = (spanContext: string | undefined) => string | Uint8Array | undefined; interface Encoder { encodeHrTime: HrTimeEncodeFunction; encodeSpanContext: SpanContextEncodeFunction; @@ -296,9 +296,9 @@ interface IExemplar { /** Exemplar asInt */ asInt?: number; /** Exemplar spanId */ - spanId?: string; + spanId?: string | Uint8Array; /** Exemplar traceId */ - traceId?: string; + traceId?: string | Uint8Array; } /** * AggregationTemporality defines how a metric aggregator reports aggregated @@ -406,13 +406,13 @@ interface IScopeSpans { /** Properties of a Span. */ interface ISpan { /** Span traceId */ - traceId: string; + traceId: string | Uint8Array; /** Span spanId */ - spanId: string; + spanId: string | Uint8Array; /** Span traceState */ traceState?: string | null; /** Span parentSpanId */ - parentSpanId?: string; + parentSpanId?: string | Uint8Array; /** Span name */ name: string; /** Span kind */ @@ -496,9 +496,9 @@ interface IEvent { /** Properties of a Link. */ interface ILink { /** Link traceId */ - traceId: string; + traceId: string | Uint8Array; /** Link spanId */ - spanId: string; + spanId: string | Uint8Array; /** Link traceState */ traceState?: string; /** Link attributes */ @@ -559,9 +559,9 @@ interface ILogRecord { /** LogRecord flags */ flags?: number; /** LogRecord traceId */ - traceId?: string; + traceId?: string | Uint8Array; /** LogRecord spanId */ - spanId?: string; + spanId?: string | Uint8Array; } /** * Numerical value of the severity, normalized to values described in Log Data Model. diff --git a/opentelemetry/otlp-transformer.js b/opentelemetry/otlp-transformer.js index 4f974bb..b3a76e9 100644 --- a/opentelemetry/otlp-transformer.js +++ b/opentelemetry/otlp-transformer.js @@ -15,12 +15,12 @@ */ /// -import { hexToBase64, hrTimeToNanoseconds } from './core.js'; +import { hexToBinary, hrTimeToNanoseconds } from './core.js'; import { ValueType } from './api.js'; import { DataPointType, AggregationTemporality } from './sdk-metrics.js'; -const NANOSECONDS = BigInt(1000000000); function hrTimeToNanos(hrTime) { + const NANOSECONDS = BigInt(1000000000); return BigInt(hrTime[0]) * NANOSECONDS + BigInt(hrTime[1]); } function toLongBits(value) { @@ -40,15 +40,15 @@ const encodeTimestamp = typeof BigInt !== 'undefined' ? encodeAsString : hrTimeT function identity(value) { return value; } -function optionalHexToBase64(str) { +function optionalHexToBinary(str) { if (str === undefined) return undefined; - return hexToBase64(str); + return hexToBinary(str); } const DEFAULT_ENCODER = { encodeHrTime: encodeAsLongBits, - encodeSpanContext: hexToBase64, - encodeOptionalSpanContext: optionalHexToBase64, + encodeSpanContext: hexToBinary, + encodeOptionalSpanContext: optionalHexToBinary, }; function getOtlpEncoder(options) { if (options === undefined) { @@ -58,8 +58,8 @@ function getOtlpEncoder(options) { const useHex = options.useHex ?? false; return { encodeHrTime: useLongBits ? encodeAsLongBits : encodeTimestamp, - encodeSpanContext: useHex ? identity : hexToBase64, - encodeOptionalSpanContext: useHex ? identity : optionalHexToBase64, + encodeSpanContext: useHex ? identity : hexToBinary, + encodeOptionalSpanContext: useHex ? identity : optionalHexToBinary, }; } @@ -73,6 +73,12 @@ var ESpanKind; ESpanKind[ESpanKind["SPAN_KIND_CONSUMER"] = 5] = "SPAN_KIND_CONSUMER"; })(ESpanKind || (ESpanKind = {})); +function createInstrumentationScope(scope) { + return { + name: scope.name, + version: scope.version, + }; +} function toAttributes(attributes) { return Object.keys(attributes).map(key => toKeyValue(key, attributes[key])); } @@ -150,6 +156,13 @@ function toOtlpSpanEvent(timedEvent, encoder) { }; } +function createResource(resource) { + return { + attributes: toAttributes(resource.attributes), + droppedAttributesCount: 0, + }; +} + function createExportTraceServiceRequest(spans, options) { const encoder = getOtlpEncoder(options); return { @@ -187,21 +200,17 @@ function spanRecordsToResourceSpans(readableSpans, encoder) { while (!ilmEntry.done) { const scopeSpans = ilmEntry.value; if (scopeSpans.length > 0) { - const { name, version, schemaUrl } = scopeSpans[0].instrumentationLibrary; const spans = scopeSpans.map(readableSpan => sdkSpanToOtlpSpan(readableSpan, encoder)); scopeResourceSpans.push({ - scope: { name, version }, + scope: createInstrumentationScope(scopeSpans[0].instrumentationLibrary), spans: spans, - schemaUrl: schemaUrl, + schemaUrl: scopeSpans[0].instrumentationLibrary.schemaUrl, }); } ilmEntry = ilmIterator.next(); } const transformedSpans = { - resource: { - attributes: toAttributes(resource.attributes), - droppedAttributesCount: 0, - }, + resource: createResource(resource), scopeSpans: scopeResourceSpans, schemaUrl: undefined, }; @@ -214,20 +223,14 @@ function spanRecordsToResourceSpans(readableSpans, encoder) { function toResourceMetrics(resourceMetrics, options) { const encoder = getOtlpEncoder(options); return { - resource: { - attributes: toAttributes(resourceMetrics.resource.attributes), - droppedAttributesCount: 0, - }, + resource: createResource(resourceMetrics.resource), schemaUrl: undefined, scopeMetrics: toScopeMetrics(resourceMetrics.scopeMetrics, encoder), }; } function toScopeMetrics(scopeMetrics, encoder) { return Array.from(scopeMetrics.map(metrics => ({ - scope: { - name: metrics.scope.name, - version: metrics.scope.version, - }, + scope: createInstrumentationScope(metrics.scope), metrics: metrics.metrics.map(metricData => toMetric(metricData, encoder)), schemaUrl: metrics.scope.schemaUrl, }))); @@ -371,16 +374,12 @@ function createResourceMap(logRecords) { function logRecordsToResourceLogs(logRecords, encoder) { const resourceMap = createResourceMap(logRecords); return Array.from(resourceMap, ([resource, ismMap]) => ({ - resource: { - attributes: toAttributes(resource.attributes), - droppedAttributesCount: 0, - }, + resource: createResource(resource), scopeLogs: Array.from(ismMap, ([, scopeLogs]) => { - const { instrumentationScope: { name, version, schemaUrl }, } = scopeLogs[0]; return { - scope: { name, version }, + scope: createInstrumentationScope(scopeLogs[0].instrumentationScope), logRecords: scopeLogs.map(log => toLogRecord(log, encoder)), - schemaUrl, + schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl, }; }), schemaUrl: undefined, @@ -394,7 +393,7 @@ function toLogRecord(log, encoder) { severityText: log.severityText, body: toAnyValue(log.body), attributes: toLogAttributes(log.attributes), - droppedAttributesCount: 0, + droppedAttributesCount: log.droppedAttributesCount, flags: log.spanContext?.traceFlags, traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId), spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId), diff --git a/opentelemetry/resources.d.ts b/opentelemetry/resources.d.ts index 7775df4..d3fe71b 100644 --- a/opentelemetry/resources.d.ts +++ b/opentelemetry/resources.d.ts @@ -137,15 +137,6 @@ declare class HostDetector implements Detector { } declare const hostDetector: HostDetector; -/** - * OSDetector detects the resources related to the operating system (OS) on - * which the process represented by this resource is running. - */ -declare class OSDetector implements Detector { - detect(_config?: ResourceDetectionConfig): Promise; -} -declare const osDetector: OSDetector; - /** * HostDetectorSync detects the resources related to the host current process is * running on. Currently only non-cloud-based attributes are included. @@ -156,6 +147,15 @@ declare class HostDetectorSync implements DetectorSync { } declare const hostDetectorSync: HostDetectorSync; +/** + * OSDetector detects the resources related to the operating system (OS) on + * which the process represented by this resource is running. + */ +declare class OSDetector implements Detector { + detect(_config?: ResourceDetectionConfig): Promise; +} +declare const osDetector: OSDetector; + /** * OSDetectorSync detects the resources related to the operating system (OS) on * which the process represented by this resource is running. @@ -183,6 +183,17 @@ declare class ProcessDetectorSync implements DetectorSync { } declare const processDetectorSync: ProcessDetectorSync; +/** + * ServiceInstanceIdDetectorSync detects the resources related to the service instance ID. + */ +declare class ServiceInstanceIdDetectorSync implements DetectorSync { + detect(_config?: ResourceDetectionConfig): Resource; +} +/** + * @experimental + */ +declare const serviceInstanceIdDetectorSync: ServiceInstanceIdDetectorSync; + /** * BrowserDetector will be used to detect the resources related to browser. */ @@ -248,10 +259,10 @@ declare class EnvDetectorSync implements DetectorSync { * OTEL_RESOURCE_ATTRIBUTES: A comma-separated list of attributes describing * the source in more detail, e.g. “key1=val1,key2=val2”. Domain names and * paths are accepted as attribute keys. Values may be quoted or unquoted in - * general. If a value contains whitespaces, =, or " characters, it must + * general. If a value contains whitespace, =, or " characters, it must * always be quoted. * - * @param rawEnvAttributes The resource attributes as a comma-seperated list + * @param rawEnvAttributes The resource attributes as a comma-separated list * of key/value pairs. * @returns The sanitized resource attributes. */ @@ -292,4 +303,4 @@ declare const detectResources: (config?: ResourceDetectionConfig) => Promise IResource; -export { Detector, DetectorSync, IResource, Resource, ResourceAttributes, ResourceDetectionConfig, browserDetector, browserDetectorSync, defaultServiceName, detectResources, detectResourcesSync, envDetector, envDetectorSync, hostDetector, hostDetectorSync, osDetector, osDetectorSync, processDetector, processDetectorSync }; +export { Detector, DetectorSync, IResource, Resource, ResourceAttributes, ResourceDetectionConfig, browserDetector, browserDetectorSync, defaultServiceName, detectResources, detectResourcesSync, envDetector, envDetectorSync, hostDetector, hostDetectorSync, osDetector, osDetectorSync, processDetector, processDetectorSync, serviceInstanceIdDetectorSync }; diff --git a/opentelemetry/resources.js b/opentelemetry/resources.js index b109146..af22312 100644 --- a/opentelemetry/resources.js +++ b/opentelemetry/resources.js @@ -16,11 +16,12 @@ /// import { diag } from './api.js'; -import { SemanticResourceAttributes } from './semantic-conventions.js'; +import { SemanticResourceAttributes, SEMRESATTRS_SERVICE_INSTANCE_ID, SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, SEMRESATTRS_TELEMETRY_SDK_NAME, SEMRESATTRS_TELEMETRY_SDK_VERSION } from './semantic-conventions.js'; import { SDK_INFO, getEnv } from './core.js'; +import { randomUUID } from 'crypto'; function defaultServiceName() { return `unknown_service:deno`; @@ -128,6 +129,16 @@ class ProcessDetector { } const processDetector = new ProcessDetector(); +class ServiceInstanceIdDetectorSync { + detect(_config) { + const attributes = { + [SEMRESATTRS_SERVICE_INSTANCE_ID]: randomUUID(), + }; + return new Resource(attributes); + } +} +const serviceInstanceIdDetectorSync = new ServiceInstanceIdDetectorSync(); + class Resource { constructor( attributes, asyncAttributesPromise) { @@ -149,10 +160,10 @@ class Resource { } static default() { return new Resource({ - [SemanticResourceAttributes.SERVICE_NAME]: defaultServiceName(), - [SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE]: SDK_INFO[SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE], - [SemanticResourceAttributes.TELEMETRY_SDK_NAME]: SDK_INFO[SemanticResourceAttributes.TELEMETRY_SDK_NAME], - [SemanticResourceAttributes.TELEMETRY_SDK_VERSION]: SDK_INFO[SemanticResourceAttributes.TELEMETRY_SDK_VERSION], + [SEMRESATTRS_SERVICE_NAME]: defaultServiceName(), + [SEMRESATTRS_TELEMETRY_SDK_LANGUAGE]: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_LANGUAGE], + [SEMRESATTRS_TELEMETRY_SDK_NAME]: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_NAME], + [SEMRESATTRS_TELEMETRY_SDK_VERSION]: SDK_INFO[SEMRESATTRS_TELEMETRY_SDK_VERSION], }); } get attributes() { @@ -227,7 +238,7 @@ class EnvDetectorSync { } } if (serviceName) { - attributes[SemanticResourceAttributes.SERVICE_NAME] = serviceName; + attributes[SEMRESATTRS_SERVICE_NAME] = serviceName; } return new Resource(attributes); } @@ -281,7 +292,9 @@ const envDetector = new EnvDetector(); class BrowserDetectorSync { detect(config) { - const isBrowser = typeof navigator !== 'undefined'; + const isBrowser = typeof navigator !== 'undefined' && + global.process?.versions?.node === undefined && + global.Bun?.version === undefined; if (!isBrowser) { return Resource.empty(); } @@ -372,4 +385,4 @@ const logResources = (resources) => { }); }; -export { Resource, browserDetector, browserDetectorSync, defaultServiceName, detectResources, detectResourcesSync, envDetector, envDetectorSync, hostDetector, hostDetectorSync, osDetector, osDetectorSync, processDetector, processDetectorSync }; +export { Resource, browserDetector, browserDetectorSync, defaultServiceName, detectResources, detectResourcesSync, envDetector, envDetectorSync, hostDetector, hostDetectorSync, osDetector, osDetectorSync, processDetector, processDetectorSync, serviceInstanceIdDetectorSync }; diff --git a/opentelemetry/sdk-logs.d.ts b/opentelemetry/sdk-logs.d.ts index 10acadf..78b0cf2 100644 --- a/opentelemetry/sdk-logs.d.ts +++ b/opentelemetry/sdk-logs.d.ts @@ -16,7 +16,7 @@ import { IResource } from './resources.d.ts'; import * as logsAPI from './api-logs.d.ts'; -import { SeverityNumber, LogAttributes, Logger } from './api-logs.d.ts'; +import { SeverityNumber, LogBody, LogAttributes, Logger } from './api-logs.d.ts'; import * as api from './api.d.ts'; import { HrTime, SpanContext, AttributeValue, Context } from './api.d.ts'; import { InstrumentationScope, ExportResult } from './core.d.ts'; @@ -65,10 +65,11 @@ interface ReadableLogRecord { readonly spanContext?: SpanContext; readonly severityText?: string; readonly severityNumber?: SeverityNumber; - readonly body?: string; + readonly body?: LogBody; readonly resource: IResource; readonly instrumentationScope: InstrumentationScope; readonly attributes: LogAttributes; + readonly droppedAttributesCount: number; } declare class LoggerProviderSharedState { @@ -91,18 +92,20 @@ declare class LogRecord implements ReadableLogRecord { private _severityText?; private _severityNumber?; private _body?; + private totalAttributesCount; private _isReadonly; private readonly _logRecordLimits; set severityText(severityText: string | undefined); get severityText(): string | undefined; set severityNumber(severityNumber: logsAPI.SeverityNumber | undefined); get severityNumber(): logsAPI.SeverityNumber | undefined; - set body(body: string | undefined); - get body(): string | undefined; + set body(body: LogBody | undefined); + get body(): LogBody | undefined; + get droppedAttributesCount(): number; constructor(_sharedState: LoggerProviderSharedState, instrumentationScope: InstrumentationScope, logRecord: logsAPI.LogRecord); setAttribute(key: string, value?: LogAttributes | AttributeValue): this; setAttributes(attributes: LogAttributes): this; - setBody(body: string): this; + setBody(body: LogBody): this; setSeverityNumber(severityNumber: logsAPI.SeverityNumber): this; setSeverityText(severityText: string): this; /** @@ -210,6 +213,7 @@ declare class ConsoleLogRecordExporter implements LogRecordExporter { declare class SimpleLogRecordProcessor implements LogRecordProcessor { private readonly _exporter; private _shutdownOnce; + private _unresolvedExports; constructor(_exporter: LogRecordExporter); onEmit(logRecord: LogRecord): void; forceFlush(): Promise; diff --git a/opentelemetry/sdk-logs.js b/opentelemetry/sdk-logs.js index b3d462a..e36c349 100644 --- a/opentelemetry/sdk-logs.js +++ b/opentelemetry/sdk-logs.js @@ -19,11 +19,12 @@ import * as api from './api.js'; import { diag, context } from './api.js'; import { NOOP_LOGGER } from './api-logs.js'; import { Resource } from './resources.js'; -import { timeInputToHrTime, isAttributeValue, getEnv, getEnvWithoutDefaults, DEFAULT_ATTRIBUTE_COUNT_LIMIT, DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT, callWithTimeout, merge, BindOnceFuture, hrTimeToMicroseconds, ExportResultCode, globalErrorHandler, unrefTimer } from './core.js'; +import { timeInputToHrTime, isAttributeValue, getEnv, getEnvWithoutDefaults, DEFAULT_ATTRIBUTE_COUNT_LIMIT, DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT, callWithTimeout, merge, BindOnceFuture, hrTimeToMicroseconds, ExportResultCode, globalErrorHandler, internal, unrefTimer } from './core.js'; class LogRecord { constructor(_sharedState, instrumentationScope, logRecord) { this.attributes = {}; + this.totalAttributesCount = 0; this._isReadonly = false; const { timestamp, observedTimestamp, severityNumber, severityText, body, attributes = {}, context, } = logRecord; const now = Date.now(); @@ -70,6 +71,9 @@ class LogRecord { get body() { return this._body; } + get droppedAttributesCount() { + return this.totalAttributesCount - Object.keys(this.attributes).length; + } setAttribute(key, value) { if (this._isLogRecordReadonly()) { return this; @@ -77,25 +81,32 @@ class LogRecord { if (value === null) { return this; } - if (typeof value === 'object' && - !Array.isArray(value) && - Object.keys(value).length > 0) { - this.attributes[key] = value; - } if (key.length === 0) { api.diag.warn(`Invalid attribute key: ${key}`); return this; } - if (!isAttributeValue(value)) { + if (!isAttributeValue(value) && + !(typeof value === 'object' && + !Array.isArray(value) && + Object.keys(value).length > 0)) { api.diag.warn(`Invalid attribute value set for key: ${key}`); return this; } + this.totalAttributesCount += 1; if (Object.keys(this.attributes).length >= this._logRecordLimits.attributeCountLimit && !Object.prototype.hasOwnProperty.call(this.attributes, key)) { + if (this.droppedAttributesCount === 1) { + api.diag.warn('Dropping extra attributes.'); + } return this; } - this.attributes[key] = this._truncateToSize(value); + if (isAttributeValue(value)) { + this.attributes[key] = this._truncateToSize(value); + } + else { + this.attributes[key] = value; + } return this; } setAttributes(attributes) { @@ -228,8 +239,9 @@ class LoggerProviderSharedState { const DEFAULT_LOGGER_NAME = 'unknown'; class LoggerProvider { constructor(config = {}) { - const { resource = Resource.default(), logRecordLimits, forceFlushTimeoutMillis, } = merge({}, loadDefaultConfig(), config); - this._sharedState = new LoggerProviderSharedState(resource, forceFlushTimeoutMillis, reconfigureLimits(logRecordLimits)); + const mergedConfig = merge({}, loadDefaultConfig(), config); + const resource = Resource.default().merge(mergedConfig.resource ?? Resource.empty()); + this._sharedState = new LoggerProviderSharedState(resource, mergedConfig.forceFlushTimeoutMillis, reconfigureLimits(mergedConfig.logRecordLimits)); this._shutdownOnce = new BindOnceFuture(this._shutdown, this); } getLogger(name, version, options) { @@ -306,21 +318,38 @@ class SimpleLogRecordProcessor { constructor(_exporter) { this._exporter = _exporter; this._shutdownOnce = new BindOnceFuture(this._shutdown, this); + this._unresolvedExports = new Set(); } onEmit(logRecord) { if (this._shutdownOnce.isCalled) { return; } - this._exporter.export([logRecord], (res) => { - if (res.code !== ExportResultCode.SUCCESS) { - globalErrorHandler(res.error ?? - new Error(`SimpleLogRecordProcessor: log record export failed (status ${res})`)); - return; + const doExport = () => internal + ._export(this._exporter, [logRecord]) + .then((result) => { + if (result.code !== ExportResultCode.SUCCESS) { + globalErrorHandler(result.error ?? + new Error(`SimpleLogRecordProcessor: log record export failed (status ${result})`)); } - }); + }) + .catch(globalErrorHandler); + if (logRecord.resource.asyncAttributesPending) { + const exportPromise = logRecord.resource + .waitForAsyncAttributes?.() + .then(() => { + this._unresolvedExports.delete(exportPromise); + return doExport(); + }, globalErrorHandler); + if (exportPromise != null) { + this._unresolvedExports.add(exportPromise); + } + } + else { + void doExport(); + } } - forceFlush() { - return Promise.resolve(); + async forceFlush() { + await Promise.all(Array.from(this._unresolvedExports)); } shutdown() { return this._shutdownOnce.call(); @@ -453,16 +482,24 @@ class BatchLogRecordProcessorBase { } } _export(logRecords) { - return new Promise((resolve, reject) => { - this._exporter.export(logRecords, (res) => { - if (res.code !== ExportResultCode.SUCCESS) { - reject(res.error ?? - new Error(`BatchLogRecordProcessorBase: log record export failed (status ${res})`)); - return; - } - resolve(res); - }); - }); + const doExport = () => internal + ._export(this._exporter, logRecords) + .then((result) => { + if (result.code !== ExportResultCode.SUCCESS) { + globalErrorHandler(result.error ?? + new Error(`BatchLogRecordProcessor: log record export failed (status ${result})`)); + } + }) + .catch(globalErrorHandler); + const pendingResources = logRecords + .map(logRecord => logRecord.resource) + .filter(resource => resource.asyncAttributesPending); + if (pendingResources.length === 0) { + return doExport(); + } + else { + return Promise.all(pendingResources.map(resource => resource.waitForAsyncAttributes?.())).then(doExport, globalErrorHandler); + } } } diff --git a/opentelemetry/sdk-metrics.d.ts b/opentelemetry/sdk-metrics.d.ts index 8fc6d25..b4a0d03 100644 --- a/opentelemetry/sdk-metrics.d.ts +++ b/opentelemetry/sdk-metrics.d.ts @@ -15,7 +15,7 @@ */ import * as _opentelemetry_api from './api.d.ts'; -import { MetricAttributes, Context, HrTime, ValueType, MetricAdvice, MeterProvider as MeterProvider$1, MeterOptions, Meter } from './api.d.ts'; +import { MetricAttributes, Context, HrTime, ValueType, MeterProvider as MeterProvider$1, MeterOptions, Meter } from './api.d.ts'; import { InstrumentationScope, ExportResult } from './core.d.ts'; import { IResource } from './resources.d.ts'; @@ -463,11 +463,11 @@ declare class ExponentialHistogramAccumulation implements Accumulation { */ get zeroCount(): number; /** - * @returns {Number} The scale used by thie accumulation + * @returns {Number} The scale used by this accumulation */ get scale(): number; /** - * positive holds the postive values + * positive holds the positive values * @returns {Buckets} */ get positive(): Buckets; @@ -477,7 +477,7 @@ declare class ExponentialHistogramAccumulation implements Accumulation { */ get negative(): Buckets; /** - * uppdateByIncr supports updating a histogram with a non-negative + * updateByIncr supports updating a histogram with a non-negative * increment. * @param value * @param increment @@ -489,7 +489,7 @@ declare class ExponentialHistogramAccumulation implements Accumulation { */ merge(previous: ExponentialHistogramAccumulation): void; /** - * diff substracts other from self + * diff subtracts other from self * @param {ExponentialHistogramAccumulation} other */ diff(other: ExponentialHistogramAccumulation): void; @@ -546,7 +546,7 @@ declare class ExponentialHistogramAccumulation implements Accumulation { private _diffBuckets; } /** - * Aggregator for ExponentialHistogramAccumlations + * Aggregator for ExponentialHistogramAccumulations */ declare class ExponentialHistogramAggregator implements Aggregator { readonly _maxSize: number; @@ -859,6 +859,7 @@ declare class View { */ declare enum InstrumentType { COUNTER = "COUNTER", + GAUGE = "GAUGE", HISTOGRAM = "HISTOGRAM", UP_DOWN_COUNTER = "UP_DOWN_COUNTER", OBSERVABLE_COUNTER = "OBSERVABLE_COUNTER", @@ -879,8 +880,17 @@ interface InstrumentDescriptor$1 { readonly valueType: ValueType; /** * @experimental - */ - readonly advice: MetricAdvice; + * + * This is intentionally not using the API's type as it's only available from @opentelemetry/api 1.7.0 and up. + * In SDK 2.0 we'll be able to bump the minimum API version and remove this workaround. + */ + readonly advice: { + /** + * Hint the explicit bucket boundaries for SDK if the metric has been + * aggregated with a HistogramAggregator. + */ + explicitBucketBoundaries?: number[]; + }; } interface MetricDescriptor { @@ -1265,6 +1275,7 @@ interface MeterProviderOptions { /** Resource associated with metric telemetry */ resource?: IResource; views?: View[]; + readers?: MetricReader[]; } /** * This class implements the {@link MeterProvider} interface. @@ -1281,7 +1292,13 @@ declare class MeterProvider implements MeterProvider$1 { * Register a {@link MetricReader} to the meter provider. After the * registration, the MetricReader can start metrics collection. * + *

NOTE: {@link MetricReader} instances MUST be added before creating any instruments. + * A {@link MetricReader} instance registered later may receive no or incomplete metric data. + * * @param metricReader the metric reader to be registered. + * + * @deprecated This method will be removed in SDK 2.0. Please use + * {@link MeterProviderOptions.readers} via the {@link MeterProvider} constructor instead */ addMetricReader(metricReader: MetricReader): void; /** diff --git a/opentelemetry/sdk-metrics.js b/opentelemetry/sdk-metrics.js index c3fa2f5..da95437 100644 --- a/opentelemetry/sdk-metrics.js +++ b/opentelemetry/sdk-metrics.js @@ -160,6 +160,7 @@ class DropAggregator { var InstrumentType; (function (InstrumentType) { InstrumentType["COUNTER"] = "COUNTER"; + InstrumentType["GAUGE"] = "GAUGE"; InstrumentType["HISTOGRAM"] = "HISTOGRAM"; InstrumentType["UP_DOWN_COUNTER"] = "UP_DOWN_COUNTER"; InstrumentType["OBSERVABLE_COUNTER"] = "OBSERVABLE_COUNTER"; @@ -223,6 +224,9 @@ class HistogramAccumulation { this._current = _current; } record(value) { + if (Number.isNaN(value)) { + return; + } this._current.count += 1; this._current.sum += value; if (this._recordMinMax) { @@ -315,7 +319,8 @@ class HistogramAggregator { dataPointType: DataPointType.HISTOGRAM, dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => { const pointValue = accumulation.toPointValue(); - const allowsNegativeValues = descriptor.type === InstrumentType.UP_DOWN_COUNTER || + const allowsNegativeValues = descriptor.type === InstrumentType.GAUGE || + descriptor.type === InstrumentType.UP_DOWN_COUNTER || descriptor.type === InstrumentType.OBSERVABLE_GAUGE || descriptor.type === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER; return { @@ -724,6 +729,9 @@ class ExponentialHistogramAccumulation { return this._negative; } updateByIncrement(value, increment) { + if (Number.isNaN(value)) { + return; + } if (value > this._max) { this._max = value; } @@ -812,6 +820,9 @@ class ExponentialHistogramAccumulation { if (increment === 0) { return; } + if (buckets.length === 0) { + buckets.indexStart = buckets.indexEnd = buckets.indexBase = index; + } if (index < buckets.indexStart) { const span = buckets.indexEnd - index; if (span >= buckets.backing.length) { @@ -924,7 +935,8 @@ class ExponentialHistogramAggregator { dataPointType: DataPointType.EXPONENTIAL_HISTOGRAM, dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => { const pointValue = accumulation.toPointValue(); - const allowsNegativeValues = descriptor.type === InstrumentType.UP_DOWN_COUNTER || + const allowsNegativeValues = descriptor.type === InstrumentType.GAUGE || + descriptor.type === InstrumentType.UP_DOWN_COUNTER || descriptor.type === InstrumentType.OBSERVABLE_GAUGE || descriptor.type === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER; return { @@ -1128,8 +1140,8 @@ class ExplicitBucketHistogramAggregation extends Aggregation { constructor(boundaries, _recordMinMax = true) { super(); this._recordMinMax = _recordMinMax; - if (boundaries === undefined || boundaries.length === 0) { - throw new Error('HistogramAggregator should be created with boundaries.'); + if (boundaries == null) { + throw new Error('ExplicitBucketHistogramAggregation should be created with explicit boundaries, if a single bucket histogram is required, please pass an empty array'); } boundaries = boundaries.concat(); boundaries = boundaries.sort((a, b) => a - b); @@ -1163,6 +1175,7 @@ class DefaultAggregation extends Aggregation { case InstrumentType.OBSERVABLE_UP_DOWN_COUNTER: { return SUM_AGGREGATION; } + case InstrumentType.GAUGE: case InstrumentType.OBSERVABLE_GAUGE: { return LAST_VALUE_AGGREGATION; } @@ -1405,7 +1418,7 @@ class ConsoleMetricExporter { descriptor: metric.descriptor, dataPointType: metric.dataPointType, dataPoints: metric.dataPoints, - }); + }, { depth: null }); } } done({ code: ExportResultCode.SUCCESS }); @@ -1476,6 +1489,11 @@ class CounterInstrument extends SyncInstrument { this._record(value, attributes, ctx); } } +class GaugeInstrument extends SyncInstrument { + record(value, attributes, ctx) { + this._record(value, attributes, ctx); + } +} class HistogramInstrument extends SyncInstrument { record(value, attributes, ctx) { if (value < 0) { @@ -1512,6 +1530,11 @@ class Meter { constructor(_meterSharedState) { this._meterSharedState = _meterSharedState; } + createGauge(name, options) { + const descriptor = createInstrumentDescriptor(name, InstrumentType.GAUGE, options); + const storage = this._meterSharedState.registerMetricStorage(descriptor); + return new GaugeInstrument(storage, descriptor); + } createHistogram(name, options) { const descriptor = createInstrumentDescriptor(name, InstrumentType.HISTOGRAM, options); const storage = this._meterSharedState.registerMetricStorage(descriptor); @@ -2259,6 +2282,11 @@ class MeterProvider { this._sharedState.viewRegistry.addView(view); } } + if (options?.readers != null && options.readers.length > 0) { + for (const metricReader of options.readers) { + this.addMetricReader(metricReader); + } + } } getMeter(name, version = '', options = {}) { if (this._shutdown) { diff --git a/opentelemetry/sdk-trace-base.d.ts b/opentelemetry/sdk-trace-base.d.ts index db388bc..d3928c0 100644 --- a/opentelemetry/sdk-trace-base.d.ts +++ b/opentelemetry/sdk-trace-base.d.ts @@ -313,7 +313,8 @@ declare class Span implements Span$1, ReadableSpan { * * @deprecated calling Span constructor directly is not supported. Please use tracer.startSpan. * */ - constructor(parentTracer: Tracer, context: Context, spanName: string, spanContext: SpanContext, kind: SpanKind, parentSpanId?: string, links?: Link[], startTime?: TimeInput, _deprecatedClock?: unknown); + constructor(parentTracer: Tracer, context: Context, spanName: string, spanContext: SpanContext, kind: SpanKind, parentSpanId?: string, links?: Link[], startTime?: TimeInput, _deprecatedClock?: unknown, // keeping this argument even though it is unused to ensure backwards compatibility + attributes?: SpanAttributes); spanContext(): SpanContext; setAttribute(key: string, value?: SpanAttributeValue): this; setAttributes(attributes: SpanAttributes): this; @@ -340,7 +341,7 @@ declare class Span implements Span$1, ReadableSpan { private _truncateToLimitUtil; /** * If the given attribute value is of type string and has more characters than given {@code attributeValueLengthLimit} then - * return string with trucated to {@code attributeValueLengthLimit} characters + * return string with truncated to {@code attributeValueLengthLimit} characters * * If the given attribute value is array of strings then * return new array of strings with each element truncated to {@code attributeValueLengthLimit} characters diff --git a/opentelemetry/sdk-trace-base.js b/opentelemetry/sdk-trace-base.js index 74be823..aff7f61 100644 --- a/opentelemetry/sdk-trace-base.js +++ b/opentelemetry/sdk-trace-base.js @@ -24,8 +24,8 @@ import { Resource } from './resources.js'; const ExceptionEventName = 'exception'; class Span { - constructor(parentTracer, context, spanName, spanContext, kind, parentSpanId, links = [], startTime, _deprecatedClock - ) { + constructor(parentTracer, context, spanName, spanContext, kind, parentSpanId, links = [], startTime, _deprecatedClock, + attributes) { this.attributes = {}; this.links = []; this.events = []; @@ -52,10 +52,13 @@ class Span { this.resource = parentTracer.resource; this.instrumentationLibrary = parentTracer.instrumentationLibrary; this._spanLimits = parentTracer.getSpanLimits(); - this._spanProcessor = parentTracer.getActiveSpanProcessor(); - this._spanProcessor.onStart(this, context); this._attributeValueLengthLimit = this._spanLimits.attributeValueLengthLimit || 0; + if (attributes != null) { + this.setAttributes(attributes); + } + this._spanProcessor = parentTracer.getActiveSpanProcessor(); + this._spanProcessor.onStart(this, context); } spanContext() { return this._spanContext; @@ -95,7 +98,9 @@ class Span { return this; } if (this.events.length >= this._spanLimits.eventCountLimit) { - diag.warn('Dropping extra events.'); + if (this._droppedEventsCount === 0) { + diag.debug('Dropping extra events.'); + } this.events.shift(); this._droppedEventsCount++; } @@ -139,6 +144,9 @@ class Span { this.endTime = this.startTime.slice(); this._duration = [0, 0]; } + if (this._droppedEventsCount > 0) { + diag.warn(`Dropped ${this._droppedEventsCount} events because eventCountLimit reached`); + } this._spanProcessor.onEnd(this); } _getTime(inp) { @@ -523,7 +531,14 @@ class BatchSpanProcessorBase { reject(new Error('Timeout')); }, this._exportTimeoutMillis); context.with(suppressTracing(context.active()), () => { - const spans = this._finishedSpans.splice(0, this._maxExportBatchSize); + let spans; + if (this._finishedSpans.length <= this._maxExportBatchSize) { + spans = this._finishedSpans; + this._finishedSpans = []; + } + else { + spans = this._finishedSpans.splice(0, this._maxExportBatchSize); + } const doExport = () => this._exporter.export(spans, result => { clearTimeout(timer); if (result.code === ExportResultCode.SUCCESS) { @@ -534,14 +549,20 @@ class BatchSpanProcessorBase { new Error('BatchSpanProcessor: span export failed')); } }); - const pendingResources = spans - .map(span => span.resource) - .filter(resource => resource.asyncAttributesPending); - if (pendingResources.length === 0) { + let pendingResources = null; + for (let i = 0, len = spans.length; i < len; i++) { + const span = spans[i]; + if (span.resource.asyncAttributesPending && + span.resource.waitForAsyncAttributes) { + pendingResources ??= []; + pendingResources.push(span.resource.waitForAsyncAttributes()); + } + } + if (pendingResources === null) { doExport(); } else { - Promise.all(pendingResources.map(resource => resource.waitForAsyncAttributes?.())).then(doExport, err => { + Promise.all(pendingResources).then(doExport, err => { globalErrorHandler(err); reject(err); }); @@ -555,7 +576,7 @@ class BatchSpanProcessorBase { const flush = () => { this._isExporting = true; this._flushOneBatch() - .then(() => { + .finally(() => { this._isExporting = false; if (this._finishedSpans.length > 0) { this._clearTimer(); @@ -662,9 +683,8 @@ class Tracer { const nonRecordingSpan = api.trace.wrapSpanContext(spanContext); return nonRecordingSpan; } - const span = new Span(this, context, name, spanContext, spanKind, parentSpanId, links, options.startTime); const initAttributes = sanitizeAttributes(Object.assign(attributes, samplingResult.attributes)); - span.setAttributes(initAttributes); + const span = new Span(this, context, name, spanContext, spanKind, parentSpanId, links, options.startTime, undefined, initAttributes); return span; } startActiveSpan(name, arg2, arg3, arg4) { @@ -918,6 +938,9 @@ class ConsoleSpanExporter { } _exportInfo(span) { return { + resource: { + attributes: span.resource.attributes, + }, traceId: span.spanContext().traceId, parentId: span.parentSpanId, traceState: span.spanContext().traceState?.serialize(), diff --git a/opentelemetry/semantic-conventions.d.ts b/opentelemetry/semantic-conventions.d.ts index 8c9d6b7..54124d0 100644 --- a/opentelemetry/semantic-conventions.d.ts +++ b/opentelemetry/semantic-conventions.d.ts @@ -14,117 +14,701 @@ * limitations under the License. */ -declare const SemanticAttributes: { +/** + * The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). + * + * Note: This may be different from `faas.id` if an alias is involved. + */ +declare const SEMATTRS_AWS_LAMBDA_INVOKED_ARN = "aws.lambda.invoked_arn"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const SEMATTRS_DB_SYSTEM = "db.system"; +/** + * The connection string used to connect to the database. It is recommended to remove embedded credentials. + */ +declare const SEMATTRS_DB_CONNECTION_STRING = "db.connection_string"; +/** + * Username for accessing the database. + */ +declare const SEMATTRS_DB_USER = "db.user"; +/** + * The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. + */ +declare const SEMATTRS_DB_JDBC_DRIVER_CLASSNAME = "db.jdbc.driver_classname"; +/** + * If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, this attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). + * + * Note: In some SQL databases, the database name to be used is called "schema name". + */ +declare const SEMATTRS_DB_NAME = "db.name"; +/** + * The database statement being executed. + * + * Note: The value may be sanitized to exclude sensitive information. + */ +declare const SEMATTRS_DB_STATEMENT = "db.statement"; +/** + * The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. + * + * Note: When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted. + */ +declare const SEMATTRS_DB_OPERATION = "db.operation"; +/** + * The Microsoft SQL Server [instance name](https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15) connecting to. This name is used to determine the port of a named instance. + * + * Note: If setting a `db.mssql.instance_name`, `net.peer.port` is no longer required (but still recommended if non-standard). + */ +declare const SEMATTRS_DB_MSSQL_INSTANCE_NAME = "db.mssql.instance_name"; +/** + * The name of the keyspace being accessed. To be used instead of the generic `db.name` attribute. + */ +declare const SEMATTRS_DB_CASSANDRA_KEYSPACE = "db.cassandra.keyspace"; +/** + * The fetch size used for paging, i.e. how many rows will be returned at once. + */ +declare const SEMATTRS_DB_CASSANDRA_PAGE_SIZE = "db.cassandra.page_size"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL = "db.cassandra.consistency_level"; +/** + * The name of the primary table that the operation is acting upon, including the schema name (if applicable). + * + * Note: This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. + */ +declare const SEMATTRS_DB_CASSANDRA_TABLE = "db.cassandra.table"; +/** + * Whether or not the query is idempotent. + */ +declare const SEMATTRS_DB_CASSANDRA_IDEMPOTENCE = "db.cassandra.idempotence"; +/** + * The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. + */ +declare const SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = "db.cassandra.speculative_execution_count"; +/** + * The ID of the coordinating node for a query. + */ +declare const SEMATTRS_DB_CASSANDRA_COORDINATOR_ID = "db.cassandra.coordinator.id"; +/** + * The data center of the coordinating node for a query. + */ +declare const SEMATTRS_DB_CASSANDRA_COORDINATOR_DC = "db.cassandra.coordinator.dc"; +/** + * The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being accessed. To be used instead of the generic `db.name` attribute. + */ +declare const SEMATTRS_DB_HBASE_NAMESPACE = "db.hbase.namespace"; +/** + * The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. + */ +declare const SEMATTRS_DB_REDIS_DATABASE_INDEX = "db.redis.database_index"; +/** + * The collection being accessed within the database stated in `db.name`. + */ +declare const SEMATTRS_DB_MONGODB_COLLECTION = "db.mongodb.collection"; +/** + * The name of the primary table that the operation is acting upon, including the schema name (if applicable). + * + * Note: It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. + */ +declare const SEMATTRS_DB_SQL_TABLE = "db.sql.table"; +/** + * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. + */ +declare const SEMATTRS_EXCEPTION_TYPE = "exception.type"; +/** + * The exception message. + */ +declare const SEMATTRS_EXCEPTION_MESSAGE = "exception.message"; +/** + * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. + */ +declare const SEMATTRS_EXCEPTION_STACKTRACE = "exception.stacktrace"; +/** +* SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. +* +* Note: An exception is considered to have escaped (or left) the scope of a span, +if that span is ended while the exception is still logically "in flight". +This may be actually "in flight" in some languages (e.g. if the exception +is passed to a Context manager's `__exit__` method in Python) but will +usually be caught at the point of recording the exception in most languages. + +It is usually not possible to determine at the point where an exception is thrown +whether it will escape the scope of a span. +However, it is trivial to know that an exception +will escape, if one checks for an active exception just before ending the span, +as done in the [example above](#exception-end-example). + +It follows that an exception may still escape the scope of the span +even if the `exception.escaped` attribute was not set or set to false, +since the event might have been recorded at a time where it was not +clear whether the exception will escape. +*/ +declare const SEMATTRS_EXCEPTION_ESCAPED = "exception.escaped"; +/** + * Type of the trigger on which the function is executed. + */ +declare const SEMATTRS_FAAS_TRIGGER = "faas.trigger"; +/** + * The execution ID of the current function execution. + */ +declare const SEMATTRS_FAAS_EXECUTION = "faas.execution"; +/** + * The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. + */ +declare const SEMATTRS_FAAS_DOCUMENT_COLLECTION = "faas.document.collection"; +/** + * Describes the type of the operation that was performed on the data. + */ +declare const SEMATTRS_FAAS_DOCUMENT_OPERATION = "faas.document.operation"; +/** + * A string containing the time when the data was accessed in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). + */ +declare const SEMATTRS_FAAS_DOCUMENT_TIME = "faas.document.time"; +/** + * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. + */ +declare const SEMATTRS_FAAS_DOCUMENT_NAME = "faas.document.name"; +/** + * A string containing the function invocation time in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). + */ +declare const SEMATTRS_FAAS_TIME = "faas.time"; +/** + * A string containing the schedule period as [Cron Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). + */ +declare const SEMATTRS_FAAS_CRON = "faas.cron"; +/** + * A boolean that is true if the serverless function is executed for the first time (aka cold-start). + */ +declare const SEMATTRS_FAAS_COLDSTART = "faas.coldstart"; +/** + * The name of the invoked function. + * + * Note: SHOULD be equal to the `faas.name` resource attribute of the invoked function. + */ +declare const SEMATTRS_FAAS_INVOKED_NAME = "faas.invoked_name"; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +declare const SEMATTRS_FAAS_INVOKED_PROVIDER = "faas.invoked_provider"; +/** + * The cloud region of the invoked function. + * + * Note: SHOULD be equal to the `cloud.region` resource attribute of the invoked function. + */ +declare const SEMATTRS_FAAS_INVOKED_REGION = "faas.invoked_region"; +/** + * Transport protocol used. See note below. + */ +declare const SEMATTRS_NET_TRANSPORT = "net.transport"; +/** + * Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6). + */ +declare const SEMATTRS_NET_PEER_IP = "net.peer.ip"; +/** + * Remote port number. + */ +declare const SEMATTRS_NET_PEER_PORT = "net.peer.port"; +/** + * Remote hostname or similar, see note below. + */ +declare const SEMATTRS_NET_PEER_NAME = "net.peer.name"; +/** + * Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host. + */ +declare const SEMATTRS_NET_HOST_IP = "net.host.ip"; +/** + * Like `net.peer.port` but for the host port. + */ +declare const SEMATTRS_NET_HOST_PORT = "net.host.port"; +/** + * Local hostname or similar, see note below. + */ +declare const SEMATTRS_NET_HOST_NAME = "net.host.name"; +/** + * The internet connection type currently being used by the host. + */ +declare const SEMATTRS_NET_HOST_CONNECTION_TYPE = "net.host.connection.type"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const SEMATTRS_NET_HOST_CONNECTION_SUBTYPE = "net.host.connection.subtype"; +/** + * The name of the mobile carrier. + */ +declare const SEMATTRS_NET_HOST_CARRIER_NAME = "net.host.carrier.name"; +/** + * The mobile carrier country code. + */ +declare const SEMATTRS_NET_HOST_CARRIER_MCC = "net.host.carrier.mcc"; +/** + * The mobile carrier network code. + */ +declare const SEMATTRS_NET_HOST_CARRIER_MNC = "net.host.carrier.mnc"; +/** + * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. + */ +declare const SEMATTRS_NET_HOST_CARRIER_ICC = "net.host.carrier.icc"; +/** + * The [`service.name`](../../resource/semantic_conventions/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. + */ +declare const SEMATTRS_PEER_SERVICE = "peer.service"; +/** + * Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. + */ +declare const SEMATTRS_ENDUSER_ID = "enduser.id"; +/** + * Actual/assumed role the client is making the request under extracted from token or application security context. + */ +declare const SEMATTRS_ENDUSER_ROLE = "enduser.role"; +/** + * Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). + */ +declare const SEMATTRS_ENDUSER_SCOPE = "enduser.scope"; +/** + * Current "managed" thread ID (as opposed to OS thread ID). + */ +declare const SEMATTRS_THREAD_ID = "thread.id"; +/** + * Current thread name. + */ +declare const SEMATTRS_THREAD_NAME = "thread.name"; +/** + * The method or function name, or equivalent (usually rightmost part of the code unit's name). + */ +declare const SEMATTRS_CODE_FUNCTION = "code.function"; +/** + * The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. + */ +declare const SEMATTRS_CODE_NAMESPACE = "code.namespace"; +/** + * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). + */ +declare const SEMATTRS_CODE_FILEPATH = "code.filepath"; +/** + * The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. + */ +declare const SEMATTRS_CODE_LINENO = "code.lineno"; +/** + * HTTP request method. + */ +declare const SEMATTRS_HTTP_METHOD = "http.method"; +/** + * Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]`. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless. + * + * Note: `http.url` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case the attribute's value should be `https://www.example.com/`. + */ +declare const SEMATTRS_HTTP_URL = "http.url"; +/** + * The full request target as passed in a HTTP request line or equivalent. + */ +declare const SEMATTRS_HTTP_TARGET = "http.target"; +/** + * The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). An empty Host header should also be reported, see note. + * + * Note: When the header is present but empty the attribute SHOULD be set to the empty string. Note that this is a valid situation that is expected in certain cases, according the aforementioned [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is not set the attribute MUST NOT be set. + */ +declare const SEMATTRS_HTTP_HOST = "http.host"; +/** + * The URI scheme identifying the used protocol. + */ +declare const SEMATTRS_HTTP_SCHEME = "http.scheme"; +/** + * [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). + */ +declare const SEMATTRS_HTTP_STATUS_CODE = "http.status_code"; +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +declare const SEMATTRS_HTTP_FLAVOR = "http.flavor"; +/** + * Value of the [HTTP User-Agent](https://tools.ietf.org/html/rfc7231#section-5.5.3) header sent by the client. + */ +declare const SEMATTRS_HTTP_USER_AGENT = "http.user_agent"; +/** + * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. + */ +declare const SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH = "http.request_content_length"; +/** + * The size of the uncompressed request payload body after transport decoding. Not set if transport encoding not used. + */ +declare const SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = "http.request_content_length_uncompressed"; +/** + * The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. + */ +declare const SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH = "http.response_content_length"; +/** + * The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. + */ +declare const SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = "http.response_content_length_uncompressed"; +/** + * The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). + * + * Note: `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. open-telemetry/opentelemetry-python/pull/148). It is thus preferred to supply the raw data that is available. + */ +declare const SEMATTRS_HTTP_SERVER_NAME = "http.server_name"; +/** + * The matched route (path template). + */ +declare const SEMATTRS_HTTP_ROUTE = "http.route"; +/** +* The IP address of the original client behind all proxies, if known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). +* +* Note: This is not necessarily the same as `net.peer.ip`, which would +identify the network-level peer, which may be a proxy. + +This attribute should be set when a source of information different +from the one used for `net.peer.ip`, is available even if that other +source just confirms the same value as `net.peer.ip`. +Rationale: For `net.peer.ip`, one typically does not know if it +comes from a proxy, reverse proxy, or the actual client. Setting +`http.client_ip` when it's the same as `net.peer.ip` means that +one is at least somewhat confident that the address is not that of +the closest proxy. +*/ +declare const SEMATTRS_HTTP_CLIENT_IP = "http.client_ip"; +/** + * The keys in the `RequestItems` object field. + */ +declare const SEMATTRS_AWS_DYNAMODB_TABLE_NAMES = "aws.dynamodb.table_names"; +/** + * The JSON-serialized value of each item in the `ConsumedCapacity` response field. + */ +declare const SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY = "aws.dynamodb.consumed_capacity"; +/** + * The JSON-serialized value of the `ItemCollectionMetrics` response field. + */ +declare const SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = "aws.dynamodb.item_collection_metrics"; +/** + * The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = "aws.dynamodb.provisioned_read_capacity"; +/** + * The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = "aws.dynamodb.provisioned_write_capacity"; +/** + * The value of the `ConsistentRead` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ = "aws.dynamodb.consistent_read"; +/** + * The value of the `ProjectionExpression` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_PROJECTION = "aws.dynamodb.projection"; +/** + * The value of the `Limit` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_LIMIT = "aws.dynamodb.limit"; +/** + * The value of the `AttributesToGet` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET = "aws.dynamodb.attributes_to_get"; +/** + * The value of the `IndexName` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_INDEX_NAME = "aws.dynamodb.index_name"; +/** + * The value of the `Select` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_SELECT = "aws.dynamodb.select"; +/** + * The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field. + */ +declare const SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = "aws.dynamodb.global_secondary_indexes"; +/** + * The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. + */ +declare const SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = "aws.dynamodb.local_secondary_indexes"; +/** + * The value of the `ExclusiveStartTableName` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = "aws.dynamodb.exclusive_start_table"; +/** + * The the number of items in the `TableNames` response parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_TABLE_COUNT = "aws.dynamodb.table_count"; +/** + * The value of the `ScanIndexForward` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD = "aws.dynamodb.scan_forward"; +/** + * The value of the `Segment` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_SEGMENT = "aws.dynamodb.segment"; +/** + * The value of the `TotalSegments` request parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS = "aws.dynamodb.total_segments"; +/** + * The value of the `Count` response parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_COUNT = "aws.dynamodb.count"; +/** + * The value of the `ScannedCount` response parameter. + */ +declare const SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT = "aws.dynamodb.scanned_count"; +/** + * The JSON-serialized value of each item in the `AttributeDefinitions` request field. + */ +declare const SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = "aws.dynamodb.attribute_definitions"; +/** + * The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` request field. + */ +declare const SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = "aws.dynamodb.global_secondary_index_updates"; +/** + * A string identifying the messaging system. + */ +declare const SEMATTRS_MESSAGING_SYSTEM = "messaging.system"; +/** + * The message destination name. This might be equal to the span name but is required nevertheless. + */ +declare const SEMATTRS_MESSAGING_DESTINATION = "messaging.destination"; +/** + * The kind of message destination. + */ +declare const SEMATTRS_MESSAGING_DESTINATION_KIND = "messaging.destination_kind"; +/** + * A boolean that is true if the message destination is temporary. + */ +declare const SEMATTRS_MESSAGING_TEMP_DESTINATION = "messaging.temp_destination"; +/** + * The name of the transport protocol. + */ +declare const SEMATTRS_MESSAGING_PROTOCOL = "messaging.protocol"; +/** + * The version of the transport protocol. + */ +declare const SEMATTRS_MESSAGING_PROTOCOL_VERSION = "messaging.protocol_version"; +/** + * Connection string. + */ +declare const SEMATTRS_MESSAGING_URL = "messaging.url"; +/** + * A value used by the messaging system as an identifier for the message, represented as a string. + */ +declare const SEMATTRS_MESSAGING_MESSAGE_ID = "messaging.message_id"; +/** + * The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". + */ +declare const SEMATTRS_MESSAGING_CONVERSATION_ID = "messaging.conversation_id"; +/** + * The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported. + */ +declare const SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = "messaging.message_payload_size_bytes"; +/** + * The compressed size of the message payload in bytes. + */ +declare const SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = "messaging.message_payload_compressed_size_bytes"; +/** + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + */ +declare const SEMATTRS_MESSAGING_OPERATION = "messaging.operation"; +/** + * The identifier for the consumer receiving a message. For Kafka, set it to `{messaging.kafka.consumer_group} - {messaging.kafka.client_id}`, if both are present, or only `messaging.kafka.consumer_group`. For brokers, such as RabbitMQ and Artemis, set it to the `client_id` of the client consuming the message. + */ +declare const SEMATTRS_MESSAGING_CONSUMER_ID = "messaging.consumer_id"; +/** + * RabbitMQ message routing key. + */ +declare const SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY = "messaging.rabbitmq.routing_key"; +/** + * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message_id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. + * + * Note: If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value. + */ +declare const SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY = "messaging.kafka.message_key"; +/** + * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. + */ +declare const SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP = "messaging.kafka.consumer_group"; +/** + * Client Id for the Consumer or Producer that is handling the message. + */ +declare const SEMATTRS_MESSAGING_KAFKA_CLIENT_ID = "messaging.kafka.client_id"; +/** + * Partition the message is sent to. + */ +declare const SEMATTRS_MESSAGING_KAFKA_PARTITION = "messaging.kafka.partition"; +/** + * A boolean that is true if the message is a tombstone. + */ +declare const SEMATTRS_MESSAGING_KAFKA_TOMBSTONE = "messaging.kafka.tombstone"; +/** + * A string identifying the remoting system. + */ +declare const SEMATTRS_RPC_SYSTEM = "rpc.system"; +/** + * The full (logical) name of the service being called, including its package name, if applicable. + * + * Note: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). + */ +declare const SEMATTRS_RPC_SERVICE = "rpc.service"; +/** + * The name of the (logical) method being called, must be equal to the $method part in the span name. + * + * Note: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). + */ +declare const SEMATTRS_RPC_METHOD = "rpc.method"; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const SEMATTRS_RPC_GRPC_STATUS_CODE = "rpc.grpc.status_code"; +/** + * Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted. + */ +declare const SEMATTRS_RPC_JSONRPC_VERSION = "rpc.jsonrpc.version"; +/** + * `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of `null` value. Omit entirely if this is a notification. + */ +declare const SEMATTRS_RPC_JSONRPC_REQUEST_ID = "rpc.jsonrpc.request_id"; +/** + * `error.code` property of response if it is an error response. + */ +declare const SEMATTRS_RPC_JSONRPC_ERROR_CODE = "rpc.jsonrpc.error_code"; +/** + * `error.message` property of response if it is an error response. + */ +declare const SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE = "rpc.jsonrpc.error_message"; +/** + * Whether this is a received or sent message. + */ +declare const SEMATTRS_MESSAGE_TYPE = "message.type"; +/** + * MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. + * + * Note: This way we guarantee that the values will be consistent between different implementations. + */ +declare const SEMATTRS_MESSAGE_ID = "message.id"; +/** + * Compressed size of the message in bytes. + */ +declare const SEMATTRS_MESSAGE_COMPRESSED_SIZE = "message.compressed_size"; +/** + * Uncompressed size of the message in bytes. + */ +declare const SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE = "message.uncompressed_size"; +/** + * Definition of available values for SemanticAttributes + * This type is used for backward compatibility, you should use the individual exported + * constants SemanticAttributes_XXXXX rather than the exported constant map. As any single reference + * to a constant map value will result in all strings being included into your bundle. + * @deprecated Use the SEMATTRS_XXXXX constants rather than the SemanticAttributes.XXXXX for bundle minification. + */ +declare type SemanticAttributes = { /** * The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). * * Note: This may be different from `faas.id` if an alias is involved. */ - AWS_LAMBDA_INVOKED_ARN: string; + AWS_LAMBDA_INVOKED_ARN: 'aws.lambda.invoked_arn'; /** * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. */ - DB_SYSTEM: string; + DB_SYSTEM: 'db.system'; /** * The connection string used to connect to the database. It is recommended to remove embedded credentials. */ - DB_CONNECTION_STRING: string; + DB_CONNECTION_STRING: 'db.connection_string'; /** * Username for accessing the database. */ - DB_USER: string; + DB_USER: 'db.user'; /** * The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. */ - DB_JDBC_DRIVER_CLASSNAME: string; + DB_JDBC_DRIVER_CLASSNAME: 'db.jdbc.driver_classname'; /** * If no [tech-specific attribute](#call-level-attributes-for-specific-technologies) is defined, this attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). * * Note: In some SQL databases, the database name to be used is called "schema name". */ - DB_NAME: string; + DB_NAME: 'db.name'; /** * The database statement being executed. * * Note: The value may be sanitized to exclude sensitive information. */ - DB_STATEMENT: string; + DB_STATEMENT: 'db.statement'; /** * The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. * * Note: When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted. */ - DB_OPERATION: string; + DB_OPERATION: 'db.operation'; /** * The Microsoft SQL Server [instance name](https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url?view=sql-server-ver15) connecting to. This name is used to determine the port of a named instance. * * Note: If setting a `db.mssql.instance_name`, `net.peer.port` is no longer required (but still recommended if non-standard). */ - DB_MSSQL_INSTANCE_NAME: string; + DB_MSSQL_INSTANCE_NAME: 'db.mssql.instance_name'; /** * The name of the keyspace being accessed. To be used instead of the generic `db.name` attribute. */ - DB_CASSANDRA_KEYSPACE: string; + DB_CASSANDRA_KEYSPACE: 'db.cassandra.keyspace'; /** * The fetch size used for paging, i.e. how many rows will be returned at once. */ - DB_CASSANDRA_PAGE_SIZE: string; + DB_CASSANDRA_PAGE_SIZE: 'db.cassandra.page_size'; /** * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). */ - DB_CASSANDRA_CONSISTENCY_LEVEL: string; + DB_CASSANDRA_CONSISTENCY_LEVEL: 'db.cassandra.consistency_level'; /** * The name of the primary table that the operation is acting upon, including the schema name (if applicable). * * Note: This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. */ - DB_CASSANDRA_TABLE: string; + DB_CASSANDRA_TABLE: 'db.cassandra.table'; /** * Whether or not the query is idempotent. */ - DB_CASSANDRA_IDEMPOTENCE: string; + DB_CASSANDRA_IDEMPOTENCE: 'db.cassandra.idempotence'; /** * The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. */ - DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: string; + DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: 'db.cassandra.speculative_execution_count'; /** * The ID of the coordinating node for a query. */ - DB_CASSANDRA_COORDINATOR_ID: string; + DB_CASSANDRA_COORDINATOR_ID: 'db.cassandra.coordinator.id'; /** * The data center of the coordinating node for a query. */ - DB_CASSANDRA_COORDINATOR_DC: string; + DB_CASSANDRA_COORDINATOR_DC: 'db.cassandra.coordinator.dc'; /** * The [HBase namespace](https://hbase.apache.org/book.html#_namespace) being accessed. To be used instead of the generic `db.name` attribute. */ - DB_HBASE_NAMESPACE: string; + DB_HBASE_NAMESPACE: 'db.hbase.namespace'; /** * The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. */ - DB_REDIS_DATABASE_INDEX: string; + DB_REDIS_DATABASE_INDEX: 'db.redis.database_index'; /** * The collection being accessed within the database stated in `db.name`. */ - DB_MONGODB_COLLECTION: string; + DB_MONGODB_COLLECTION: 'db.mongodb.collection'; /** * The name of the primary table that the operation is acting upon, including the schema name (if applicable). * * Note: It is not recommended to attempt any client-side parsing of `db.statement` just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. */ - DB_SQL_TABLE: string; + DB_SQL_TABLE: 'db.sql.table'; /** * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. */ - EXCEPTION_TYPE: string; + EXCEPTION_TYPE: 'exception.type'; /** * The exception message. */ - EXCEPTION_MESSAGE: string; + EXCEPTION_MESSAGE: 'exception.message'; /** * A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. */ - EXCEPTION_STACKTRACE: string; + EXCEPTION_STACKTRACE: 'exception.stacktrace'; /** * SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. * @@ -145,217 +729,217 @@ even if the `exception.escaped` attribute was not set or set to false, since the event might have been recorded at a time where it was not clear whether the exception will escape. */ - EXCEPTION_ESCAPED: string; + EXCEPTION_ESCAPED: 'exception.escaped'; /** * Type of the trigger on which the function is executed. */ - FAAS_TRIGGER: string; + FAAS_TRIGGER: 'faas.trigger'; /** * The execution ID of the current function execution. */ - FAAS_EXECUTION: string; + FAAS_EXECUTION: 'faas.execution'; /** * The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. */ - FAAS_DOCUMENT_COLLECTION: string; + FAAS_DOCUMENT_COLLECTION: 'faas.document.collection'; /** * Describes the type of the operation that was performed on the data. */ - FAAS_DOCUMENT_OPERATION: string; + FAAS_DOCUMENT_OPERATION: 'faas.document.operation'; /** * A string containing the time when the data was accessed in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). */ - FAAS_DOCUMENT_TIME: string; + FAAS_DOCUMENT_TIME: 'faas.document.time'; /** * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. */ - FAAS_DOCUMENT_NAME: string; + FAAS_DOCUMENT_NAME: 'faas.document.name'; /** * A string containing the function invocation time in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). */ - FAAS_TIME: string; + FAAS_TIME: 'faas.time'; /** * A string containing the schedule period as [Cron Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). */ - FAAS_CRON: string; + FAAS_CRON: 'faas.cron'; /** * A boolean that is true if the serverless function is executed for the first time (aka cold-start). */ - FAAS_COLDSTART: string; + FAAS_COLDSTART: 'faas.coldstart'; /** * The name of the invoked function. * * Note: SHOULD be equal to the `faas.name` resource attribute of the invoked function. */ - FAAS_INVOKED_NAME: string; + FAAS_INVOKED_NAME: 'faas.invoked_name'; /** * The cloud provider of the invoked function. * * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. */ - FAAS_INVOKED_PROVIDER: string; + FAAS_INVOKED_PROVIDER: 'faas.invoked_provider'; /** * The cloud region of the invoked function. * * Note: SHOULD be equal to the `cloud.region` resource attribute of the invoked function. */ - FAAS_INVOKED_REGION: string; + FAAS_INVOKED_REGION: 'faas.invoked_region'; /** * Transport protocol used. See note below. */ - NET_TRANSPORT: string; + NET_TRANSPORT: 'net.transport'; /** * Remote address of the peer (dotted decimal for IPv4 or [RFC5952](https://tools.ietf.org/html/rfc5952) for IPv6). */ - NET_PEER_IP: string; + NET_PEER_IP: 'net.peer.ip'; /** * Remote port number. */ - NET_PEER_PORT: string; + NET_PEER_PORT: 'net.peer.port'; /** * Remote hostname or similar, see note below. */ - NET_PEER_NAME: string; + NET_PEER_NAME: 'net.peer.name'; /** * Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host. */ - NET_HOST_IP: string; + NET_HOST_IP: 'net.host.ip'; /** * Like `net.peer.port` but for the host port. */ - NET_HOST_PORT: string; + NET_HOST_PORT: 'net.host.port'; /** * Local hostname or similar, see note below. */ - NET_HOST_NAME: string; + NET_HOST_NAME: 'net.host.name'; /** * The internet connection type currently being used by the host. */ - NET_HOST_CONNECTION_TYPE: string; + NET_HOST_CONNECTION_TYPE: 'net.host.connection.type'; /** * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. */ - NET_HOST_CONNECTION_SUBTYPE: string; + NET_HOST_CONNECTION_SUBTYPE: 'net.host.connection.subtype'; /** * The name of the mobile carrier. */ - NET_HOST_CARRIER_NAME: string; + NET_HOST_CARRIER_NAME: 'net.host.carrier.name'; /** * The mobile carrier country code. */ - NET_HOST_CARRIER_MCC: string; + NET_HOST_CARRIER_MCC: 'net.host.carrier.mcc'; /** * The mobile carrier network code. */ - NET_HOST_CARRIER_MNC: string; + NET_HOST_CARRIER_MNC: 'net.host.carrier.mnc'; /** * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. */ - NET_HOST_CARRIER_ICC: string; + NET_HOST_CARRIER_ICC: 'net.host.carrier.icc'; /** * The [`service.name`](../../resource/semantic_conventions/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. */ - PEER_SERVICE: string; + PEER_SERVICE: 'peer.service'; /** * Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. */ - ENDUSER_ID: string; + ENDUSER_ID: 'enduser.id'; /** * Actual/assumed role the client is making the request under extracted from token or application security context. */ - ENDUSER_ROLE: string; + ENDUSER_ROLE: 'enduser.role'; /** * Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). */ - ENDUSER_SCOPE: string; + ENDUSER_SCOPE: 'enduser.scope'; /** * Current "managed" thread ID (as opposed to OS thread ID). */ - THREAD_ID: string; + THREAD_ID: 'thread.id'; /** * Current thread name. */ - THREAD_NAME: string; + THREAD_NAME: 'thread.name'; /** * The method or function name, or equivalent (usually rightmost part of the code unit's name). */ - CODE_FUNCTION: string; + CODE_FUNCTION: 'code.function'; /** * The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. */ - CODE_NAMESPACE: string; + CODE_NAMESPACE: 'code.namespace'; /** * The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). */ - CODE_FILEPATH: string; + CODE_FILEPATH: 'code.filepath'; /** * The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. */ - CODE_LINENO: string; + CODE_LINENO: 'code.lineno'; /** * HTTP request method. */ - HTTP_METHOD: string; + HTTP_METHOD: 'http.method'; /** * Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]`. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless. * * Note: `http.url` MUST NOT contain credentials passed via URL in form of `https://username:password@www.example.com/`. In such case the attribute's value should be `https://www.example.com/`. */ - HTTP_URL: string; + HTTP_URL: 'http.url'; /** * The full request target as passed in a HTTP request line or equivalent. */ - HTTP_TARGET: string; + HTTP_TARGET: 'http.target'; /** * The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). An empty Host header should also be reported, see note. * * Note: When the header is present but empty the attribute SHOULD be set to the empty string. Note that this is a valid situation that is expected in certain cases, according the aforementioned [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). When the header is not set the attribute MUST NOT be set. */ - HTTP_HOST: string; + HTTP_HOST: 'http.host'; /** * The URI scheme identifying the used protocol. */ - HTTP_SCHEME: string; + HTTP_SCHEME: 'http.scheme'; /** * [HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). */ - HTTP_STATUS_CODE: string; + HTTP_STATUS_CODE: 'http.status_code'; /** * Kind of HTTP protocol used. * * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. */ - HTTP_FLAVOR: string; + HTTP_FLAVOR: 'http.flavor'; /** * Value of the [HTTP User-Agent](https://tools.ietf.org/html/rfc7231#section-5.5.3) header sent by the client. */ - HTTP_USER_AGENT: string; + HTTP_USER_AGENT: 'http.user_agent'; /** * The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. */ - HTTP_REQUEST_CONTENT_LENGTH: string; + HTTP_REQUEST_CONTENT_LENGTH: 'http.request_content_length'; /** * The size of the uncompressed request payload body after transport decoding. Not set if transport encoding not used. */ - HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: string; + HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: 'http.request_content_length_uncompressed'; /** * The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://tools.ietf.org/html/rfc7230#section-3.3.2) header. For requests using transport encoding, this should be the compressed size. */ - HTTP_RESPONSE_CONTENT_LENGTH: string; + HTTP_RESPONSE_CONTENT_LENGTH: 'http.response_content_length'; /** * The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. */ - HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: string; + HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: 'http.response_content_length_uncompressed'; /** * The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). * * Note: `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. open-telemetry/opentelemetry-python/pull/148). It is thus preferred to supply the raw data that is available. */ - HTTP_SERVER_NAME: string; + HTTP_SERVER_NAME: 'http.server_name'; /** * The matched route (path template). */ - HTTP_ROUTE: string; + HTTP_ROUTE: 'http.route'; /** * The IP address of the original client behind all proxies, if known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). * @@ -371,653 +955,1718 @@ comes from a proxy, reverse proxy, or the actual client. Setting one is at least somewhat confident that the address is not that of the closest proxy. */ - HTTP_CLIENT_IP: string; + HTTP_CLIENT_IP: 'http.client_ip'; /** * The keys in the `RequestItems` object field. */ - AWS_DYNAMODB_TABLE_NAMES: string; + AWS_DYNAMODB_TABLE_NAMES: 'aws.dynamodb.table_names'; /** * The JSON-serialized value of each item in the `ConsumedCapacity` response field. */ - AWS_DYNAMODB_CONSUMED_CAPACITY: string; + AWS_DYNAMODB_CONSUMED_CAPACITY: 'aws.dynamodb.consumed_capacity'; /** * The JSON-serialized value of the `ItemCollectionMetrics` response field. */ - AWS_DYNAMODB_ITEM_COLLECTION_METRICS: string; + AWS_DYNAMODB_ITEM_COLLECTION_METRICS: 'aws.dynamodb.item_collection_metrics'; /** * The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. */ - AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: string; + AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: 'aws.dynamodb.provisioned_read_capacity'; /** * The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. */ - AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: string; + AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: 'aws.dynamodb.provisioned_write_capacity'; /** * The value of the `ConsistentRead` request parameter. */ - AWS_DYNAMODB_CONSISTENT_READ: string; + AWS_DYNAMODB_CONSISTENT_READ: 'aws.dynamodb.consistent_read'; /** * The value of the `ProjectionExpression` request parameter. */ - AWS_DYNAMODB_PROJECTION: string; + AWS_DYNAMODB_PROJECTION: 'aws.dynamodb.projection'; /** * The value of the `Limit` request parameter. */ - AWS_DYNAMODB_LIMIT: string; + AWS_DYNAMODB_LIMIT: 'aws.dynamodb.limit'; /** * The value of the `AttributesToGet` request parameter. */ - AWS_DYNAMODB_ATTRIBUTES_TO_GET: string; + AWS_DYNAMODB_ATTRIBUTES_TO_GET: 'aws.dynamodb.attributes_to_get'; /** * The value of the `IndexName` request parameter. */ - AWS_DYNAMODB_INDEX_NAME: string; + AWS_DYNAMODB_INDEX_NAME: 'aws.dynamodb.index_name'; /** * The value of the `Select` request parameter. */ - AWS_DYNAMODB_SELECT: string; + AWS_DYNAMODB_SELECT: 'aws.dynamodb.select'; /** * The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field. */ - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: string; + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: 'aws.dynamodb.global_secondary_indexes'; /** * The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. */ - AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: string; + AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: 'aws.dynamodb.local_secondary_indexes'; /** * The value of the `ExclusiveStartTableName` request parameter. */ - AWS_DYNAMODB_EXCLUSIVE_START_TABLE: string; + AWS_DYNAMODB_EXCLUSIVE_START_TABLE: 'aws.dynamodb.exclusive_start_table'; /** * The the number of items in the `TableNames` response parameter. */ - AWS_DYNAMODB_TABLE_COUNT: string; + AWS_DYNAMODB_TABLE_COUNT: 'aws.dynamodb.table_count'; /** * The value of the `ScanIndexForward` request parameter. */ - AWS_DYNAMODB_SCAN_FORWARD: string; + AWS_DYNAMODB_SCAN_FORWARD: 'aws.dynamodb.scan_forward'; /** * The value of the `Segment` request parameter. */ - AWS_DYNAMODB_SEGMENT: string; + AWS_DYNAMODB_SEGMENT: 'aws.dynamodb.segment'; /** * The value of the `TotalSegments` request parameter. */ - AWS_DYNAMODB_TOTAL_SEGMENTS: string; + AWS_DYNAMODB_TOTAL_SEGMENTS: 'aws.dynamodb.total_segments'; /** * The value of the `Count` response parameter. */ - AWS_DYNAMODB_COUNT: string; + AWS_DYNAMODB_COUNT: 'aws.dynamodb.count'; /** * The value of the `ScannedCount` response parameter. */ - AWS_DYNAMODB_SCANNED_COUNT: string; + AWS_DYNAMODB_SCANNED_COUNT: 'aws.dynamodb.scanned_count'; /** * The JSON-serialized value of each item in the `AttributeDefinitions` request field. */ - AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: string; + AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: 'aws.dynamodb.attribute_definitions'; /** * The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` request field. */ - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: string; + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: 'aws.dynamodb.global_secondary_index_updates'; /** * A string identifying the messaging system. */ - MESSAGING_SYSTEM: string; + MESSAGING_SYSTEM: 'messaging.system'; /** * The message destination name. This might be equal to the span name but is required nevertheless. */ - MESSAGING_DESTINATION: string; + MESSAGING_DESTINATION: 'messaging.destination'; /** * The kind of message destination. */ - MESSAGING_DESTINATION_KIND: string; + MESSAGING_DESTINATION_KIND: 'messaging.destination_kind'; /** * A boolean that is true if the message destination is temporary. */ - MESSAGING_TEMP_DESTINATION: string; + MESSAGING_TEMP_DESTINATION: 'messaging.temp_destination'; /** * The name of the transport protocol. */ - MESSAGING_PROTOCOL: string; + MESSAGING_PROTOCOL: 'messaging.protocol'; /** * The version of the transport protocol. */ - MESSAGING_PROTOCOL_VERSION: string; + MESSAGING_PROTOCOL_VERSION: 'messaging.protocol_version'; /** * Connection string. */ - MESSAGING_URL: string; + MESSAGING_URL: 'messaging.url'; /** * A value used by the messaging system as an identifier for the message, represented as a string. */ - MESSAGING_MESSAGE_ID: string; + MESSAGING_MESSAGE_ID: 'messaging.message_id'; /** * The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". */ - MESSAGING_CONVERSATION_ID: string; + MESSAGING_CONVERSATION_ID: 'messaging.conversation_id'; /** * The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported. */ - MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: string; + MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: 'messaging.message_payload_size_bytes'; /** * The compressed size of the message payload in bytes. */ - MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: string; + MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: 'messaging.message_payload_compressed_size_bytes'; /** * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. */ - MESSAGING_OPERATION: string; + MESSAGING_OPERATION: 'messaging.operation'; /** * The identifier for the consumer receiving a message. For Kafka, set it to `{messaging.kafka.consumer_group} - {messaging.kafka.client_id}`, if both are present, or only `messaging.kafka.consumer_group`. For brokers, such as RabbitMQ and Artemis, set it to the `client_id` of the client consuming the message. */ - MESSAGING_CONSUMER_ID: string; + MESSAGING_CONSUMER_ID: 'messaging.consumer_id'; /** * RabbitMQ message routing key. */ - MESSAGING_RABBITMQ_ROUTING_KEY: string; + MESSAGING_RABBITMQ_ROUTING_KEY: 'messaging.rabbitmq.routing_key'; /** * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message_id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. * * Note: If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value. */ - MESSAGING_KAFKA_MESSAGE_KEY: string; + MESSAGING_KAFKA_MESSAGE_KEY: 'messaging.kafka.message_key'; /** * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. */ - MESSAGING_KAFKA_CONSUMER_GROUP: string; + MESSAGING_KAFKA_CONSUMER_GROUP: 'messaging.kafka.consumer_group'; /** * Client Id for the Consumer or Producer that is handling the message. */ - MESSAGING_KAFKA_CLIENT_ID: string; + MESSAGING_KAFKA_CLIENT_ID: 'messaging.kafka.client_id'; /** * Partition the message is sent to. */ - MESSAGING_KAFKA_PARTITION: string; + MESSAGING_KAFKA_PARTITION: 'messaging.kafka.partition'; /** * A boolean that is true if the message is a tombstone. */ - MESSAGING_KAFKA_TOMBSTONE: string; + MESSAGING_KAFKA_TOMBSTONE: 'messaging.kafka.tombstone'; /** * A string identifying the remoting system. */ - RPC_SYSTEM: string; + RPC_SYSTEM: 'rpc.system'; /** * The full (logical) name of the service being called, including its package name, if applicable. * * Note: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). */ - RPC_SERVICE: string; + RPC_SERVICE: 'rpc.service'; /** * The name of the (logical) method being called, must be equal to the $method part in the span name. * * Note: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). */ - RPC_METHOD: string; + RPC_METHOD: 'rpc.method'; /** * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. */ - RPC_GRPC_STATUS_CODE: string; + RPC_GRPC_STATUS_CODE: 'rpc.grpc.status_code'; /** * Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted. */ - RPC_JSONRPC_VERSION: string; + RPC_JSONRPC_VERSION: 'rpc.jsonrpc.version'; /** * `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of `null` value. Omit entirely if this is a notification. */ - RPC_JSONRPC_REQUEST_ID: string; + RPC_JSONRPC_REQUEST_ID: 'rpc.jsonrpc.request_id'; /** * `error.code` property of response if it is an error response. */ - RPC_JSONRPC_ERROR_CODE: string; + RPC_JSONRPC_ERROR_CODE: 'rpc.jsonrpc.error_code'; /** * `error.message` property of response if it is an error response. */ - RPC_JSONRPC_ERROR_MESSAGE: string; + RPC_JSONRPC_ERROR_MESSAGE: 'rpc.jsonrpc.error_message'; /** * Whether this is a received or sent message. */ - MESSAGE_TYPE: string; + MESSAGE_TYPE: 'message.type'; /** * MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. * * Note: This way we guarantee that the values will be consistent between different implementations. */ - MESSAGE_ID: string; + MESSAGE_ID: 'message.id'; /** * Compressed size of the message in bytes. */ - MESSAGE_COMPRESSED_SIZE: string; + MESSAGE_COMPRESSED_SIZE: 'message.compressed_size'; /** * Uncompressed size of the message in bytes. */ - MESSAGE_UNCOMPRESSED_SIZE: string; + MESSAGE_UNCOMPRESSED_SIZE: 'message.uncompressed_size'; }; -declare const DbSystemValues: { +/** + * Create exported Value Map for SemanticAttributes values + * @deprecated Use the SEMATTRS_XXXXX constants rather than the SemanticAttributes.XXXXX for bundle minification + */ +declare const SemanticAttributes: SemanticAttributes; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_OTHER_SQL = "other_sql"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_MSSQL = "mssql"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_MYSQL = "mysql"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_ORACLE = "oracle"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_DB2 = "db2"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_POSTGRESQL = "postgresql"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_REDSHIFT = "redshift"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_HIVE = "hive"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_CLOUDSCAPE = "cloudscape"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_HSQLDB = "hsqldb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_PROGRESS = "progress"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_MAXDB = "maxdb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_HANADB = "hanadb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_INGRES = "ingres"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_FIRSTSQL = "firstsql"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_EDB = "edb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_CACHE = "cache"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_ADABAS = "adabas"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_FIREBIRD = "firebird"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_DERBY = "derby"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_FILEMAKER = "filemaker"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_INFORMIX = "informix"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_INSTANTDB = "instantdb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_INTERBASE = "interbase"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_MARIADB = "mariadb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_NETEZZA = "netezza"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_PERVASIVE = "pervasive"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_POINTBASE = "pointbase"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_SQLITE = "sqlite"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_SYBASE = "sybase"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_TERADATA = "teradata"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_VERTICA = "vertica"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_H2 = "h2"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_COLDFUSION = "coldfusion"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_CASSANDRA = "cassandra"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_HBASE = "hbase"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_MONGODB = "mongodb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_REDIS = "redis"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_COUCHBASE = "couchbase"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_COUCHDB = "couchdb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_COSMOSDB = "cosmosdb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_DYNAMODB = "dynamodb"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_NEO4J = "neo4j"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_GEODE = "geode"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_ELASTICSEARCH = "elasticsearch"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_MEMCACHED = "memcached"; +/** + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + */ +declare const DBSYSTEMVALUES_COCKROACHDB = "cockroachdb"; +/** + * Identifies the Values for DbSystemValues enum definition + * + * An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + * @deprecated Use the DBSYSTEMVALUES_XXXXX constants rather than the DbSystemValues.XXXXX for bundle minification. + */ +declare type DbSystemValues = { /** Some other SQL database. Fallback only. See notes. */ - readonly OTHER_SQL: "other_sql"; + OTHER_SQL: 'other_sql'; /** Microsoft SQL Server. */ - readonly MSSQL: "mssql"; + MSSQL: 'mssql'; /** MySQL. */ - readonly MYSQL: "mysql"; + MYSQL: 'mysql'; /** Oracle Database. */ - readonly ORACLE: "oracle"; + ORACLE: 'oracle'; /** IBM Db2. */ - readonly DB2: "db2"; + DB2: 'db2'; /** PostgreSQL. */ - readonly POSTGRESQL: "postgresql"; + POSTGRESQL: 'postgresql'; /** Amazon Redshift. */ - readonly REDSHIFT: "redshift"; + REDSHIFT: 'redshift'; /** Apache Hive. */ - readonly HIVE: "hive"; + HIVE: 'hive'; /** Cloudscape. */ - readonly CLOUDSCAPE: "cloudscape"; + CLOUDSCAPE: 'cloudscape'; /** HyperSQL DataBase. */ - readonly HSQLDB: "hsqldb"; + HSQLDB: 'hsqldb'; /** Progress Database. */ - readonly PROGRESS: "progress"; + PROGRESS: 'progress'; /** SAP MaxDB. */ - readonly MAXDB: "maxdb"; + MAXDB: 'maxdb'; /** SAP HANA. */ - readonly HANADB: "hanadb"; + HANADB: 'hanadb'; /** Ingres. */ - readonly INGRES: "ingres"; + INGRES: 'ingres'; /** FirstSQL. */ - readonly FIRSTSQL: "firstsql"; + FIRSTSQL: 'firstsql'; /** EnterpriseDB. */ - readonly EDB: "edb"; + EDB: 'edb'; /** InterSystems Caché. */ - readonly CACHE: "cache"; + CACHE: 'cache'; /** Adabas (Adaptable Database System). */ - readonly ADABAS: "adabas"; + ADABAS: 'adabas'; /** Firebird. */ - readonly FIREBIRD: "firebird"; + FIREBIRD: 'firebird'; /** Apache Derby. */ - readonly DERBY: "derby"; + DERBY: 'derby'; /** FileMaker. */ - readonly FILEMAKER: "filemaker"; + FILEMAKER: 'filemaker'; /** Informix. */ - readonly INFORMIX: "informix"; + INFORMIX: 'informix'; /** InstantDB. */ - readonly INSTANTDB: "instantdb"; + INSTANTDB: 'instantdb'; /** InterBase. */ - readonly INTERBASE: "interbase"; + INTERBASE: 'interbase'; /** MariaDB. */ - readonly MARIADB: "mariadb"; + MARIADB: 'mariadb'; /** Netezza. */ - readonly NETEZZA: "netezza"; + NETEZZA: 'netezza'; /** Pervasive PSQL. */ - readonly PERVASIVE: "pervasive"; + PERVASIVE: 'pervasive'; /** PointBase. */ - readonly POINTBASE: "pointbase"; + POINTBASE: 'pointbase'; /** SQLite. */ - readonly SQLITE: "sqlite"; + SQLITE: 'sqlite'; /** Sybase. */ - readonly SYBASE: "sybase"; + SYBASE: 'sybase'; /** Teradata. */ - readonly TERADATA: "teradata"; + TERADATA: 'teradata'; /** Vertica. */ - readonly VERTICA: "vertica"; + VERTICA: 'vertica'; /** H2. */ - readonly H2: "h2"; + H2: 'h2'; /** ColdFusion IMQ. */ - readonly COLDFUSION: "coldfusion"; + COLDFUSION: 'coldfusion'; /** Apache Cassandra. */ - readonly CASSANDRA: "cassandra"; + CASSANDRA: 'cassandra'; /** Apache HBase. */ - readonly HBASE: "hbase"; + HBASE: 'hbase'; /** MongoDB. */ - readonly MONGODB: "mongodb"; + MONGODB: 'mongodb'; /** Redis. */ - readonly REDIS: "redis"; + REDIS: 'redis'; /** Couchbase. */ - readonly COUCHBASE: "couchbase"; + COUCHBASE: 'couchbase'; /** CouchDB. */ - readonly COUCHDB: "couchdb"; + COUCHDB: 'couchdb'; /** Microsoft Azure Cosmos DB. */ - readonly COSMOSDB: "cosmosdb"; + COSMOSDB: 'cosmosdb'; /** Amazon DynamoDB. */ - readonly DYNAMODB: "dynamodb"; + DYNAMODB: 'dynamodb'; /** Neo4j. */ - readonly NEO4J: "neo4j"; + NEO4J: 'neo4j'; /** Apache Geode. */ - readonly GEODE: "geode"; + GEODE: 'geode'; /** Elasticsearch. */ - readonly ELASTICSEARCH: "elasticsearch"; + ELASTICSEARCH: 'elasticsearch'; /** Memcached. */ - readonly MEMCACHED: "memcached"; + MEMCACHED: 'memcached'; /** CockroachDB. */ - readonly COCKROACHDB: "cockroachdb"; + COCKROACHDB: 'cockroachdb'; }; -declare type DbSystemValues = (typeof DbSystemValues)[keyof typeof DbSystemValues]; -declare const DbCassandraConsistencyLevelValues: { +/** + * The constant map of values for DbSystemValues. + * @deprecated Use the DBSYSTEMVALUES_XXXXX constants rather than the DbSystemValues.XXXXX for bundle minification. + */ +declare const DbSystemValues: DbSystemValues; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_ALL = "all"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = "each_quorum"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = "quorum"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = "local_quorum"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_ONE = "one"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_TWO = "two"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_THREE = "three"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = "local_one"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_ANY = "any"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = "serial"; +/** + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + */ +declare const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = "local_serial"; +/** + * Identifies the Values for DbCassandraConsistencyLevelValues enum definition + * + * The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). + * @deprecated Use the DBCASSANDRACONSISTENCYLEVELVALUES_XXXXX constants rather than the DbCassandraConsistencyLevelValues.XXXXX for bundle minification. + */ +declare type DbCassandraConsistencyLevelValues = { /** all. */ - readonly ALL: "all"; + ALL: 'all'; /** each_quorum. */ - readonly EACH_QUORUM: "each_quorum"; + EACH_QUORUM: 'each_quorum'; /** quorum. */ - readonly QUORUM: "quorum"; + QUORUM: 'quorum'; /** local_quorum. */ - readonly LOCAL_QUORUM: "local_quorum"; + LOCAL_QUORUM: 'local_quorum'; /** one. */ - readonly ONE: "one"; + ONE: 'one'; /** two. */ - readonly TWO: "two"; + TWO: 'two'; /** three. */ - readonly THREE: "three"; + THREE: 'three'; /** local_one. */ - readonly LOCAL_ONE: "local_one"; + LOCAL_ONE: 'local_one'; /** any. */ - readonly ANY: "any"; + ANY: 'any'; /** serial. */ - readonly SERIAL: "serial"; + SERIAL: 'serial'; /** local_serial. */ - readonly LOCAL_SERIAL: "local_serial"; + LOCAL_SERIAL: 'local_serial'; }; -declare type DbCassandraConsistencyLevelValues = (typeof DbCassandraConsistencyLevelValues)[keyof typeof DbCassandraConsistencyLevelValues]; -declare const FaasTriggerValues: { +/** + * The constant map of values for DbCassandraConsistencyLevelValues. + * @deprecated Use the DBCASSANDRACONSISTENCYLEVELVALUES_XXXXX constants rather than the DbCassandraConsistencyLevelValues.XXXXX for bundle minification. + */ +declare const DbCassandraConsistencyLevelValues: DbCassandraConsistencyLevelValues; +/** + * Type of the trigger on which the function is executed. + */ +declare const FAASTRIGGERVALUES_DATASOURCE = "datasource"; +/** + * Type of the trigger on which the function is executed. + */ +declare const FAASTRIGGERVALUES_HTTP = "http"; +/** + * Type of the trigger on which the function is executed. + */ +declare const FAASTRIGGERVALUES_PUBSUB = "pubsub"; +/** + * Type of the trigger on which the function is executed. + */ +declare const FAASTRIGGERVALUES_TIMER = "timer"; +/** + * Type of the trigger on which the function is executed. + */ +declare const FAASTRIGGERVALUES_OTHER = "other"; +/** + * Identifies the Values for FaasTriggerValues enum definition + * + * Type of the trigger on which the function is executed. + * @deprecated Use the FAASTRIGGERVALUES_XXXXX constants rather than the FaasTriggerValues.XXXXX for bundle minification. + */ +declare type FaasTriggerValues = { /** A response to some data source operation such as a database or filesystem read/write. */ - readonly DATASOURCE: "datasource"; + DATASOURCE: 'datasource'; /** To provide an answer to an inbound HTTP request. */ - readonly HTTP: "http"; + HTTP: 'http'; /** A function is set to be executed when messages are sent to a messaging system. */ - readonly PUBSUB: "pubsub"; + PUBSUB: 'pubsub'; /** A function is scheduled to be executed regularly. */ - readonly TIMER: "timer"; + TIMER: 'timer'; /** If none of the others apply. */ - readonly OTHER: "other"; + OTHER: 'other'; }; -declare type FaasTriggerValues = (typeof FaasTriggerValues)[keyof typeof FaasTriggerValues]; -declare const FaasDocumentOperationValues: { +/** + * The constant map of values for FaasTriggerValues. + * @deprecated Use the FAASTRIGGERVALUES_XXXXX constants rather than the FaasTriggerValues.XXXXX for bundle minification. + */ +declare const FaasTriggerValues: FaasTriggerValues; +/** + * Describes the type of the operation that was performed on the data. + */ +declare const FAASDOCUMENTOPERATIONVALUES_INSERT = "insert"; +/** + * Describes the type of the operation that was performed on the data. + */ +declare const FAASDOCUMENTOPERATIONVALUES_EDIT = "edit"; +/** + * Describes the type of the operation that was performed on the data. + */ +declare const FAASDOCUMENTOPERATIONVALUES_DELETE = "delete"; +/** + * Identifies the Values for FaasDocumentOperationValues enum definition + * + * Describes the type of the operation that was performed on the data. + * @deprecated Use the FAASDOCUMENTOPERATIONVALUES_XXXXX constants rather than the FaasDocumentOperationValues.XXXXX for bundle minification. + */ +declare type FaasDocumentOperationValues = { /** When a new object is created. */ - readonly INSERT: "insert"; + INSERT: 'insert'; /** When an object is modified. */ - readonly EDIT: "edit"; + EDIT: 'edit'; /** When an object is deleted. */ - readonly DELETE: "delete"; + DELETE: 'delete'; }; -declare type FaasDocumentOperationValues = (typeof FaasDocumentOperationValues)[keyof typeof FaasDocumentOperationValues]; -declare const FaasInvokedProviderValues: { - /** Alibaba Cloud. */ - readonly ALIBABA_CLOUD: "alibaba_cloud"; - /** Amazon Web Services. */ - readonly AWS: "aws"; - /** Microsoft Azure. */ - readonly AZURE: "azure"; - /** Google Cloud Platform. */ - readonly GCP: "gcp"; -}; -declare type FaasInvokedProviderValues = (typeof FaasInvokedProviderValues)[keyof typeof FaasInvokedProviderValues]; -declare const NetTransportValues: { - /** ip_tcp. */ - readonly IP_TCP: "ip_tcp"; - /** ip_udp. */ - readonly IP_UDP: "ip_udp"; - /** Another IP-based protocol. */ - readonly IP: "ip"; +/** + * The constant map of values for FaasDocumentOperationValues. + * @deprecated Use the FAASDOCUMENTOPERATIONVALUES_XXXXX constants rather than the FaasDocumentOperationValues.XXXXX for bundle minification. + */ +declare const FaasDocumentOperationValues: FaasDocumentOperationValues; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +declare const FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = "alibaba_cloud"; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +declare const FAASINVOKEDPROVIDERVALUES_AWS = "aws"; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +declare const FAASINVOKEDPROVIDERVALUES_AZURE = "azure"; +/** + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + */ +declare const FAASINVOKEDPROVIDERVALUES_GCP = "gcp"; +/** + * Identifies the Values for FaasInvokedProviderValues enum definition + * + * The cloud provider of the invoked function. + * + * Note: SHOULD be equal to the `cloud.provider` resource attribute of the invoked function. + * @deprecated Use the FAASINVOKEDPROVIDERVALUES_XXXXX constants rather than the FaasInvokedProviderValues.XXXXX for bundle minification. + */ +declare type FaasInvokedProviderValues = { + /** Alibaba Cloud. */ + ALIBABA_CLOUD: 'alibaba_cloud'; + /** Amazon Web Services. */ + AWS: 'aws'; + /** Microsoft Azure. */ + AZURE: 'azure'; + /** Google Cloud Platform. */ + GCP: 'gcp'; +}; +/** + * The constant map of values for FaasInvokedProviderValues. + * @deprecated Use the FAASINVOKEDPROVIDERVALUES_XXXXX constants rather than the FaasInvokedProviderValues.XXXXX for bundle minification. + */ +declare const FaasInvokedProviderValues: FaasInvokedProviderValues; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_IP_TCP = "ip_tcp"; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_IP_UDP = "ip_udp"; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_IP = "ip"; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_UNIX = "unix"; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_PIPE = "pipe"; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_INPROC = "inproc"; +/** + * Transport protocol used. See note below. + */ +declare const NETTRANSPORTVALUES_OTHER = "other"; +/** + * Identifies the Values for NetTransportValues enum definition + * + * Transport protocol used. See note below. + * @deprecated Use the NETTRANSPORTVALUES_XXXXX constants rather than the NetTransportValues.XXXXX for bundle minification. + */ +declare type NetTransportValues = { + /** ip_tcp. */ + IP_TCP: 'ip_tcp'; + /** ip_udp. */ + IP_UDP: 'ip_udp'; + /** Another IP-based protocol. */ + IP: 'ip'; /** Unix Domain socket. See below. */ - readonly UNIX: "unix"; + UNIX: 'unix'; /** Named or anonymous pipe. See note below. */ - readonly PIPE: "pipe"; + PIPE: 'pipe'; /** In-process communication. */ - readonly INPROC: "inproc"; + INPROC: 'inproc'; /** Something else (non IP-based). */ - readonly OTHER: "other"; + OTHER: 'other'; }; -declare type NetTransportValues = (typeof NetTransportValues)[keyof typeof NetTransportValues]; -declare const NetHostConnectionTypeValues: { +/** + * The constant map of values for NetTransportValues. + * @deprecated Use the NETTRANSPORTVALUES_XXXXX constants rather than the NetTransportValues.XXXXX for bundle minification. + */ +declare const NetTransportValues: NetTransportValues; +/** + * The internet connection type currently being used by the host. + */ +declare const NETHOSTCONNECTIONTYPEVALUES_WIFI = "wifi"; +/** + * The internet connection type currently being used by the host. + */ +declare const NETHOSTCONNECTIONTYPEVALUES_WIRED = "wired"; +/** + * The internet connection type currently being used by the host. + */ +declare const NETHOSTCONNECTIONTYPEVALUES_CELL = "cell"; +/** + * The internet connection type currently being used by the host. + */ +declare const NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = "unavailable"; +/** + * The internet connection type currently being used by the host. + */ +declare const NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = "unknown"; +/** + * Identifies the Values for NetHostConnectionTypeValues enum definition + * + * The internet connection type currently being used by the host. + * @deprecated Use the NETHOSTCONNECTIONTYPEVALUES_XXXXX constants rather than the NetHostConnectionTypeValues.XXXXX for bundle minification. + */ +declare type NetHostConnectionTypeValues = { /** wifi. */ - readonly WIFI: "wifi"; + WIFI: 'wifi'; /** wired. */ - readonly WIRED: "wired"; + WIRED: 'wired'; /** cell. */ - readonly CELL: "cell"; + CELL: 'cell'; /** unavailable. */ - readonly UNAVAILABLE: "unavailable"; + UNAVAILABLE: 'unavailable'; /** unknown. */ - readonly UNKNOWN: "unknown"; + UNKNOWN: 'unknown'; }; -declare type NetHostConnectionTypeValues = (typeof NetHostConnectionTypeValues)[keyof typeof NetHostConnectionTypeValues]; -declare const NetHostConnectionSubtypeValues: { +/** + * The constant map of values for NetHostConnectionTypeValues. + * @deprecated Use the NETHOSTCONNECTIONTYPEVALUES_XXXXX constants rather than the NetHostConnectionTypeValues.XXXXX for bundle minification. + */ +declare const NetHostConnectionTypeValues: NetHostConnectionTypeValues; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = "gprs"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = "edge"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = "umts"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = "cdma"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = "evdo_0"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = "evdo_a"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = "cdma2000_1xrtt"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = "hsdpa"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = "hsupa"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = "hspa"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = "iden"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = "evdo_b"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_LTE = "lte"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = "ehrpd"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = "hspap"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_GSM = "gsm"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = "td_scdma"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = "iwlan"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_NR = "nr"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = "nrnsa"; +/** + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + */ +declare const NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = "lte_ca"; +/** + * Identifies the Values for NetHostConnectionSubtypeValues enum definition + * + * This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + * @deprecated Use the NETHOSTCONNECTIONSUBTYPEVALUES_XXXXX constants rather than the NetHostConnectionSubtypeValues.XXXXX for bundle minification. + */ +declare type NetHostConnectionSubtypeValues = { /** GPRS. */ - readonly GPRS: "gprs"; + GPRS: 'gprs'; /** EDGE. */ - readonly EDGE: "edge"; + EDGE: 'edge'; /** UMTS. */ - readonly UMTS: "umts"; + UMTS: 'umts'; /** CDMA. */ - readonly CDMA: "cdma"; + CDMA: 'cdma'; /** EVDO Rel. 0. */ - readonly EVDO_0: "evdo_0"; + EVDO_0: 'evdo_0'; /** EVDO Rev. A. */ - readonly EVDO_A: "evdo_a"; + EVDO_A: 'evdo_a'; /** CDMA2000 1XRTT. */ - readonly CDMA2000_1XRTT: "cdma2000_1xrtt"; + CDMA2000_1XRTT: 'cdma2000_1xrtt'; /** HSDPA. */ - readonly HSDPA: "hsdpa"; + HSDPA: 'hsdpa'; /** HSUPA. */ - readonly HSUPA: "hsupa"; + HSUPA: 'hsupa'; /** HSPA. */ - readonly HSPA: "hspa"; + HSPA: 'hspa'; /** IDEN. */ - readonly IDEN: "iden"; + IDEN: 'iden'; /** EVDO Rev. B. */ - readonly EVDO_B: "evdo_b"; + EVDO_B: 'evdo_b'; /** LTE. */ - readonly LTE: "lte"; + LTE: 'lte'; /** EHRPD. */ - readonly EHRPD: "ehrpd"; + EHRPD: 'ehrpd'; /** HSPAP. */ - readonly HSPAP: "hspap"; + HSPAP: 'hspap'; /** GSM. */ - readonly GSM: "gsm"; + GSM: 'gsm'; /** TD-SCDMA. */ - readonly TD_SCDMA: "td_scdma"; + TD_SCDMA: 'td_scdma'; /** IWLAN. */ - readonly IWLAN: "iwlan"; + IWLAN: 'iwlan'; /** 5G NR (New Radio). */ - readonly NR: "nr"; + NR: 'nr'; /** 5G NRNSA (New Radio Non-Standalone). */ - readonly NRNSA: "nrnsa"; + NRNSA: 'nrnsa'; /** LTE CA. */ - readonly LTE_CA: "lte_ca"; + LTE_CA: 'lte_ca'; }; -declare type NetHostConnectionSubtypeValues = (typeof NetHostConnectionSubtypeValues)[keyof typeof NetHostConnectionSubtypeValues]; -declare const HttpFlavorValues: { +/** + * The constant map of values for NetHostConnectionSubtypeValues. + * @deprecated Use the NETHOSTCONNECTIONSUBTYPEVALUES_XXXXX constants rather than the NetHostConnectionSubtypeValues.XXXXX for bundle minification. + */ +declare const NetHostConnectionSubtypeValues: NetHostConnectionSubtypeValues; +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +declare const HTTPFLAVORVALUES_HTTP_1_0 = "1.0"; +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +declare const HTTPFLAVORVALUES_HTTP_1_1 = "1.1"; +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +declare const HTTPFLAVORVALUES_HTTP_2_0 = "2.0"; +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +declare const HTTPFLAVORVALUES_SPDY = "SPDY"; +/** + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + */ +declare const HTTPFLAVORVALUES_QUIC = "QUIC"; +/** + * Identifies the Values for HttpFlavorValues enum definition + * + * Kind of HTTP protocol used. + * + * Note: If `net.transport` is not specified, it can be assumed to be `IP.TCP` except if `http.flavor` is `QUIC`, in which case `IP.UDP` is assumed. + * @deprecated Use the HTTPFLAVORVALUES_XXXXX constants rather than the HttpFlavorValues.XXXXX for bundle minification. + */ +declare type HttpFlavorValues = { /** HTTP 1.0. */ - readonly HTTP_1_0: "1.0"; + HTTP_1_0: '1.0'; /** HTTP 1.1. */ - readonly HTTP_1_1: "1.1"; + HTTP_1_1: '1.1'; /** HTTP 2. */ - readonly HTTP_2_0: "2.0"; + HTTP_2_0: '2.0'; /** SPDY protocol. */ - readonly SPDY: "SPDY"; + SPDY: 'SPDY'; /** QUIC protocol. */ - readonly QUIC: "QUIC"; + QUIC: 'QUIC'; }; -declare type HttpFlavorValues = (typeof HttpFlavorValues)[keyof typeof HttpFlavorValues]; -declare const MessagingDestinationKindValues: { +/** + * The constant map of values for HttpFlavorValues. + * @deprecated Use the HTTPFLAVORVALUES_XXXXX constants rather than the HttpFlavorValues.XXXXX for bundle minification. + */ +declare const HttpFlavorValues: HttpFlavorValues; +/** + * The kind of message destination. + */ +declare const MESSAGINGDESTINATIONKINDVALUES_QUEUE = "queue"; +/** + * The kind of message destination. + */ +declare const MESSAGINGDESTINATIONKINDVALUES_TOPIC = "topic"; +/** + * Identifies the Values for MessagingDestinationKindValues enum definition + * + * The kind of message destination. + * @deprecated Use the MESSAGINGDESTINATIONKINDVALUES_XXXXX constants rather than the MessagingDestinationKindValues.XXXXX for bundle minification. + */ +declare type MessagingDestinationKindValues = { /** A message sent to a queue. */ - readonly QUEUE: "queue"; + QUEUE: 'queue'; /** A message sent to a topic. */ - readonly TOPIC: "topic"; + TOPIC: 'topic'; }; -declare type MessagingDestinationKindValues = (typeof MessagingDestinationKindValues)[keyof typeof MessagingDestinationKindValues]; -declare const MessagingOperationValues: { +/** + * The constant map of values for MessagingDestinationKindValues. + * @deprecated Use the MESSAGINGDESTINATIONKINDVALUES_XXXXX constants rather than the MessagingDestinationKindValues.XXXXX for bundle minification. + */ +declare const MessagingDestinationKindValues: MessagingDestinationKindValues; +/** + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + */ +declare const MESSAGINGOPERATIONVALUES_RECEIVE = "receive"; +/** + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + */ +declare const MESSAGINGOPERATIONVALUES_PROCESS = "process"; +/** + * Identifies the Values for MessagingOperationValues enum definition + * + * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case. + * @deprecated Use the MESSAGINGOPERATIONVALUES_XXXXX constants rather than the MessagingOperationValues.XXXXX for bundle minification. + */ +declare type MessagingOperationValues = { /** receive. */ - readonly RECEIVE: "receive"; + RECEIVE: 'receive'; /** process. */ - readonly PROCESS: "process"; + PROCESS: 'process'; }; -declare type MessagingOperationValues = (typeof MessagingOperationValues)[keyof typeof MessagingOperationValues]; -declare const RpcGrpcStatusCodeValues: { +/** + * The constant map of values for MessagingOperationValues. + * @deprecated Use the MESSAGINGOPERATIONVALUES_XXXXX constants rather than the MessagingOperationValues.XXXXX for bundle minification. + */ +declare const MessagingOperationValues: MessagingOperationValues; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_OK = 0; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_CANCELLED = 1; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_UNKNOWN = 2; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = 3; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = 4; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_NOT_FOUND = 5; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = 6; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = 7; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = 8; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = 9; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_ABORTED = 10; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = 11; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = 12; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_INTERNAL = 13; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = 14; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_DATA_LOSS = 15; +/** + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + */ +declare const RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = 16; +/** + * Identifies the Values for RpcGrpcStatusCodeValues enum definition + * + * The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request. + * @deprecated Use the RPCGRPCSTATUSCODEVALUES_XXXXX constants rather than the RpcGrpcStatusCodeValues.XXXXX for bundle minification. + */ +declare type RpcGrpcStatusCodeValues = { /** OK. */ - readonly OK: 0; + OK: 0; /** CANCELLED. */ - readonly CANCELLED: 1; + CANCELLED: 1; /** UNKNOWN. */ - readonly UNKNOWN: 2; + UNKNOWN: 2; /** INVALID_ARGUMENT. */ - readonly INVALID_ARGUMENT: 3; + INVALID_ARGUMENT: 3; /** DEADLINE_EXCEEDED. */ - readonly DEADLINE_EXCEEDED: 4; + DEADLINE_EXCEEDED: 4; /** NOT_FOUND. */ - readonly NOT_FOUND: 5; + NOT_FOUND: 5; /** ALREADY_EXISTS. */ - readonly ALREADY_EXISTS: 6; + ALREADY_EXISTS: 6; /** PERMISSION_DENIED. */ - readonly PERMISSION_DENIED: 7; + PERMISSION_DENIED: 7; /** RESOURCE_EXHAUSTED. */ - readonly RESOURCE_EXHAUSTED: 8; + RESOURCE_EXHAUSTED: 8; /** FAILED_PRECONDITION. */ - readonly FAILED_PRECONDITION: 9; + FAILED_PRECONDITION: 9; /** ABORTED. */ - readonly ABORTED: 10; + ABORTED: 10; /** OUT_OF_RANGE. */ - readonly OUT_OF_RANGE: 11; + OUT_OF_RANGE: 11; /** UNIMPLEMENTED. */ - readonly UNIMPLEMENTED: 12; + UNIMPLEMENTED: 12; /** INTERNAL. */ - readonly INTERNAL: 13; + INTERNAL: 13; /** UNAVAILABLE. */ - readonly UNAVAILABLE: 14; + UNAVAILABLE: 14; /** DATA_LOSS. */ - readonly DATA_LOSS: 15; + DATA_LOSS: 15; /** UNAUTHENTICATED. */ - readonly UNAUTHENTICATED: 16; + UNAUTHENTICATED: 16; }; -declare type RpcGrpcStatusCodeValues = (typeof RpcGrpcStatusCodeValues)[keyof typeof RpcGrpcStatusCodeValues]; -declare const MessageTypeValues: { +/** + * The constant map of values for RpcGrpcStatusCodeValues. + * @deprecated Use the RPCGRPCSTATUSCODEVALUES_XXXXX constants rather than the RpcGrpcStatusCodeValues.XXXXX for bundle minification. + */ +declare const RpcGrpcStatusCodeValues: RpcGrpcStatusCodeValues; +/** + * Whether this is a received or sent message. + */ +declare const MESSAGETYPEVALUES_SENT = "SENT"; +/** + * Whether this is a received or sent message. + */ +declare const MESSAGETYPEVALUES_RECEIVED = "RECEIVED"; +/** + * Identifies the Values for MessageTypeValues enum definition + * + * Whether this is a received or sent message. + * @deprecated Use the MESSAGETYPEVALUES_XXXXX constants rather than the MessageTypeValues.XXXXX for bundle minification. + */ +declare type MessageTypeValues = { /** sent. */ - readonly SENT: "SENT"; + SENT: 'SENT'; /** received. */ - readonly RECEIVED: "RECEIVED"; + RECEIVED: 'RECEIVED'; }; -declare type MessageTypeValues = (typeof MessageTypeValues)[keyof typeof MessageTypeValues]; +/** + * The constant map of values for MessageTypeValues. + * @deprecated Use the MESSAGETYPEVALUES_XXXXX constants rather than the MessageTypeValues.XXXXX for bundle minification. + */ +declare const MessageTypeValues: MessageTypeValues; + +/** + * Name of the cloud provider. + */ +declare const SEMRESATTRS_CLOUD_PROVIDER = "cloud.provider"; +/** + * The cloud account ID the resource is assigned to. + */ +declare const SEMRESATTRS_CLOUD_ACCOUNT_ID = "cloud.account.id"; +/** + * The geographical region the resource is running. Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en-us/global-infrastructure/geographies/), or [Google Cloud regions](https://cloud.google.com/about/locations). + */ +declare const SEMRESATTRS_CLOUD_REGION = "cloud.region"; +/** + * Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. + * + * Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud. + */ +declare const SEMRESATTRS_CLOUD_AVAILABILITY_ZONE = "cloud.availability_zone"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const SEMRESATTRS_CLOUD_PLATFORM = "cloud.platform"; +/** + * The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). + */ +declare const SEMRESATTRS_AWS_ECS_CONTAINER_ARN = "aws.ecs.container.arn"; +/** + * The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). + */ +declare const SEMRESATTRS_AWS_ECS_CLUSTER_ARN = "aws.ecs.cluster.arn"; +/** + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + */ +declare const SEMRESATTRS_AWS_ECS_LAUNCHTYPE = "aws.ecs.launchtype"; +/** + * The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). + */ +declare const SEMRESATTRS_AWS_ECS_TASK_ARN = "aws.ecs.task.arn"; +/** + * The task definition family this task definition is a member of. + */ +declare const SEMRESATTRS_AWS_ECS_TASK_FAMILY = "aws.ecs.task.family"; +/** + * The revision for this task definition. + */ +declare const SEMRESATTRS_AWS_ECS_TASK_REVISION = "aws.ecs.task.revision"; +/** + * The ARN of an EKS cluster. + */ +declare const SEMRESATTRS_AWS_EKS_CLUSTER_ARN = "aws.eks.cluster.arn"; +/** + * The name(s) of the AWS log group(s) an application is writing to. + * + * Note: Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. + */ +declare const SEMRESATTRS_AWS_LOG_GROUP_NAMES = "aws.log.group.names"; +/** + * The Amazon Resource Name(s) (ARN) of the AWS log group(s). + * + * Note: See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). + */ +declare const SEMRESATTRS_AWS_LOG_GROUP_ARNS = "aws.log.group.arns"; +/** + * The name(s) of the AWS log stream(s) an application is writing to. + */ +declare const SEMRESATTRS_AWS_LOG_STREAM_NAMES = "aws.log.stream.names"; +/** + * The ARN(s) of the AWS log stream(s). + * + * Note: See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + */ +declare const SEMRESATTRS_AWS_LOG_STREAM_ARNS = "aws.log.stream.arns"; +/** + * Container name. + */ +declare const SEMRESATTRS_CONTAINER_NAME = "container.name"; +/** + * Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated. + */ +declare const SEMRESATTRS_CONTAINER_ID = "container.id"; +/** + * The container runtime managing this container. + */ +declare const SEMRESATTRS_CONTAINER_RUNTIME = "container.runtime"; +/** + * Name of the image the container was built on. + */ +declare const SEMRESATTRS_CONTAINER_IMAGE_NAME = "container.image.name"; +/** + * Container image tag. + */ +declare const SEMRESATTRS_CONTAINER_IMAGE_TAG = "container.image.tag"; +/** + * Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka deployment tier). + */ +declare const SEMRESATTRS_DEPLOYMENT_ENVIRONMENT = "deployment.environment"; +/** + * A unique identifier representing the device. + * + * Note: The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found [here](https://developer.android.com/training/articles/user-data-ids) on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. + */ +declare const SEMRESATTRS_DEVICE_ID = "device.id"; +/** + * The model identifier for the device. + * + * Note: It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device. + */ +declare const SEMRESATTRS_DEVICE_MODEL_IDENTIFIER = "device.model.identifier"; +/** + * The marketing name for the device model. + * + * Note: It's recommended this value represents a human readable version of the device model rather than a machine readable alternative. + */ +declare const SEMRESATTRS_DEVICE_MODEL_NAME = "device.model.name"; +/** + * The name of the single function that this runtime instance executes. + * + * Note: This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-general.md#source-code-attributes) span attributes). + */ +declare const SEMRESATTRS_FAAS_NAME = "faas.name"; +/** +* The unique ID of the single function that this runtime instance executes. +* +* Note: Depending on the cloud provider, use: + +* **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). +Take care not to use the "invoked ARN" directly but replace any +[alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) with the resolved function version, as the same runtime instance may be invokable with multiple +different aliases. +* **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) +* **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id). + +On some providers, it may not be possible to determine the full ID at startup, +which is why this field cannot be made required. For example, on AWS the account ID +part of the ARN is not available without calling another AWS API +which may be deemed too slow for a short-running lambda function. +As an alternative, consider setting `faas.id` as a span attribute instead. +*/ +declare const SEMRESATTRS_FAAS_ID = "faas.id"; +/** +* The immutable version of the function being executed. +* +* Note: Depending on the cloud provider and platform, use: -declare const SemanticResourceAttributes: { +* **AWS Lambda:** The [function version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) +(an integer represented as a decimal string). +* **Google Cloud Run:** The [revision](https://cloud.google.com/run/docs/managing/revisions) +(i.e., the function name plus the revision suffix). +* **Google Cloud Functions:** The value of the +[`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). +* **Azure Functions:** Not applicable. Do not set this attribute. +*/ +declare const SEMRESATTRS_FAAS_VERSION = "faas.version"; +/** + * The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. + * + * Note: * **AWS Lambda:** Use the (full) log stream name. + */ +declare const SEMRESATTRS_FAAS_INSTANCE = "faas.instance"; +/** + * The amount of memory available to the serverless function in MiB. + * + * Note: It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information. + */ +declare const SEMRESATTRS_FAAS_MAX_MEMORY = "faas.max_memory"; +/** + * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. + */ +declare const SEMRESATTRS_HOST_ID = "host.id"; +/** + * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. + */ +declare const SEMRESATTRS_HOST_NAME = "host.name"; +/** + * Type of host. For Cloud, this must be the machine type. + */ +declare const SEMRESATTRS_HOST_TYPE = "host.type"; +/** + * The CPU architecture the host system is running on. + */ +declare const SEMRESATTRS_HOST_ARCH = "host.arch"; +/** + * Name of the VM image or OS install the host was instantiated from. + */ +declare const SEMRESATTRS_HOST_IMAGE_NAME = "host.image.name"; +/** + * VM image ID. For Cloud, this value is from the provider. + */ +declare const SEMRESATTRS_HOST_IMAGE_ID = "host.image.id"; +/** + * The version string of the VM image as defined in [Version Attributes](README.md#version-attributes). + */ +declare const SEMRESATTRS_HOST_IMAGE_VERSION = "host.image.version"; +/** + * The name of the cluster. + */ +declare const SEMRESATTRS_K8S_CLUSTER_NAME = "k8s.cluster.name"; +/** + * The name of the Node. + */ +declare const SEMRESATTRS_K8S_NODE_NAME = "k8s.node.name"; +/** + * The UID of the Node. + */ +declare const SEMRESATTRS_K8S_NODE_UID = "k8s.node.uid"; +/** + * The name of the namespace that the pod is running in. + */ +declare const SEMRESATTRS_K8S_NAMESPACE_NAME = "k8s.namespace.name"; +/** + * The UID of the Pod. + */ +declare const SEMRESATTRS_K8S_POD_UID = "k8s.pod.uid"; +/** + * The name of the Pod. + */ +declare const SEMRESATTRS_K8S_POD_NAME = "k8s.pod.name"; +/** + * The name of the Container in a Pod template. + */ +declare const SEMRESATTRS_K8S_CONTAINER_NAME = "k8s.container.name"; +/** + * The UID of the ReplicaSet. + */ +declare const SEMRESATTRS_K8S_REPLICASET_UID = "k8s.replicaset.uid"; +/** + * The name of the ReplicaSet. + */ +declare const SEMRESATTRS_K8S_REPLICASET_NAME = "k8s.replicaset.name"; +/** + * The UID of the Deployment. + */ +declare const SEMRESATTRS_K8S_DEPLOYMENT_UID = "k8s.deployment.uid"; +/** + * The name of the Deployment. + */ +declare const SEMRESATTRS_K8S_DEPLOYMENT_NAME = "k8s.deployment.name"; +/** + * The UID of the StatefulSet. + */ +declare const SEMRESATTRS_K8S_STATEFULSET_UID = "k8s.statefulset.uid"; +/** + * The name of the StatefulSet. + */ +declare const SEMRESATTRS_K8S_STATEFULSET_NAME = "k8s.statefulset.name"; +/** + * The UID of the DaemonSet. + */ +declare const SEMRESATTRS_K8S_DAEMONSET_UID = "k8s.daemonset.uid"; +/** + * The name of the DaemonSet. + */ +declare const SEMRESATTRS_K8S_DAEMONSET_NAME = "k8s.daemonset.name"; +/** + * The UID of the Job. + */ +declare const SEMRESATTRS_K8S_JOB_UID = "k8s.job.uid"; +/** + * The name of the Job. + */ +declare const SEMRESATTRS_K8S_JOB_NAME = "k8s.job.name"; +/** + * The UID of the CronJob. + */ +declare const SEMRESATTRS_K8S_CRONJOB_UID = "k8s.cronjob.uid"; +/** + * The name of the CronJob. + */ +declare const SEMRESATTRS_K8S_CRONJOB_NAME = "k8s.cronjob.name"; +/** + * The operating system type. + */ +declare const SEMRESATTRS_OS_TYPE = "os.type"; +/** + * Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. + */ +declare const SEMRESATTRS_OS_DESCRIPTION = "os.description"; +/** + * Human readable operating system name. + */ +declare const SEMRESATTRS_OS_NAME = "os.name"; +/** + * The version string of the operating system as defined in [Version Attributes](../../resource/semantic_conventions/README.md#version-attributes). + */ +declare const SEMRESATTRS_OS_VERSION = "os.version"; +/** + * Process identifier (PID). + */ +declare const SEMRESATTRS_PROCESS_PID = "process.pid"; +/** + * The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. + */ +declare const SEMRESATTRS_PROCESS_EXECUTABLE_NAME = "process.executable.name"; +/** + * The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. + */ +declare const SEMRESATTRS_PROCESS_EXECUTABLE_PATH = "process.executable.path"; +/** + * The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. + */ +declare const SEMRESATTRS_PROCESS_COMMAND = "process.command"; +/** + * The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. + */ +declare const SEMRESATTRS_PROCESS_COMMAND_LINE = "process.command_line"; +/** + * All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. + */ +declare const SEMRESATTRS_PROCESS_COMMAND_ARGS = "process.command_args"; +/** + * The username of the user that owns the process. + */ +declare const SEMRESATTRS_PROCESS_OWNER = "process.owner"; +/** + * The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. + */ +declare const SEMRESATTRS_PROCESS_RUNTIME_NAME = "process.runtime.name"; +/** + * The version of the runtime of this process, as returned by the runtime without modification. + */ +declare const SEMRESATTRS_PROCESS_RUNTIME_VERSION = "process.runtime.version"; +/** + * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. + */ +declare const SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION = "process.runtime.description"; +/** + * Logical name of the service. + * + * Note: MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md#process), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. + */ +declare const SEMRESATTRS_SERVICE_NAME = "service.name"; +/** + * A namespace for `service.name`. + * + * Note: A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. + */ +declare const SEMRESATTRS_SERVICE_NAMESPACE = "service.namespace"; +/** + * The string ID of the service instance. + * + * Note: MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words `service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations). + */ +declare const SEMRESATTRS_SERVICE_INSTANCE_ID = "service.instance.id"; +/** + * The version string of the service API or implementation. + */ +declare const SEMRESATTRS_SERVICE_VERSION = "service.version"; +/** + * The name of the telemetry SDK as defined above. + */ +declare const SEMRESATTRS_TELEMETRY_SDK_NAME = "telemetry.sdk.name"; +/** + * The language of the telemetry SDK. + */ +declare const SEMRESATTRS_TELEMETRY_SDK_LANGUAGE = "telemetry.sdk.language"; +/** + * The version string of the telemetry SDK. + */ +declare const SEMRESATTRS_TELEMETRY_SDK_VERSION = "telemetry.sdk.version"; +/** + * The version string of the auto instrumentation agent, if used. + */ +declare const SEMRESATTRS_TELEMETRY_AUTO_VERSION = "telemetry.auto.version"; +/** + * The name of the web engine. + */ +declare const SEMRESATTRS_WEBENGINE_NAME = "webengine.name"; +/** + * The version of the web engine. + */ +declare const SEMRESATTRS_WEBENGINE_VERSION = "webengine.version"; +/** + * Additional description of the web engine (e.g. detailed version and edition information). + */ +declare const SEMRESATTRS_WEBENGINE_DESCRIPTION = "webengine.description"; +/** + * Definition of available values for SemanticResourceAttributes + * This type is used for backward compatibility, you should use the individual exported + * constants SemanticResourceAttributes_XXXXX rather than the exported constant map. As any single reference + * to a constant map value will result in all strings being included into your bundle. + * @deprecated Use the SEMRESATTRS_XXXXX constants rather than the SemanticResourceAttributes.XXXXX for bundle minification. + */ +declare type SemanticResourceAttributes = { /** * Name of the cloud provider. */ - CLOUD_PROVIDER: string; + CLOUD_PROVIDER: 'cloud.provider'; /** * The cloud account ID the resource is assigned to. */ - CLOUD_ACCOUNT_ID: string; + CLOUD_ACCOUNT_ID: 'cloud.account.id'; /** * The geographical region the resource is running. Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en-us/global-infrastructure/geographies/), or [Google Cloud regions](https://cloud.google.com/about/locations). */ - CLOUD_REGION: string; + CLOUD_REGION: 'cloud.region'; /** * Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. * * Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud. */ - CLOUD_AVAILABILITY_ZONE: string; + CLOUD_AVAILABILITY_ZONE: 'cloud.availability_zone'; /** * The cloud platform in use. * * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. */ - CLOUD_PLATFORM: string; + CLOUD_PLATFORM: 'cloud.platform'; /** * The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). */ - AWS_ECS_CONTAINER_ARN: string; + AWS_ECS_CONTAINER_ARN: 'aws.ecs.container.arn'; /** * The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). */ - AWS_ECS_CLUSTER_ARN: string; + AWS_ECS_CLUSTER_ARN: 'aws.ecs.cluster.arn'; /** * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. */ - AWS_ECS_LAUNCHTYPE: string; + AWS_ECS_LAUNCHTYPE: 'aws.ecs.launchtype'; /** * The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). */ - AWS_ECS_TASK_ARN: string; + AWS_ECS_TASK_ARN: 'aws.ecs.task.arn'; /** * The task definition family this task definition is a member of. */ - AWS_ECS_TASK_FAMILY: string; + AWS_ECS_TASK_FAMILY: 'aws.ecs.task.family'; /** * The revision for this task definition. */ - AWS_ECS_TASK_REVISION: string; + AWS_ECS_TASK_REVISION: 'aws.ecs.task.revision'; /** * The ARN of an EKS cluster. */ - AWS_EKS_CLUSTER_ARN: string; + AWS_EKS_CLUSTER_ARN: 'aws.eks.cluster.arn'; /** * The name(s) of the AWS log group(s) an application is writing to. * * Note: Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. */ - AWS_LOG_GROUP_NAMES: string; + AWS_LOG_GROUP_NAMES: 'aws.log.group.names'; /** * The Amazon Resource Name(s) (ARN) of the AWS log group(s). * * Note: See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). */ - AWS_LOG_GROUP_ARNS: string; + AWS_LOG_GROUP_ARNS: 'aws.log.group.arns'; /** * The name(s) of the AWS log stream(s) an application is writing to. */ - AWS_LOG_STREAM_NAMES: string; + AWS_LOG_STREAM_NAMES: 'aws.log.stream.names'; /** * The ARN(s) of the AWS log stream(s). * * Note: See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. */ - AWS_LOG_STREAM_ARNS: string; + AWS_LOG_STREAM_ARNS: 'aws.log.stream.arns'; /** * Container name. */ - CONTAINER_NAME: string; + CONTAINER_NAME: 'container.name'; /** * Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated. */ - CONTAINER_ID: string; + CONTAINER_ID: 'container.id'; /** * The container runtime managing this container. */ - CONTAINER_RUNTIME: string; + CONTAINER_RUNTIME: 'container.runtime'; /** * Name of the image the container was built on. */ - CONTAINER_IMAGE_NAME: string; + CONTAINER_IMAGE_NAME: 'container.image.name'; /** * Container image tag. */ - CONTAINER_IMAGE_TAG: string; + CONTAINER_IMAGE_TAG: 'container.image.tag'; /** * Name of the [deployment environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka deployment tier). */ - DEPLOYMENT_ENVIRONMENT: string; + DEPLOYMENT_ENVIRONMENT: 'deployment.environment'; /** * A unique identifier representing the device. * * Note: The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found [here](https://developer.android.com/training/articles/user-data-ids) on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. */ - DEVICE_ID: string; + DEVICE_ID: 'device.id'; /** * The model identifier for the device. * * Note: It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device. */ - DEVICE_MODEL_IDENTIFIER: string; + DEVICE_MODEL_IDENTIFIER: 'device.model.identifier'; /** * The marketing name for the device model. * * Note: It's recommended this value represents a human readable version of the device model rather than a machine readable alternative. */ - DEVICE_MODEL_NAME: string; + DEVICE_MODEL_NAME: 'device.model.name'; /** * The name of the single function that this runtime instance executes. * * Note: This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-general.md#source-code-attributes) span attributes). */ - FAAS_NAME: string; + FAAS_NAME: 'faas.name'; /** * The unique ID of the single function that this runtime instance executes. * @@ -1036,7 +2685,7 @@ part of the ARN is not available without calling another AWS API which may be deemed too slow for a short-running lambda function. As an alternative, consider setting `faas.id` as a span attribute instead. */ - FAAS_ID: string; + FAAS_ID: 'faas.id'; /** * The immutable version of the function being executed. * @@ -1050,349 +2699,654 @@ As an alternative, consider setting `faas.id` as a span attribute instead. [`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). * **Azure Functions:** Not applicable. Do not set this attribute. */ - FAAS_VERSION: string; + FAAS_VERSION: 'faas.version'; /** * The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. * * Note: * **AWS Lambda:** Use the (full) log stream name. */ - FAAS_INSTANCE: string; + FAAS_INSTANCE: 'faas.instance'; /** * The amount of memory available to the serverless function in MiB. * * Note: It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information. */ - FAAS_MAX_MEMORY: string; + FAAS_MAX_MEMORY: 'faas.max_memory'; /** * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. */ - HOST_ID: string; + HOST_ID: 'host.id'; /** * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. */ - HOST_NAME: string; + HOST_NAME: 'host.name'; /** * Type of host. For Cloud, this must be the machine type. */ - HOST_TYPE: string; + HOST_TYPE: 'host.type'; /** * The CPU architecture the host system is running on. */ - HOST_ARCH: string; + HOST_ARCH: 'host.arch'; /** * Name of the VM image or OS install the host was instantiated from. */ - HOST_IMAGE_NAME: string; + HOST_IMAGE_NAME: 'host.image.name'; /** * VM image ID. For Cloud, this value is from the provider. */ - HOST_IMAGE_ID: string; + HOST_IMAGE_ID: 'host.image.id'; /** - * The version string of the VM image as defined in [Version SpanAttributes](README.md#version-attributes). + * The version string of the VM image as defined in [Version Attributes](README.md#version-attributes). */ - HOST_IMAGE_VERSION: string; + HOST_IMAGE_VERSION: 'host.image.version'; /** * The name of the cluster. */ - K8S_CLUSTER_NAME: string; + K8S_CLUSTER_NAME: 'k8s.cluster.name'; /** * The name of the Node. */ - K8S_NODE_NAME: string; + K8S_NODE_NAME: 'k8s.node.name'; /** * The UID of the Node. */ - K8S_NODE_UID: string; + K8S_NODE_UID: 'k8s.node.uid'; /** * The name of the namespace that the pod is running in. */ - K8S_NAMESPACE_NAME: string; + K8S_NAMESPACE_NAME: 'k8s.namespace.name'; /** * The UID of the Pod. */ - K8S_POD_UID: string; + K8S_POD_UID: 'k8s.pod.uid'; /** * The name of the Pod. */ - K8S_POD_NAME: string; + K8S_POD_NAME: 'k8s.pod.name'; /** * The name of the Container in a Pod template. */ - K8S_CONTAINER_NAME: string; + K8S_CONTAINER_NAME: 'k8s.container.name'; /** * The UID of the ReplicaSet. */ - K8S_REPLICASET_UID: string; + K8S_REPLICASET_UID: 'k8s.replicaset.uid'; /** * The name of the ReplicaSet. */ - K8S_REPLICASET_NAME: string; + K8S_REPLICASET_NAME: 'k8s.replicaset.name'; /** * The UID of the Deployment. */ - K8S_DEPLOYMENT_UID: string; + K8S_DEPLOYMENT_UID: 'k8s.deployment.uid'; /** * The name of the Deployment. */ - K8S_DEPLOYMENT_NAME: string; + K8S_DEPLOYMENT_NAME: 'k8s.deployment.name'; /** * The UID of the StatefulSet. */ - K8S_STATEFULSET_UID: string; + K8S_STATEFULSET_UID: 'k8s.statefulset.uid'; /** * The name of the StatefulSet. */ - K8S_STATEFULSET_NAME: string; + K8S_STATEFULSET_NAME: 'k8s.statefulset.name'; /** * The UID of the DaemonSet. */ - K8S_DAEMONSET_UID: string; + K8S_DAEMONSET_UID: 'k8s.daemonset.uid'; /** * The name of the DaemonSet. */ - K8S_DAEMONSET_NAME: string; + K8S_DAEMONSET_NAME: 'k8s.daemonset.name'; /** * The UID of the Job. */ - K8S_JOB_UID: string; + K8S_JOB_UID: 'k8s.job.uid'; /** * The name of the Job. */ - K8S_JOB_NAME: string; + K8S_JOB_NAME: 'k8s.job.name'; /** * The UID of the CronJob. */ - K8S_CRONJOB_UID: string; + K8S_CRONJOB_UID: 'k8s.cronjob.uid'; /** * The name of the CronJob. */ - K8S_CRONJOB_NAME: string; + K8S_CRONJOB_NAME: 'k8s.cronjob.name'; /** * The operating system type. */ - OS_TYPE: string; + OS_TYPE: 'os.type'; /** * Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. */ - OS_DESCRIPTION: string; + OS_DESCRIPTION: 'os.description'; /** * Human readable operating system name. */ - OS_NAME: string; + OS_NAME: 'os.name'; /** - * The version string of the operating system as defined in [Version SpanAttributes](../../resource/semantic_conventions/README.md#version-attributes). + * The version string of the operating system as defined in [Version Attributes](../../resource/semantic_conventions/README.md#version-attributes). */ - OS_VERSION: string; + OS_VERSION: 'os.version'; /** * Process identifier (PID). */ - PROCESS_PID: string; + PROCESS_PID: 'process.pid'; /** * The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. */ - PROCESS_EXECUTABLE_NAME: string; + PROCESS_EXECUTABLE_NAME: 'process.executable.name'; /** * The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. */ - PROCESS_EXECUTABLE_PATH: string; + PROCESS_EXECUTABLE_PATH: 'process.executable.path'; /** * The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. */ - PROCESS_COMMAND: string; + PROCESS_COMMAND: 'process.command'; /** * The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. */ - PROCESS_COMMAND_LINE: string; + PROCESS_COMMAND_LINE: 'process.command_line'; /** * All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. */ - PROCESS_COMMAND_ARGS: string; + PROCESS_COMMAND_ARGS: 'process.command_args'; /** * The username of the user that owns the process. */ - PROCESS_OWNER: string; + PROCESS_OWNER: 'process.owner'; /** * The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. */ - PROCESS_RUNTIME_NAME: string; + PROCESS_RUNTIME_NAME: 'process.runtime.name'; /** * The version of the runtime of this process, as returned by the runtime without modification. */ - PROCESS_RUNTIME_VERSION: string; + PROCESS_RUNTIME_VERSION: 'process.runtime.version'; /** * An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. */ - PROCESS_RUNTIME_DESCRIPTION: string; + PROCESS_RUNTIME_DESCRIPTION: 'process.runtime.description'; /** * Logical name of the service. * * Note: MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md#process), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`. */ - SERVICE_NAME: string; + SERVICE_NAME: 'service.name'; /** * A namespace for `service.name`. * * Note: A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. */ - SERVICE_NAMESPACE: string; + SERVICE_NAMESPACE: 'service.namespace'; /** * The string ID of the service instance. * * Note: MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words `service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations). */ - SERVICE_INSTANCE_ID: string; + SERVICE_INSTANCE_ID: 'service.instance.id'; /** * The version string of the service API or implementation. */ - SERVICE_VERSION: string; + SERVICE_VERSION: 'service.version'; /** * The name of the telemetry SDK as defined above. */ - TELEMETRY_SDK_NAME: string; + TELEMETRY_SDK_NAME: 'telemetry.sdk.name'; /** * The language of the telemetry SDK. */ - TELEMETRY_SDK_LANGUAGE: string; + TELEMETRY_SDK_LANGUAGE: 'telemetry.sdk.language'; /** * The version string of the telemetry SDK. */ - TELEMETRY_SDK_VERSION: string; + TELEMETRY_SDK_VERSION: 'telemetry.sdk.version'; /** * The version string of the auto instrumentation agent, if used. */ - TELEMETRY_AUTO_VERSION: string; + TELEMETRY_AUTO_VERSION: 'telemetry.auto.version'; /** * The name of the web engine. */ - WEBENGINE_NAME: string; + WEBENGINE_NAME: 'webengine.name'; /** * The version of the web engine. */ - WEBENGINE_VERSION: string; + WEBENGINE_VERSION: 'webengine.version'; /** * Additional description of the web engine (e.g. detailed version and edition information). */ - WEBENGINE_DESCRIPTION: string; + WEBENGINE_DESCRIPTION: 'webengine.description'; }; -declare const CloudProviderValues: { +/** + * Create exported Value Map for SemanticResourceAttributes values + * @deprecated Use the SEMRESATTRS_XXXXX constants rather than the SemanticResourceAttributes.XXXXX for bundle minification + */ +declare const SemanticResourceAttributes: SemanticResourceAttributes; +/** + * Name of the cloud provider. + */ +declare const CLOUDPROVIDERVALUES_ALIBABA_CLOUD = "alibaba_cloud"; +/** + * Name of the cloud provider. + */ +declare const CLOUDPROVIDERVALUES_AWS = "aws"; +/** + * Name of the cloud provider. + */ +declare const CLOUDPROVIDERVALUES_AZURE = "azure"; +/** + * Name of the cloud provider. + */ +declare const CLOUDPROVIDERVALUES_GCP = "gcp"; +/** + * Identifies the Values for CloudProviderValues enum definition + * + * Name of the cloud provider. + * @deprecated Use the CLOUDPROVIDERVALUES_XXXXX constants rather than the CloudProviderValues.XXXXX for bundle minification. + */ +declare type CloudProviderValues = { /** Alibaba Cloud. */ - readonly ALIBABA_CLOUD: "alibaba_cloud"; + ALIBABA_CLOUD: 'alibaba_cloud'; /** Amazon Web Services. */ - readonly AWS: "aws"; + AWS: 'aws'; /** Microsoft Azure. */ - readonly AZURE: "azure"; + AZURE: 'azure'; /** Google Cloud Platform. */ - readonly GCP: "gcp"; + GCP: 'gcp'; }; -declare type CloudProviderValues = (typeof CloudProviderValues)[keyof typeof CloudProviderValues]; -declare const CloudPlatformValues: { +/** + * The constant map of values for CloudProviderValues. + * @deprecated Use the CLOUDPROVIDERVALUES_XXXXX constants rather than the CloudProviderValues.XXXXX for bundle minification. + */ +declare const CloudProviderValues: CloudProviderValues; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = "alibaba_cloud_fc"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AWS_EC2 = "aws_ec2"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AWS_ECS = "aws_ecs"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AWS_EKS = "aws_eks"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AWS_LAMBDA = "aws_lambda"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AZURE_VM = "azure_vm"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = "azure_container_instances"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AZURE_AKS = "azure_aks"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = "azure_functions"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = "azure_app_service"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = "gcp_compute_engine"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = "gcp_cloud_run"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = "gcp_kubernetes_engine"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = "gcp_cloud_functions"; +/** + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + */ +declare const CLOUDPLATFORMVALUES_GCP_APP_ENGINE = "gcp_app_engine"; +/** + * Identifies the Values for CloudPlatformValues enum definition + * + * The cloud platform in use. + * + * Note: The prefix of the service SHOULD match the one specified in `cloud.provider`. + * @deprecated Use the CLOUDPLATFORMVALUES_XXXXX constants rather than the CloudPlatformValues.XXXXX for bundle minification. + */ +declare type CloudPlatformValues = { /** Alibaba Cloud Elastic Compute Service. */ - readonly ALIBABA_CLOUD_ECS: "alibaba_cloud_ecs"; + ALIBABA_CLOUD_ECS: 'alibaba_cloud_ecs'; /** Alibaba Cloud Function Compute. */ - readonly ALIBABA_CLOUD_FC: "alibaba_cloud_fc"; + ALIBABA_CLOUD_FC: 'alibaba_cloud_fc'; /** AWS Elastic Compute Cloud. */ - readonly AWS_EC2: "aws_ec2"; + AWS_EC2: 'aws_ec2'; /** AWS Elastic Container Service. */ - readonly AWS_ECS: "aws_ecs"; + AWS_ECS: 'aws_ecs'; /** AWS Elastic Kubernetes Service. */ - readonly AWS_EKS: "aws_eks"; + AWS_EKS: 'aws_eks'; /** AWS Lambda. */ - readonly AWS_LAMBDA: "aws_lambda"; + AWS_LAMBDA: 'aws_lambda'; /** AWS Elastic Beanstalk. */ - readonly AWS_ELASTIC_BEANSTALK: "aws_elastic_beanstalk"; + AWS_ELASTIC_BEANSTALK: 'aws_elastic_beanstalk'; /** Azure Virtual Machines. */ - readonly AZURE_VM: "azure_vm"; + AZURE_VM: 'azure_vm'; /** Azure Container Instances. */ - readonly AZURE_CONTAINER_INSTANCES: "azure_container_instances"; + AZURE_CONTAINER_INSTANCES: 'azure_container_instances'; /** Azure Kubernetes Service. */ - readonly AZURE_AKS: "azure_aks"; + AZURE_AKS: 'azure_aks'; /** Azure Functions. */ - readonly AZURE_FUNCTIONS: "azure_functions"; + AZURE_FUNCTIONS: 'azure_functions'; /** Azure App Service. */ - readonly AZURE_APP_SERVICE: "azure_app_service"; + AZURE_APP_SERVICE: 'azure_app_service'; /** Google Cloud Compute Engine (GCE). */ - readonly GCP_COMPUTE_ENGINE: "gcp_compute_engine"; + GCP_COMPUTE_ENGINE: 'gcp_compute_engine'; /** Google Cloud Run. */ - readonly GCP_CLOUD_RUN: "gcp_cloud_run"; + GCP_CLOUD_RUN: 'gcp_cloud_run'; /** Google Cloud Kubernetes Engine (GKE). */ - readonly GCP_KUBERNETES_ENGINE: "gcp_kubernetes_engine"; + GCP_KUBERNETES_ENGINE: 'gcp_kubernetes_engine'; /** Google Cloud Functions (GCF). */ - readonly GCP_CLOUD_FUNCTIONS: "gcp_cloud_functions"; + GCP_CLOUD_FUNCTIONS: 'gcp_cloud_functions'; /** Google Cloud App Engine (GAE). */ - readonly GCP_APP_ENGINE: "gcp_app_engine"; + GCP_APP_ENGINE: 'gcp_app_engine'; }; -declare type CloudPlatformValues = (typeof CloudPlatformValues)[keyof typeof CloudPlatformValues]; -declare const AwsEcsLaunchtypeValues: { +/** + * The constant map of values for CloudPlatformValues. + * @deprecated Use the CLOUDPLATFORMVALUES_XXXXX constants rather than the CloudPlatformValues.XXXXX for bundle minification. + */ +declare const CloudPlatformValues: CloudPlatformValues; +/** + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + */ +declare const AWSECSLAUNCHTYPEVALUES_EC2 = "ec2"; +/** + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + */ +declare const AWSECSLAUNCHTYPEVALUES_FARGATE = "fargate"; +/** + * Identifies the Values for AwsEcsLaunchtypeValues enum definition + * + * The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. + * @deprecated Use the AWSECSLAUNCHTYPEVALUES_XXXXX constants rather than the AwsEcsLaunchtypeValues.XXXXX for bundle minification. + */ +declare type AwsEcsLaunchtypeValues = { /** ec2. */ - readonly EC2: "ec2"; + EC2: 'ec2'; /** fargate. */ - readonly FARGATE: "fargate"; + FARGATE: 'fargate'; }; -declare type AwsEcsLaunchtypeValues = (typeof AwsEcsLaunchtypeValues)[keyof typeof AwsEcsLaunchtypeValues]; -declare const HostArchValues: { +/** + * The constant map of values for AwsEcsLaunchtypeValues. + * @deprecated Use the AWSECSLAUNCHTYPEVALUES_XXXXX constants rather than the AwsEcsLaunchtypeValues.XXXXX for bundle minification. + */ +declare const AwsEcsLaunchtypeValues: AwsEcsLaunchtypeValues; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_AMD64 = "amd64"; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_ARM32 = "arm32"; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_ARM64 = "arm64"; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_IA64 = "ia64"; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_PPC32 = "ppc32"; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_PPC64 = "ppc64"; +/** + * The CPU architecture the host system is running on. + */ +declare const HOSTARCHVALUES_X86 = "x86"; +/** + * Identifies the Values for HostArchValues enum definition + * + * The CPU architecture the host system is running on. + * @deprecated Use the HOSTARCHVALUES_XXXXX constants rather than the HostArchValues.XXXXX for bundle minification. + */ +declare type HostArchValues = { /** AMD64. */ - readonly AMD64: "amd64"; + AMD64: 'amd64'; /** ARM32. */ - readonly ARM32: "arm32"; + ARM32: 'arm32'; /** ARM64. */ - readonly ARM64: "arm64"; + ARM64: 'arm64'; /** Itanium. */ - readonly IA64: "ia64"; + IA64: 'ia64'; /** 32-bit PowerPC. */ - readonly PPC32: "ppc32"; + PPC32: 'ppc32'; /** 64-bit PowerPC. */ - readonly PPC64: "ppc64"; + PPC64: 'ppc64'; /** 32-bit x86. */ - readonly X86: "x86"; + X86: 'x86'; }; -declare type HostArchValues = (typeof HostArchValues)[keyof typeof HostArchValues]; -declare const OsTypeValues: { +/** + * The constant map of values for HostArchValues. + * @deprecated Use the HOSTARCHVALUES_XXXXX constants rather than the HostArchValues.XXXXX for bundle minification. + */ +declare const HostArchValues: HostArchValues; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_WINDOWS = "windows"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_LINUX = "linux"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_DARWIN = "darwin"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_FREEBSD = "freebsd"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_NETBSD = "netbsd"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_OPENBSD = "openbsd"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_DRAGONFLYBSD = "dragonflybsd"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_HPUX = "hpux"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_AIX = "aix"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_SOLARIS = "solaris"; +/** + * The operating system type. + */ +declare const OSTYPEVALUES_Z_OS = "z_os"; +/** + * Identifies the Values for OsTypeValues enum definition + * + * The operating system type. + * @deprecated Use the OSTYPEVALUES_XXXXX constants rather than the OsTypeValues.XXXXX for bundle minification. + */ +declare type OsTypeValues = { /** Microsoft Windows. */ - readonly WINDOWS: "windows"; + WINDOWS: 'windows'; /** Linux. */ - readonly LINUX: "linux"; + LINUX: 'linux'; /** Apple Darwin. */ - readonly DARWIN: "darwin"; + DARWIN: 'darwin'; /** FreeBSD. */ - readonly FREEBSD: "freebsd"; + FREEBSD: 'freebsd'; /** NetBSD. */ - readonly NETBSD: "netbsd"; + NETBSD: 'netbsd'; /** OpenBSD. */ - readonly OPENBSD: "openbsd"; + OPENBSD: 'openbsd'; /** DragonFly BSD. */ - readonly DRAGONFLYBSD: "dragonflybsd"; + DRAGONFLYBSD: 'dragonflybsd'; /** HP-UX (Hewlett Packard Unix). */ - readonly HPUX: "hpux"; + HPUX: 'hpux'; /** AIX (Advanced Interactive eXecutive). */ - readonly AIX: "aix"; + AIX: 'aix'; /** Oracle Solaris. */ - readonly SOLARIS: "solaris"; + SOLARIS: 'solaris'; /** IBM z/OS. */ - readonly Z_OS: "z_os"; + Z_OS: 'z_os'; }; -declare type OsTypeValues = (typeof OsTypeValues)[keyof typeof OsTypeValues]; -declare const TelemetrySdkLanguageValues: { +/** + * The constant map of values for OsTypeValues. + * @deprecated Use the OSTYPEVALUES_XXXXX constants rather than the OsTypeValues.XXXXX for bundle minification. + */ +declare const OsTypeValues: OsTypeValues; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_CPP = "cpp"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_DOTNET = "dotnet"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_ERLANG = "erlang"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_GO = "go"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_JAVA = "java"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_NODEJS = "nodejs"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_PHP = "php"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_PYTHON = "python"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_RUBY = "ruby"; +/** + * The language of the telemetry SDK. + */ +declare const TELEMETRYSDKLANGUAGEVALUES_WEBJS = "webjs"; +/** + * Identifies the Values for TelemetrySdkLanguageValues enum definition + * + * The language of the telemetry SDK. + * @deprecated Use the TELEMETRYSDKLANGUAGEVALUES_XXXXX constants rather than the TelemetrySdkLanguageValues.XXXXX for bundle minification. + */ +declare type TelemetrySdkLanguageValues = { /** cpp. */ - readonly CPP: "cpp"; + CPP: 'cpp'; /** dotnet. */ - readonly DOTNET: "dotnet"; + DOTNET: 'dotnet'; /** erlang. */ - readonly ERLANG: "erlang"; + ERLANG: 'erlang'; /** go. */ - readonly GO: "go"; + GO: 'go'; /** java. */ - readonly JAVA: "java"; + JAVA: 'java'; /** nodejs. */ - readonly NODEJS: "nodejs"; + NODEJS: 'nodejs'; /** php. */ - readonly PHP: "php"; + PHP: 'php'; /** python. */ - readonly PYTHON: "python"; + PYTHON: 'python'; /** ruby. */ - readonly RUBY: "ruby"; + RUBY: 'ruby'; /** webjs. */ - readonly WEBJS: "webjs"; + WEBJS: 'webjs'; }; -declare type TelemetrySdkLanguageValues = (typeof TelemetrySdkLanguageValues)[keyof typeof TelemetrySdkLanguageValues]; +/** + * The constant map of values for TelemetrySdkLanguageValues. + * @deprecated Use the TELEMETRYSDKLANGUAGEVALUES_XXXXX constants rather than the TelemetrySdkLanguageValues.XXXXX for bundle minification. + */ +declare const TelemetrySdkLanguageValues: TelemetrySdkLanguageValues; -export { AwsEcsLaunchtypeValues, CloudPlatformValues, CloudProviderValues, DbCassandraConsistencyLevelValues, DbSystemValues, FaasDocumentOperationValues, FaasInvokedProviderValues, FaasTriggerValues, HostArchValues, HttpFlavorValues, MessageTypeValues, MessagingDestinationKindValues, MessagingOperationValues, NetHostConnectionSubtypeValues, NetHostConnectionTypeValues, NetTransportValues, OsTypeValues, RpcGrpcStatusCodeValues, SemanticAttributes, SemanticResourceAttributes, TelemetrySdkLanguageValues }; +export { AWSECSLAUNCHTYPEVALUES_EC2, AWSECSLAUNCHTYPEVALUES_FARGATE, AwsEcsLaunchtypeValues, CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS, CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC, CLOUDPLATFORMVALUES_AWS_EC2, CLOUDPLATFORMVALUES_AWS_ECS, CLOUDPLATFORMVALUES_AWS_EKS, CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK, CLOUDPLATFORMVALUES_AWS_LAMBDA, CLOUDPLATFORMVALUES_AZURE_AKS, CLOUDPLATFORMVALUES_AZURE_APP_SERVICE, CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES, CLOUDPLATFORMVALUES_AZURE_FUNCTIONS, CLOUDPLATFORMVALUES_AZURE_VM, CLOUDPLATFORMVALUES_GCP_APP_ENGINE, CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS, CLOUDPLATFORMVALUES_GCP_CLOUD_RUN, CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE, CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE, CLOUDPROVIDERVALUES_ALIBABA_CLOUD, CLOUDPROVIDERVALUES_AWS, CLOUDPROVIDERVALUES_AZURE, CLOUDPROVIDERVALUES_GCP, CloudPlatformValues, CloudProviderValues, DBCASSANDRACONSISTENCYLEVELVALUES_ALL, DBCASSANDRACONSISTENCYLEVELVALUES_ANY, DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL, DBCASSANDRACONSISTENCYLEVELVALUES_ONE, DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL, DBCASSANDRACONSISTENCYLEVELVALUES_THREE, DBCASSANDRACONSISTENCYLEVELVALUES_TWO, DBSYSTEMVALUES_ADABAS, DBSYSTEMVALUES_CACHE, DBSYSTEMVALUES_CASSANDRA, DBSYSTEMVALUES_CLOUDSCAPE, DBSYSTEMVALUES_COCKROACHDB, DBSYSTEMVALUES_COLDFUSION, DBSYSTEMVALUES_COSMOSDB, DBSYSTEMVALUES_COUCHBASE, DBSYSTEMVALUES_COUCHDB, DBSYSTEMVALUES_DB2, DBSYSTEMVALUES_DERBY, DBSYSTEMVALUES_DYNAMODB, DBSYSTEMVALUES_EDB, DBSYSTEMVALUES_ELASTICSEARCH, DBSYSTEMVALUES_FILEMAKER, DBSYSTEMVALUES_FIREBIRD, DBSYSTEMVALUES_FIRSTSQL, DBSYSTEMVALUES_GEODE, DBSYSTEMVALUES_H2, DBSYSTEMVALUES_HANADB, DBSYSTEMVALUES_HBASE, DBSYSTEMVALUES_HIVE, DBSYSTEMVALUES_HSQLDB, DBSYSTEMVALUES_INFORMIX, DBSYSTEMVALUES_INGRES, DBSYSTEMVALUES_INSTANTDB, DBSYSTEMVALUES_INTERBASE, DBSYSTEMVALUES_MARIADB, DBSYSTEMVALUES_MAXDB, DBSYSTEMVALUES_MEMCACHED, DBSYSTEMVALUES_MONGODB, DBSYSTEMVALUES_MSSQL, DBSYSTEMVALUES_MYSQL, DBSYSTEMVALUES_NEO4J, DBSYSTEMVALUES_NETEZZA, DBSYSTEMVALUES_ORACLE, DBSYSTEMVALUES_OTHER_SQL, DBSYSTEMVALUES_PERVASIVE, DBSYSTEMVALUES_POINTBASE, DBSYSTEMVALUES_POSTGRESQL, DBSYSTEMVALUES_PROGRESS, DBSYSTEMVALUES_REDIS, DBSYSTEMVALUES_REDSHIFT, DBSYSTEMVALUES_SQLITE, DBSYSTEMVALUES_SYBASE, DBSYSTEMVALUES_TERADATA, DBSYSTEMVALUES_VERTICA, DbCassandraConsistencyLevelValues, DbSystemValues, FAASDOCUMENTOPERATIONVALUES_DELETE, FAASDOCUMENTOPERATIONVALUES_EDIT, FAASDOCUMENTOPERATIONVALUES_INSERT, FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD, FAASINVOKEDPROVIDERVALUES_AWS, FAASINVOKEDPROVIDERVALUES_AZURE, FAASINVOKEDPROVIDERVALUES_GCP, FAASTRIGGERVALUES_DATASOURCE, FAASTRIGGERVALUES_HTTP, FAASTRIGGERVALUES_OTHER, FAASTRIGGERVALUES_PUBSUB, FAASTRIGGERVALUES_TIMER, FaasDocumentOperationValues, FaasInvokedProviderValues, FaasTriggerValues, HOSTARCHVALUES_AMD64, HOSTARCHVALUES_ARM32, HOSTARCHVALUES_ARM64, HOSTARCHVALUES_IA64, HOSTARCHVALUES_PPC32, HOSTARCHVALUES_PPC64, HOSTARCHVALUES_X86, HTTPFLAVORVALUES_HTTP_1_0, HTTPFLAVORVALUES_HTTP_1_1, HTTPFLAVORVALUES_HTTP_2_0, HTTPFLAVORVALUES_QUIC, HTTPFLAVORVALUES_SPDY, HostArchValues, HttpFlavorValues, MESSAGETYPEVALUES_RECEIVED, MESSAGETYPEVALUES_SENT, MESSAGINGDESTINATIONKINDVALUES_QUEUE, MESSAGINGDESTINATIONKINDVALUES_TOPIC, MESSAGINGOPERATIONVALUES_PROCESS, MESSAGINGOPERATIONVALUES_RECEIVE, MessageTypeValues, MessagingDestinationKindValues, MessagingOperationValues, NETHOSTCONNECTIONSUBTYPEVALUES_CDMA, NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT, NETHOSTCONNECTIONSUBTYPEVALUES_EDGE, NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B, NETHOSTCONNECTIONSUBTYPEVALUES_GPRS, NETHOSTCONNECTIONSUBTYPEVALUES_GSM, NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA, NETHOSTCONNECTIONSUBTYPEVALUES_HSPA, NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP, NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA, NETHOSTCONNECTIONSUBTYPEVALUES_IDEN, NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN, NETHOSTCONNECTIONSUBTYPEVALUES_LTE, NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA, NETHOSTCONNECTIONSUBTYPEVALUES_NR, NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA, NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA, NETHOSTCONNECTIONSUBTYPEVALUES_UMTS, NETHOSTCONNECTIONTYPEVALUES_CELL, NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE, NETHOSTCONNECTIONTYPEVALUES_UNKNOWN, NETHOSTCONNECTIONTYPEVALUES_WIFI, NETHOSTCONNECTIONTYPEVALUES_WIRED, NETTRANSPORTVALUES_INPROC, NETTRANSPORTVALUES_IP, NETTRANSPORTVALUES_IP_TCP, NETTRANSPORTVALUES_IP_UDP, NETTRANSPORTVALUES_OTHER, NETTRANSPORTVALUES_PIPE, NETTRANSPORTVALUES_UNIX, NetHostConnectionSubtypeValues, NetHostConnectionTypeValues, NetTransportValues, OSTYPEVALUES_AIX, OSTYPEVALUES_DARWIN, OSTYPEVALUES_DRAGONFLYBSD, OSTYPEVALUES_FREEBSD, OSTYPEVALUES_HPUX, OSTYPEVALUES_LINUX, OSTYPEVALUES_NETBSD, OSTYPEVALUES_OPENBSD, OSTYPEVALUES_SOLARIS, OSTYPEVALUES_WINDOWS, OSTYPEVALUES_Z_OS, OsTypeValues, RPCGRPCSTATUSCODEVALUES_ABORTED, RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS, RPCGRPCSTATUSCODEVALUES_CANCELLED, RPCGRPCSTATUSCODEVALUES_DATA_LOSS, RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED, RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION, RPCGRPCSTATUSCODEVALUES_INTERNAL, RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT, RPCGRPCSTATUSCODEVALUES_NOT_FOUND, RPCGRPCSTATUSCODEVALUES_OK, RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE, RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED, RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED, RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED, RPCGRPCSTATUSCODEVALUES_UNAVAILABLE, RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED, RPCGRPCSTATUSCODEVALUES_UNKNOWN, RpcGrpcStatusCodeValues, SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET, SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS, SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ, SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY, SEMATTRS_AWS_DYNAMODB_COUNT, SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE, SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES, SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES, SEMATTRS_AWS_DYNAMODB_INDEX_NAME, SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS, SEMATTRS_AWS_DYNAMODB_LIMIT, SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES, SEMATTRS_AWS_DYNAMODB_PROJECTION, SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY, SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY, SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT, SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD, SEMATTRS_AWS_DYNAMODB_SEGMENT, SEMATTRS_AWS_DYNAMODB_SELECT, SEMATTRS_AWS_DYNAMODB_TABLE_COUNT, SEMATTRS_AWS_DYNAMODB_TABLE_NAMES, SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS, SEMATTRS_AWS_LAMBDA_INVOKED_ARN, SEMATTRS_CODE_FILEPATH, SEMATTRS_CODE_FUNCTION, SEMATTRS_CODE_LINENO, SEMATTRS_CODE_NAMESPACE, SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL, SEMATTRS_DB_CASSANDRA_COORDINATOR_DC, SEMATTRS_DB_CASSANDRA_COORDINATOR_ID, SEMATTRS_DB_CASSANDRA_IDEMPOTENCE, SEMATTRS_DB_CASSANDRA_KEYSPACE, SEMATTRS_DB_CASSANDRA_PAGE_SIZE, SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, SEMATTRS_DB_CASSANDRA_TABLE, SEMATTRS_DB_CONNECTION_STRING, SEMATTRS_DB_HBASE_NAMESPACE, SEMATTRS_DB_JDBC_DRIVER_CLASSNAME, SEMATTRS_DB_MONGODB_COLLECTION, SEMATTRS_DB_MSSQL_INSTANCE_NAME, SEMATTRS_DB_NAME, SEMATTRS_DB_OPERATION, SEMATTRS_DB_REDIS_DATABASE_INDEX, SEMATTRS_DB_SQL_TABLE, SEMATTRS_DB_STATEMENT, SEMATTRS_DB_SYSTEM, SEMATTRS_DB_USER, SEMATTRS_ENDUSER_ID, SEMATTRS_ENDUSER_ROLE, SEMATTRS_ENDUSER_SCOPE, SEMATTRS_EXCEPTION_ESCAPED, SEMATTRS_EXCEPTION_MESSAGE, SEMATTRS_EXCEPTION_STACKTRACE, SEMATTRS_EXCEPTION_TYPE, SEMATTRS_FAAS_COLDSTART, SEMATTRS_FAAS_CRON, SEMATTRS_FAAS_DOCUMENT_COLLECTION, SEMATTRS_FAAS_DOCUMENT_NAME, SEMATTRS_FAAS_DOCUMENT_OPERATION, SEMATTRS_FAAS_DOCUMENT_TIME, SEMATTRS_FAAS_EXECUTION, SEMATTRS_FAAS_INVOKED_NAME, SEMATTRS_FAAS_INVOKED_PROVIDER, SEMATTRS_FAAS_INVOKED_REGION, SEMATTRS_FAAS_TIME, SEMATTRS_FAAS_TRIGGER, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_FLAVOR, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH, SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED, SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH, SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_TARGET, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_MESSAGE_COMPRESSED_SIZE, SEMATTRS_MESSAGE_ID, SEMATTRS_MESSAGE_TYPE, SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE, SEMATTRS_MESSAGING_CONSUMER_ID, SEMATTRS_MESSAGING_CONVERSATION_ID, SEMATTRS_MESSAGING_DESTINATION, SEMATTRS_MESSAGING_DESTINATION_KIND, SEMATTRS_MESSAGING_KAFKA_CLIENT_ID, SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP, SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY, SEMATTRS_MESSAGING_KAFKA_PARTITION, SEMATTRS_MESSAGING_KAFKA_TOMBSTONE, SEMATTRS_MESSAGING_MESSAGE_ID, SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES, SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES, SEMATTRS_MESSAGING_OPERATION, SEMATTRS_MESSAGING_PROTOCOL, SEMATTRS_MESSAGING_PROTOCOL_VERSION, SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY, SEMATTRS_MESSAGING_SYSTEM, SEMATTRS_MESSAGING_TEMP_DESTINATION, SEMATTRS_MESSAGING_URL, SEMATTRS_NET_HOST_CARRIER_ICC, SEMATTRS_NET_HOST_CARRIER_MCC, SEMATTRS_NET_HOST_CARRIER_MNC, SEMATTRS_NET_HOST_CARRIER_NAME, SEMATTRS_NET_HOST_CONNECTION_SUBTYPE, SEMATTRS_NET_HOST_CONNECTION_TYPE, SEMATTRS_NET_HOST_IP, SEMATTRS_NET_HOST_NAME, SEMATTRS_NET_HOST_PORT, SEMATTRS_NET_PEER_IP, SEMATTRS_NET_PEER_NAME, SEMATTRS_NET_PEER_PORT, SEMATTRS_NET_TRANSPORT, SEMATTRS_PEER_SERVICE, SEMATTRS_RPC_GRPC_STATUS_CODE, SEMATTRS_RPC_JSONRPC_ERROR_CODE, SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE, SEMATTRS_RPC_JSONRPC_REQUEST_ID, SEMATTRS_RPC_JSONRPC_VERSION, SEMATTRS_RPC_METHOD, SEMATTRS_RPC_SERVICE, SEMATTRS_RPC_SYSTEM, SEMATTRS_THREAD_ID, SEMATTRS_THREAD_NAME, SEMRESATTRS_AWS_ECS_CLUSTER_ARN, SEMRESATTRS_AWS_ECS_CONTAINER_ARN, SEMRESATTRS_AWS_ECS_LAUNCHTYPE, SEMRESATTRS_AWS_ECS_TASK_ARN, SEMRESATTRS_AWS_ECS_TASK_FAMILY, SEMRESATTRS_AWS_ECS_TASK_REVISION, SEMRESATTRS_AWS_EKS_CLUSTER_ARN, SEMRESATTRS_AWS_LOG_GROUP_ARNS, SEMRESATTRS_AWS_LOG_GROUP_NAMES, SEMRESATTRS_AWS_LOG_STREAM_ARNS, SEMRESATTRS_AWS_LOG_STREAM_NAMES, SEMRESATTRS_CLOUD_ACCOUNT_ID, SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, SEMRESATTRS_CLOUD_PLATFORM, SEMRESATTRS_CLOUD_PROVIDER, SEMRESATTRS_CLOUD_REGION, SEMRESATTRS_CONTAINER_ID, SEMRESATTRS_CONTAINER_IMAGE_NAME, SEMRESATTRS_CONTAINER_IMAGE_TAG, SEMRESATTRS_CONTAINER_NAME, SEMRESATTRS_CONTAINER_RUNTIME, SEMRESATTRS_DEPLOYMENT_ENVIRONMENT, SEMRESATTRS_DEVICE_ID, SEMRESATTRS_DEVICE_MODEL_IDENTIFIER, SEMRESATTRS_DEVICE_MODEL_NAME, SEMRESATTRS_FAAS_ID, SEMRESATTRS_FAAS_INSTANCE, SEMRESATTRS_FAAS_MAX_MEMORY, SEMRESATTRS_FAAS_NAME, SEMRESATTRS_FAAS_VERSION, SEMRESATTRS_HOST_ARCH, SEMRESATTRS_HOST_ID, SEMRESATTRS_HOST_IMAGE_ID, SEMRESATTRS_HOST_IMAGE_NAME, SEMRESATTRS_HOST_IMAGE_VERSION, SEMRESATTRS_HOST_NAME, SEMRESATTRS_HOST_TYPE, SEMRESATTRS_K8S_CLUSTER_NAME, SEMRESATTRS_K8S_CONTAINER_NAME, SEMRESATTRS_K8S_CRONJOB_NAME, SEMRESATTRS_K8S_CRONJOB_UID, SEMRESATTRS_K8S_DAEMONSET_NAME, SEMRESATTRS_K8S_DAEMONSET_UID, SEMRESATTRS_K8S_DEPLOYMENT_NAME, SEMRESATTRS_K8S_DEPLOYMENT_UID, SEMRESATTRS_K8S_JOB_NAME, SEMRESATTRS_K8S_JOB_UID, SEMRESATTRS_K8S_NAMESPACE_NAME, SEMRESATTRS_K8S_NODE_NAME, SEMRESATTRS_K8S_NODE_UID, SEMRESATTRS_K8S_POD_NAME, SEMRESATTRS_K8S_POD_UID, SEMRESATTRS_K8S_REPLICASET_NAME, SEMRESATTRS_K8S_REPLICASET_UID, SEMRESATTRS_K8S_STATEFULSET_NAME, SEMRESATTRS_K8S_STATEFULSET_UID, SEMRESATTRS_OS_DESCRIPTION, SEMRESATTRS_OS_NAME, SEMRESATTRS_OS_TYPE, SEMRESATTRS_OS_VERSION, SEMRESATTRS_PROCESS_COMMAND, SEMRESATTRS_PROCESS_COMMAND_ARGS, SEMRESATTRS_PROCESS_COMMAND_LINE, SEMRESATTRS_PROCESS_EXECUTABLE_NAME, SEMRESATTRS_PROCESS_EXECUTABLE_PATH, SEMRESATTRS_PROCESS_OWNER, SEMRESATTRS_PROCESS_PID, SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION, SEMRESATTRS_PROCESS_RUNTIME_NAME, SEMRESATTRS_PROCESS_RUNTIME_VERSION, SEMRESATTRS_SERVICE_INSTANCE_ID, SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_NAMESPACE, SEMRESATTRS_SERVICE_VERSION, SEMRESATTRS_TELEMETRY_AUTO_VERSION, SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, SEMRESATTRS_TELEMETRY_SDK_NAME, SEMRESATTRS_TELEMETRY_SDK_VERSION, SEMRESATTRS_WEBENGINE_DESCRIPTION, SEMRESATTRS_WEBENGINE_NAME, SEMRESATTRS_WEBENGINE_VERSION, SemanticAttributes, SemanticResourceAttributes, TELEMETRYSDKLANGUAGEVALUES_CPP, TELEMETRYSDKLANGUAGEVALUES_DOTNET, TELEMETRYSDKLANGUAGEVALUES_ERLANG, TELEMETRYSDKLANGUAGEVALUES_GO, TELEMETRYSDKLANGUAGEVALUES_JAVA, TELEMETRYSDKLANGUAGEVALUES_NODEJS, TELEMETRYSDKLANGUAGEVALUES_PHP, TELEMETRYSDKLANGUAGEVALUES_PYTHON, TELEMETRYSDKLANGUAGEVALUES_RUBY, TELEMETRYSDKLANGUAGEVALUES_WEBJS, TelemetrySdkLanguageValues }; diff --git a/opentelemetry/semantic-conventions.js b/opentelemetry/semantic-conventions.js index 55204f8..044ce40 100644 --- a/opentelemetry/semantic-conventions.js +++ b/opentelemetry/semantic-conventions.js @@ -15,439 +15,1252 @@ */ /// -const SemanticAttributes = { - AWS_LAMBDA_INVOKED_ARN: 'aws.lambda.invoked_arn', - DB_SYSTEM: 'db.system', - DB_CONNECTION_STRING: 'db.connection_string', - DB_USER: 'db.user', - DB_JDBC_DRIVER_CLASSNAME: 'db.jdbc.driver_classname', - DB_NAME: 'db.name', - DB_STATEMENT: 'db.statement', - DB_OPERATION: 'db.operation', - DB_MSSQL_INSTANCE_NAME: 'db.mssql.instance_name', - DB_CASSANDRA_KEYSPACE: 'db.cassandra.keyspace', - DB_CASSANDRA_PAGE_SIZE: 'db.cassandra.page_size', - DB_CASSANDRA_CONSISTENCY_LEVEL: 'db.cassandra.consistency_level', - DB_CASSANDRA_TABLE: 'db.cassandra.table', - DB_CASSANDRA_IDEMPOTENCE: 'db.cassandra.idempotence', - DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: 'db.cassandra.speculative_execution_count', - DB_CASSANDRA_COORDINATOR_ID: 'db.cassandra.coordinator.id', - DB_CASSANDRA_COORDINATOR_DC: 'db.cassandra.coordinator.dc', - DB_HBASE_NAMESPACE: 'db.hbase.namespace', - DB_REDIS_DATABASE_INDEX: 'db.redis.database_index', - DB_MONGODB_COLLECTION: 'db.mongodb.collection', - DB_SQL_TABLE: 'db.sql.table', - EXCEPTION_TYPE: 'exception.type', - EXCEPTION_MESSAGE: 'exception.message', - EXCEPTION_STACKTRACE: 'exception.stacktrace', - EXCEPTION_ESCAPED: 'exception.escaped', - FAAS_TRIGGER: 'faas.trigger', - FAAS_EXECUTION: 'faas.execution', - FAAS_DOCUMENT_COLLECTION: 'faas.document.collection', - FAAS_DOCUMENT_OPERATION: 'faas.document.operation', - FAAS_DOCUMENT_TIME: 'faas.document.time', - FAAS_DOCUMENT_NAME: 'faas.document.name', - FAAS_TIME: 'faas.time', - FAAS_CRON: 'faas.cron', - FAAS_COLDSTART: 'faas.coldstart', - FAAS_INVOKED_NAME: 'faas.invoked_name', - FAAS_INVOKED_PROVIDER: 'faas.invoked_provider', - FAAS_INVOKED_REGION: 'faas.invoked_region', - NET_TRANSPORT: 'net.transport', - NET_PEER_IP: 'net.peer.ip', - NET_PEER_PORT: 'net.peer.port', - NET_PEER_NAME: 'net.peer.name', - NET_HOST_IP: 'net.host.ip', - NET_HOST_PORT: 'net.host.port', - NET_HOST_NAME: 'net.host.name', - NET_HOST_CONNECTION_TYPE: 'net.host.connection.type', - NET_HOST_CONNECTION_SUBTYPE: 'net.host.connection.subtype', - NET_HOST_CARRIER_NAME: 'net.host.carrier.name', - NET_HOST_CARRIER_MCC: 'net.host.carrier.mcc', - NET_HOST_CARRIER_MNC: 'net.host.carrier.mnc', - NET_HOST_CARRIER_ICC: 'net.host.carrier.icc', - PEER_SERVICE: 'peer.service', - ENDUSER_ID: 'enduser.id', - ENDUSER_ROLE: 'enduser.role', - ENDUSER_SCOPE: 'enduser.scope', - THREAD_ID: 'thread.id', - THREAD_NAME: 'thread.name', - CODE_FUNCTION: 'code.function', - CODE_NAMESPACE: 'code.namespace', - CODE_FILEPATH: 'code.filepath', - CODE_LINENO: 'code.lineno', - HTTP_METHOD: 'http.method', - HTTP_URL: 'http.url', - HTTP_TARGET: 'http.target', - HTTP_HOST: 'http.host', - HTTP_SCHEME: 'http.scheme', - HTTP_STATUS_CODE: 'http.status_code', - HTTP_FLAVOR: 'http.flavor', - HTTP_USER_AGENT: 'http.user_agent', - HTTP_REQUEST_CONTENT_LENGTH: 'http.request_content_length', - HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: 'http.request_content_length_uncompressed', - HTTP_RESPONSE_CONTENT_LENGTH: 'http.response_content_length', - HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: 'http.response_content_length_uncompressed', - HTTP_SERVER_NAME: 'http.server_name', - HTTP_ROUTE: 'http.route', - HTTP_CLIENT_IP: 'http.client_ip', - AWS_DYNAMODB_TABLE_NAMES: 'aws.dynamodb.table_names', - AWS_DYNAMODB_CONSUMED_CAPACITY: 'aws.dynamodb.consumed_capacity', - AWS_DYNAMODB_ITEM_COLLECTION_METRICS: 'aws.dynamodb.item_collection_metrics', - AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: 'aws.dynamodb.provisioned_read_capacity', - AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: 'aws.dynamodb.provisioned_write_capacity', - AWS_DYNAMODB_CONSISTENT_READ: 'aws.dynamodb.consistent_read', - AWS_DYNAMODB_PROJECTION: 'aws.dynamodb.projection', - AWS_DYNAMODB_LIMIT: 'aws.dynamodb.limit', - AWS_DYNAMODB_ATTRIBUTES_TO_GET: 'aws.dynamodb.attributes_to_get', - AWS_DYNAMODB_INDEX_NAME: 'aws.dynamodb.index_name', - AWS_DYNAMODB_SELECT: 'aws.dynamodb.select', - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: 'aws.dynamodb.global_secondary_indexes', - AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: 'aws.dynamodb.local_secondary_indexes', - AWS_DYNAMODB_EXCLUSIVE_START_TABLE: 'aws.dynamodb.exclusive_start_table', - AWS_DYNAMODB_TABLE_COUNT: 'aws.dynamodb.table_count', - AWS_DYNAMODB_SCAN_FORWARD: 'aws.dynamodb.scan_forward', - AWS_DYNAMODB_SEGMENT: 'aws.dynamodb.segment', - AWS_DYNAMODB_TOTAL_SEGMENTS: 'aws.dynamodb.total_segments', - AWS_DYNAMODB_COUNT: 'aws.dynamodb.count', - AWS_DYNAMODB_SCANNED_COUNT: 'aws.dynamodb.scanned_count', - AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: 'aws.dynamodb.attribute_definitions', - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: 'aws.dynamodb.global_secondary_index_updates', - MESSAGING_SYSTEM: 'messaging.system', - MESSAGING_DESTINATION: 'messaging.destination', - MESSAGING_DESTINATION_KIND: 'messaging.destination_kind', - MESSAGING_TEMP_DESTINATION: 'messaging.temp_destination', - MESSAGING_PROTOCOL: 'messaging.protocol', - MESSAGING_PROTOCOL_VERSION: 'messaging.protocol_version', - MESSAGING_URL: 'messaging.url', - MESSAGING_MESSAGE_ID: 'messaging.message_id', - MESSAGING_CONVERSATION_ID: 'messaging.conversation_id', - MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: 'messaging.message_payload_size_bytes', - MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: 'messaging.message_payload_compressed_size_bytes', - MESSAGING_OPERATION: 'messaging.operation', - MESSAGING_CONSUMER_ID: 'messaging.consumer_id', - MESSAGING_RABBITMQ_ROUTING_KEY: 'messaging.rabbitmq.routing_key', - MESSAGING_KAFKA_MESSAGE_KEY: 'messaging.kafka.message_key', - MESSAGING_KAFKA_CONSUMER_GROUP: 'messaging.kafka.consumer_group', - MESSAGING_KAFKA_CLIENT_ID: 'messaging.kafka.client_id', - MESSAGING_KAFKA_PARTITION: 'messaging.kafka.partition', - MESSAGING_KAFKA_TOMBSTONE: 'messaging.kafka.tombstone', - RPC_SYSTEM: 'rpc.system', - RPC_SERVICE: 'rpc.service', - RPC_METHOD: 'rpc.method', - RPC_GRPC_STATUS_CODE: 'rpc.grpc.status_code', - RPC_JSONRPC_VERSION: 'rpc.jsonrpc.version', - RPC_JSONRPC_REQUEST_ID: 'rpc.jsonrpc.request_id', - RPC_JSONRPC_ERROR_CODE: 'rpc.jsonrpc.error_code', - RPC_JSONRPC_ERROR_MESSAGE: 'rpc.jsonrpc.error_message', - MESSAGE_TYPE: 'message.type', - MESSAGE_ID: 'message.id', - MESSAGE_COMPRESSED_SIZE: 'message.compressed_size', - MESSAGE_UNCOMPRESSED_SIZE: 'message.uncompressed_size', -}; -const DbSystemValues = { - OTHER_SQL: 'other_sql', - MSSQL: 'mssql', - MYSQL: 'mysql', - ORACLE: 'oracle', - DB2: 'db2', - POSTGRESQL: 'postgresql', - REDSHIFT: 'redshift', - HIVE: 'hive', - CLOUDSCAPE: 'cloudscape', - HSQLDB: 'hsqldb', - PROGRESS: 'progress', - MAXDB: 'maxdb', - HANADB: 'hanadb', - INGRES: 'ingres', - FIRSTSQL: 'firstsql', - EDB: 'edb', - CACHE: 'cache', - ADABAS: 'adabas', - FIREBIRD: 'firebird', - DERBY: 'derby', - FILEMAKER: 'filemaker', - INFORMIX: 'informix', - INSTANTDB: 'instantdb', - INTERBASE: 'interbase', - MARIADB: 'mariadb', - NETEZZA: 'netezza', - PERVASIVE: 'pervasive', - POINTBASE: 'pointbase', - SQLITE: 'sqlite', - SYBASE: 'sybase', - TERADATA: 'teradata', - VERTICA: 'vertica', - H2: 'h2', - COLDFUSION: 'coldfusion', - CASSANDRA: 'cassandra', - HBASE: 'hbase', - MONGODB: 'mongodb', - REDIS: 'redis', - COUCHBASE: 'couchbase', - COUCHDB: 'couchdb', - COSMOSDB: 'cosmosdb', - DYNAMODB: 'dynamodb', - NEO4J: 'neo4j', - GEODE: 'geode', - ELASTICSEARCH: 'elasticsearch', - MEMCACHED: 'memcached', - COCKROACHDB: 'cockroachdb', -}; -const DbCassandraConsistencyLevelValues = { - ALL: 'all', - EACH_QUORUM: 'each_quorum', - QUORUM: 'quorum', - LOCAL_QUORUM: 'local_quorum', - ONE: 'one', - TWO: 'two', - THREE: 'three', - LOCAL_ONE: 'local_one', - ANY: 'any', - SERIAL: 'serial', - LOCAL_SERIAL: 'local_serial', -}; -const FaasTriggerValues = { - DATASOURCE: 'datasource', - HTTP: 'http', - PUBSUB: 'pubsub', - TIMER: 'timer', - OTHER: 'other', -}; -const FaasDocumentOperationValues = { - INSERT: 'insert', - EDIT: 'edit', - DELETE: 'delete', -}; -const FaasInvokedProviderValues = { - ALIBABA_CLOUD: 'alibaba_cloud', - AWS: 'aws', - AZURE: 'azure', - GCP: 'gcp', -}; -const NetTransportValues = { - IP_TCP: 'ip_tcp', - IP_UDP: 'ip_udp', - IP: 'ip', - UNIX: 'unix', - PIPE: 'pipe', - INPROC: 'inproc', - OTHER: 'other', -}; -const NetHostConnectionTypeValues = { - WIFI: 'wifi', - WIRED: 'wired', - CELL: 'cell', - UNAVAILABLE: 'unavailable', - UNKNOWN: 'unknown', -}; -const NetHostConnectionSubtypeValues = { - GPRS: 'gprs', - EDGE: 'edge', - UMTS: 'umts', - CDMA: 'cdma', - EVDO_0: 'evdo_0', - EVDO_A: 'evdo_a', - CDMA2000_1XRTT: 'cdma2000_1xrtt', - HSDPA: 'hsdpa', - HSUPA: 'hsupa', - HSPA: 'hspa', - IDEN: 'iden', - EVDO_B: 'evdo_b', - LTE: 'lte', - EHRPD: 'ehrpd', - HSPAP: 'hspap', - GSM: 'gsm', - TD_SCDMA: 'td_scdma', - IWLAN: 'iwlan', - NR: 'nr', - NRNSA: 'nrnsa', - LTE_CA: 'lte_ca', -}; +function createConstMap(values) { + let res = {}; + const len = values.length; + for (let lp = 0; lp < len; lp++) { + const val = values[lp]; + if (val) { + res[String(val).toUpperCase().replace(/[-.]/g, '_')] = val; + } + } + return res; +} + +const TMP_AWS_LAMBDA_INVOKED_ARN = 'aws.lambda.invoked_arn'; +const TMP_DB_SYSTEM = 'db.system'; +const TMP_DB_CONNECTION_STRING = 'db.connection_string'; +const TMP_DB_USER = 'db.user'; +const TMP_DB_JDBC_DRIVER_CLASSNAME = 'db.jdbc.driver_classname'; +const TMP_DB_NAME = 'db.name'; +const TMP_DB_STATEMENT = 'db.statement'; +const TMP_DB_OPERATION = 'db.operation'; +const TMP_DB_MSSQL_INSTANCE_NAME = 'db.mssql.instance_name'; +const TMP_DB_CASSANDRA_KEYSPACE = 'db.cassandra.keyspace'; +const TMP_DB_CASSANDRA_PAGE_SIZE = 'db.cassandra.page_size'; +const TMP_DB_CASSANDRA_CONSISTENCY_LEVEL = 'db.cassandra.consistency_level'; +const TMP_DB_CASSANDRA_TABLE = 'db.cassandra.table'; +const TMP_DB_CASSANDRA_IDEMPOTENCE = 'db.cassandra.idempotence'; +const TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = 'db.cassandra.speculative_execution_count'; +const TMP_DB_CASSANDRA_COORDINATOR_ID = 'db.cassandra.coordinator.id'; +const TMP_DB_CASSANDRA_COORDINATOR_DC = 'db.cassandra.coordinator.dc'; +const TMP_DB_HBASE_NAMESPACE = 'db.hbase.namespace'; +const TMP_DB_REDIS_DATABASE_INDEX = 'db.redis.database_index'; +const TMP_DB_MONGODB_COLLECTION = 'db.mongodb.collection'; +const TMP_DB_SQL_TABLE = 'db.sql.table'; +const TMP_EXCEPTION_TYPE = 'exception.type'; +const TMP_EXCEPTION_MESSAGE = 'exception.message'; +const TMP_EXCEPTION_STACKTRACE = 'exception.stacktrace'; +const TMP_EXCEPTION_ESCAPED = 'exception.escaped'; +const TMP_FAAS_TRIGGER = 'faas.trigger'; +const TMP_FAAS_EXECUTION = 'faas.execution'; +const TMP_FAAS_DOCUMENT_COLLECTION = 'faas.document.collection'; +const TMP_FAAS_DOCUMENT_OPERATION = 'faas.document.operation'; +const TMP_FAAS_DOCUMENT_TIME = 'faas.document.time'; +const TMP_FAAS_DOCUMENT_NAME = 'faas.document.name'; +const TMP_FAAS_TIME = 'faas.time'; +const TMP_FAAS_CRON = 'faas.cron'; +const TMP_FAAS_COLDSTART = 'faas.coldstart'; +const TMP_FAAS_INVOKED_NAME = 'faas.invoked_name'; +const TMP_FAAS_INVOKED_PROVIDER = 'faas.invoked_provider'; +const TMP_FAAS_INVOKED_REGION = 'faas.invoked_region'; +const TMP_NET_TRANSPORT = 'net.transport'; +const TMP_NET_PEER_IP = 'net.peer.ip'; +const TMP_NET_PEER_PORT = 'net.peer.port'; +const TMP_NET_PEER_NAME = 'net.peer.name'; +const TMP_NET_HOST_IP = 'net.host.ip'; +const TMP_NET_HOST_PORT = 'net.host.port'; +const TMP_NET_HOST_NAME = 'net.host.name'; +const TMP_NET_HOST_CONNECTION_TYPE = 'net.host.connection.type'; +const TMP_NET_HOST_CONNECTION_SUBTYPE = 'net.host.connection.subtype'; +const TMP_NET_HOST_CARRIER_NAME = 'net.host.carrier.name'; +const TMP_NET_HOST_CARRIER_MCC = 'net.host.carrier.mcc'; +const TMP_NET_HOST_CARRIER_MNC = 'net.host.carrier.mnc'; +const TMP_NET_HOST_CARRIER_ICC = 'net.host.carrier.icc'; +const TMP_PEER_SERVICE = 'peer.service'; +const TMP_ENDUSER_ID = 'enduser.id'; +const TMP_ENDUSER_ROLE = 'enduser.role'; +const TMP_ENDUSER_SCOPE = 'enduser.scope'; +const TMP_THREAD_ID = 'thread.id'; +const TMP_THREAD_NAME = 'thread.name'; +const TMP_CODE_FUNCTION = 'code.function'; +const TMP_CODE_NAMESPACE = 'code.namespace'; +const TMP_CODE_FILEPATH = 'code.filepath'; +const TMP_CODE_LINENO = 'code.lineno'; +const TMP_HTTP_METHOD = 'http.method'; +const TMP_HTTP_URL = 'http.url'; +const TMP_HTTP_TARGET = 'http.target'; +const TMP_HTTP_HOST = 'http.host'; +const TMP_HTTP_SCHEME = 'http.scheme'; +const TMP_HTTP_STATUS_CODE = 'http.status_code'; +const TMP_HTTP_FLAVOR = 'http.flavor'; +const TMP_HTTP_USER_AGENT = 'http.user_agent'; +const TMP_HTTP_REQUEST_CONTENT_LENGTH = 'http.request_content_length'; +const TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = 'http.request_content_length_uncompressed'; +const TMP_HTTP_RESPONSE_CONTENT_LENGTH = 'http.response_content_length'; +const TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = 'http.response_content_length_uncompressed'; +const TMP_HTTP_SERVER_NAME = 'http.server_name'; +const TMP_HTTP_ROUTE = 'http.route'; +const TMP_HTTP_CLIENT_IP = 'http.client_ip'; +const TMP_AWS_DYNAMODB_TABLE_NAMES = 'aws.dynamodb.table_names'; +const TMP_AWS_DYNAMODB_CONSUMED_CAPACITY = 'aws.dynamodb.consumed_capacity'; +const TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = 'aws.dynamodb.item_collection_metrics'; +const TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = 'aws.dynamodb.provisioned_read_capacity'; +const TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = 'aws.dynamodb.provisioned_write_capacity'; +const TMP_AWS_DYNAMODB_CONSISTENT_READ = 'aws.dynamodb.consistent_read'; +const TMP_AWS_DYNAMODB_PROJECTION = 'aws.dynamodb.projection'; +const TMP_AWS_DYNAMODB_LIMIT = 'aws.dynamodb.limit'; +const TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET = 'aws.dynamodb.attributes_to_get'; +const TMP_AWS_DYNAMODB_INDEX_NAME = 'aws.dynamodb.index_name'; +const TMP_AWS_DYNAMODB_SELECT = 'aws.dynamodb.select'; +const TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = 'aws.dynamodb.global_secondary_indexes'; +const TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = 'aws.dynamodb.local_secondary_indexes'; +const TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = 'aws.dynamodb.exclusive_start_table'; +const TMP_AWS_DYNAMODB_TABLE_COUNT = 'aws.dynamodb.table_count'; +const TMP_AWS_DYNAMODB_SCAN_FORWARD = 'aws.dynamodb.scan_forward'; +const TMP_AWS_DYNAMODB_SEGMENT = 'aws.dynamodb.segment'; +const TMP_AWS_DYNAMODB_TOTAL_SEGMENTS = 'aws.dynamodb.total_segments'; +const TMP_AWS_DYNAMODB_COUNT = 'aws.dynamodb.count'; +const TMP_AWS_DYNAMODB_SCANNED_COUNT = 'aws.dynamodb.scanned_count'; +const TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = 'aws.dynamodb.attribute_definitions'; +const TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = 'aws.dynamodb.global_secondary_index_updates'; +const TMP_MESSAGING_SYSTEM = 'messaging.system'; +const TMP_MESSAGING_DESTINATION = 'messaging.destination'; +const TMP_MESSAGING_DESTINATION_KIND = 'messaging.destination_kind'; +const TMP_MESSAGING_TEMP_DESTINATION = 'messaging.temp_destination'; +const TMP_MESSAGING_PROTOCOL = 'messaging.protocol'; +const TMP_MESSAGING_PROTOCOL_VERSION = 'messaging.protocol_version'; +const TMP_MESSAGING_URL = 'messaging.url'; +const TMP_MESSAGING_MESSAGE_ID = 'messaging.message_id'; +const TMP_MESSAGING_CONVERSATION_ID = 'messaging.conversation_id'; +const TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = 'messaging.message_payload_size_bytes'; +const TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = 'messaging.message_payload_compressed_size_bytes'; +const TMP_MESSAGING_OPERATION = 'messaging.operation'; +const TMP_MESSAGING_CONSUMER_ID = 'messaging.consumer_id'; +const TMP_MESSAGING_RABBITMQ_ROUTING_KEY = 'messaging.rabbitmq.routing_key'; +const TMP_MESSAGING_KAFKA_MESSAGE_KEY = 'messaging.kafka.message_key'; +const TMP_MESSAGING_KAFKA_CONSUMER_GROUP = 'messaging.kafka.consumer_group'; +const TMP_MESSAGING_KAFKA_CLIENT_ID = 'messaging.kafka.client_id'; +const TMP_MESSAGING_KAFKA_PARTITION = 'messaging.kafka.partition'; +const TMP_MESSAGING_KAFKA_TOMBSTONE = 'messaging.kafka.tombstone'; +const TMP_RPC_SYSTEM = 'rpc.system'; +const TMP_RPC_SERVICE = 'rpc.service'; +const TMP_RPC_METHOD = 'rpc.method'; +const TMP_RPC_GRPC_STATUS_CODE = 'rpc.grpc.status_code'; +const TMP_RPC_JSONRPC_VERSION = 'rpc.jsonrpc.version'; +const TMP_RPC_JSONRPC_REQUEST_ID = 'rpc.jsonrpc.request_id'; +const TMP_RPC_JSONRPC_ERROR_CODE = 'rpc.jsonrpc.error_code'; +const TMP_RPC_JSONRPC_ERROR_MESSAGE = 'rpc.jsonrpc.error_message'; +const TMP_MESSAGE_TYPE = 'message.type'; +const TMP_MESSAGE_ID = 'message.id'; +const TMP_MESSAGE_COMPRESSED_SIZE = 'message.compressed_size'; +const TMP_MESSAGE_UNCOMPRESSED_SIZE = 'message.uncompressed_size'; +const SEMATTRS_AWS_LAMBDA_INVOKED_ARN = TMP_AWS_LAMBDA_INVOKED_ARN; +const SEMATTRS_DB_SYSTEM = TMP_DB_SYSTEM; +const SEMATTRS_DB_CONNECTION_STRING = TMP_DB_CONNECTION_STRING; +const SEMATTRS_DB_USER = TMP_DB_USER; +const SEMATTRS_DB_JDBC_DRIVER_CLASSNAME = TMP_DB_JDBC_DRIVER_CLASSNAME; +const SEMATTRS_DB_NAME = TMP_DB_NAME; +const SEMATTRS_DB_STATEMENT = TMP_DB_STATEMENT; +const SEMATTRS_DB_OPERATION = TMP_DB_OPERATION; +const SEMATTRS_DB_MSSQL_INSTANCE_NAME = TMP_DB_MSSQL_INSTANCE_NAME; +const SEMATTRS_DB_CASSANDRA_KEYSPACE = TMP_DB_CASSANDRA_KEYSPACE; +const SEMATTRS_DB_CASSANDRA_PAGE_SIZE = TMP_DB_CASSANDRA_PAGE_SIZE; +const SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL = TMP_DB_CASSANDRA_CONSISTENCY_LEVEL; +const SEMATTRS_DB_CASSANDRA_TABLE = TMP_DB_CASSANDRA_TABLE; +const SEMATTRS_DB_CASSANDRA_IDEMPOTENCE = TMP_DB_CASSANDRA_IDEMPOTENCE; +const SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT; +const SEMATTRS_DB_CASSANDRA_COORDINATOR_ID = TMP_DB_CASSANDRA_COORDINATOR_ID; +const SEMATTRS_DB_CASSANDRA_COORDINATOR_DC = TMP_DB_CASSANDRA_COORDINATOR_DC; +const SEMATTRS_DB_HBASE_NAMESPACE = TMP_DB_HBASE_NAMESPACE; +const SEMATTRS_DB_REDIS_DATABASE_INDEX = TMP_DB_REDIS_DATABASE_INDEX; +const SEMATTRS_DB_MONGODB_COLLECTION = TMP_DB_MONGODB_COLLECTION; +const SEMATTRS_DB_SQL_TABLE = TMP_DB_SQL_TABLE; +const SEMATTRS_EXCEPTION_TYPE = TMP_EXCEPTION_TYPE; +const SEMATTRS_EXCEPTION_MESSAGE = TMP_EXCEPTION_MESSAGE; +const SEMATTRS_EXCEPTION_STACKTRACE = TMP_EXCEPTION_STACKTRACE; +const SEMATTRS_EXCEPTION_ESCAPED = TMP_EXCEPTION_ESCAPED; +const SEMATTRS_FAAS_TRIGGER = TMP_FAAS_TRIGGER; +const SEMATTRS_FAAS_EXECUTION = TMP_FAAS_EXECUTION; +const SEMATTRS_FAAS_DOCUMENT_COLLECTION = TMP_FAAS_DOCUMENT_COLLECTION; +const SEMATTRS_FAAS_DOCUMENT_OPERATION = TMP_FAAS_DOCUMENT_OPERATION; +const SEMATTRS_FAAS_DOCUMENT_TIME = TMP_FAAS_DOCUMENT_TIME; +const SEMATTRS_FAAS_DOCUMENT_NAME = TMP_FAAS_DOCUMENT_NAME; +const SEMATTRS_FAAS_TIME = TMP_FAAS_TIME; +const SEMATTRS_FAAS_CRON = TMP_FAAS_CRON; +const SEMATTRS_FAAS_COLDSTART = TMP_FAAS_COLDSTART; +const SEMATTRS_FAAS_INVOKED_NAME = TMP_FAAS_INVOKED_NAME; +const SEMATTRS_FAAS_INVOKED_PROVIDER = TMP_FAAS_INVOKED_PROVIDER; +const SEMATTRS_FAAS_INVOKED_REGION = TMP_FAAS_INVOKED_REGION; +const SEMATTRS_NET_TRANSPORT = TMP_NET_TRANSPORT; +const SEMATTRS_NET_PEER_IP = TMP_NET_PEER_IP; +const SEMATTRS_NET_PEER_PORT = TMP_NET_PEER_PORT; +const SEMATTRS_NET_PEER_NAME = TMP_NET_PEER_NAME; +const SEMATTRS_NET_HOST_IP = TMP_NET_HOST_IP; +const SEMATTRS_NET_HOST_PORT = TMP_NET_HOST_PORT; +const SEMATTRS_NET_HOST_NAME = TMP_NET_HOST_NAME; +const SEMATTRS_NET_HOST_CONNECTION_TYPE = TMP_NET_HOST_CONNECTION_TYPE; +const SEMATTRS_NET_HOST_CONNECTION_SUBTYPE = TMP_NET_HOST_CONNECTION_SUBTYPE; +const SEMATTRS_NET_HOST_CARRIER_NAME = TMP_NET_HOST_CARRIER_NAME; +const SEMATTRS_NET_HOST_CARRIER_MCC = TMP_NET_HOST_CARRIER_MCC; +const SEMATTRS_NET_HOST_CARRIER_MNC = TMP_NET_HOST_CARRIER_MNC; +const SEMATTRS_NET_HOST_CARRIER_ICC = TMP_NET_HOST_CARRIER_ICC; +const SEMATTRS_PEER_SERVICE = TMP_PEER_SERVICE; +const SEMATTRS_ENDUSER_ID = TMP_ENDUSER_ID; +const SEMATTRS_ENDUSER_ROLE = TMP_ENDUSER_ROLE; +const SEMATTRS_ENDUSER_SCOPE = TMP_ENDUSER_SCOPE; +const SEMATTRS_THREAD_ID = TMP_THREAD_ID; +const SEMATTRS_THREAD_NAME = TMP_THREAD_NAME; +const SEMATTRS_CODE_FUNCTION = TMP_CODE_FUNCTION; +const SEMATTRS_CODE_NAMESPACE = TMP_CODE_NAMESPACE; +const SEMATTRS_CODE_FILEPATH = TMP_CODE_FILEPATH; +const SEMATTRS_CODE_LINENO = TMP_CODE_LINENO; +const SEMATTRS_HTTP_METHOD = TMP_HTTP_METHOD; +const SEMATTRS_HTTP_URL = TMP_HTTP_URL; +const SEMATTRS_HTTP_TARGET = TMP_HTTP_TARGET; +const SEMATTRS_HTTP_HOST = TMP_HTTP_HOST; +const SEMATTRS_HTTP_SCHEME = TMP_HTTP_SCHEME; +const SEMATTRS_HTTP_STATUS_CODE = TMP_HTTP_STATUS_CODE; +const SEMATTRS_HTTP_FLAVOR = TMP_HTTP_FLAVOR; +const SEMATTRS_HTTP_USER_AGENT = TMP_HTTP_USER_AGENT; +const SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH = TMP_HTTP_REQUEST_CONTENT_LENGTH; +const SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED; +const SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH = TMP_HTTP_RESPONSE_CONTENT_LENGTH; +const SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED; +const SEMATTRS_HTTP_SERVER_NAME = TMP_HTTP_SERVER_NAME; +const SEMATTRS_HTTP_ROUTE = TMP_HTTP_ROUTE; +const SEMATTRS_HTTP_CLIENT_IP = TMP_HTTP_CLIENT_IP; +const SEMATTRS_AWS_DYNAMODB_TABLE_NAMES = TMP_AWS_DYNAMODB_TABLE_NAMES; +const SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY = TMP_AWS_DYNAMODB_CONSUMED_CAPACITY; +const SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS; +const SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY; +const SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY; +const SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ = TMP_AWS_DYNAMODB_CONSISTENT_READ; +const SEMATTRS_AWS_DYNAMODB_PROJECTION = TMP_AWS_DYNAMODB_PROJECTION; +const SEMATTRS_AWS_DYNAMODB_LIMIT = TMP_AWS_DYNAMODB_LIMIT; +const SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET = TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET; +const SEMATTRS_AWS_DYNAMODB_INDEX_NAME = TMP_AWS_DYNAMODB_INDEX_NAME; +const SEMATTRS_AWS_DYNAMODB_SELECT = TMP_AWS_DYNAMODB_SELECT; +const SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES; +const SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES; +const SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE; +const SEMATTRS_AWS_DYNAMODB_TABLE_COUNT = TMP_AWS_DYNAMODB_TABLE_COUNT; +const SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD = TMP_AWS_DYNAMODB_SCAN_FORWARD; +const SEMATTRS_AWS_DYNAMODB_SEGMENT = TMP_AWS_DYNAMODB_SEGMENT; +const SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS = TMP_AWS_DYNAMODB_TOTAL_SEGMENTS; +const SEMATTRS_AWS_DYNAMODB_COUNT = TMP_AWS_DYNAMODB_COUNT; +const SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT = TMP_AWS_DYNAMODB_SCANNED_COUNT; +const SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS; +const SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES; +const SEMATTRS_MESSAGING_SYSTEM = TMP_MESSAGING_SYSTEM; +const SEMATTRS_MESSAGING_DESTINATION = TMP_MESSAGING_DESTINATION; +const SEMATTRS_MESSAGING_DESTINATION_KIND = TMP_MESSAGING_DESTINATION_KIND; +const SEMATTRS_MESSAGING_TEMP_DESTINATION = TMP_MESSAGING_TEMP_DESTINATION; +const SEMATTRS_MESSAGING_PROTOCOL = TMP_MESSAGING_PROTOCOL; +const SEMATTRS_MESSAGING_PROTOCOL_VERSION = TMP_MESSAGING_PROTOCOL_VERSION; +const SEMATTRS_MESSAGING_URL = TMP_MESSAGING_URL; +const SEMATTRS_MESSAGING_MESSAGE_ID = TMP_MESSAGING_MESSAGE_ID; +const SEMATTRS_MESSAGING_CONVERSATION_ID = TMP_MESSAGING_CONVERSATION_ID; +const SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES; +const SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES; +const SEMATTRS_MESSAGING_OPERATION = TMP_MESSAGING_OPERATION; +const SEMATTRS_MESSAGING_CONSUMER_ID = TMP_MESSAGING_CONSUMER_ID; +const SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY = TMP_MESSAGING_RABBITMQ_ROUTING_KEY; +const SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY = TMP_MESSAGING_KAFKA_MESSAGE_KEY; +const SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP = TMP_MESSAGING_KAFKA_CONSUMER_GROUP; +const SEMATTRS_MESSAGING_KAFKA_CLIENT_ID = TMP_MESSAGING_KAFKA_CLIENT_ID; +const SEMATTRS_MESSAGING_KAFKA_PARTITION = TMP_MESSAGING_KAFKA_PARTITION; +const SEMATTRS_MESSAGING_KAFKA_TOMBSTONE = TMP_MESSAGING_KAFKA_TOMBSTONE; +const SEMATTRS_RPC_SYSTEM = TMP_RPC_SYSTEM; +const SEMATTRS_RPC_SERVICE = TMP_RPC_SERVICE; +const SEMATTRS_RPC_METHOD = TMP_RPC_METHOD; +const SEMATTRS_RPC_GRPC_STATUS_CODE = TMP_RPC_GRPC_STATUS_CODE; +const SEMATTRS_RPC_JSONRPC_VERSION = TMP_RPC_JSONRPC_VERSION; +const SEMATTRS_RPC_JSONRPC_REQUEST_ID = TMP_RPC_JSONRPC_REQUEST_ID; +const SEMATTRS_RPC_JSONRPC_ERROR_CODE = TMP_RPC_JSONRPC_ERROR_CODE; +const SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE = TMP_RPC_JSONRPC_ERROR_MESSAGE; +const SEMATTRS_MESSAGE_TYPE = TMP_MESSAGE_TYPE; +const SEMATTRS_MESSAGE_ID = TMP_MESSAGE_ID; +const SEMATTRS_MESSAGE_COMPRESSED_SIZE = TMP_MESSAGE_COMPRESSED_SIZE; +const SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE = TMP_MESSAGE_UNCOMPRESSED_SIZE; +const SemanticAttributes = + createConstMap([ + TMP_AWS_LAMBDA_INVOKED_ARN, + TMP_DB_SYSTEM, + TMP_DB_CONNECTION_STRING, + TMP_DB_USER, + TMP_DB_JDBC_DRIVER_CLASSNAME, + TMP_DB_NAME, + TMP_DB_STATEMENT, + TMP_DB_OPERATION, + TMP_DB_MSSQL_INSTANCE_NAME, + TMP_DB_CASSANDRA_KEYSPACE, + TMP_DB_CASSANDRA_PAGE_SIZE, + TMP_DB_CASSANDRA_CONSISTENCY_LEVEL, + TMP_DB_CASSANDRA_TABLE, + TMP_DB_CASSANDRA_IDEMPOTENCE, + TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, + TMP_DB_CASSANDRA_COORDINATOR_ID, + TMP_DB_CASSANDRA_COORDINATOR_DC, + TMP_DB_HBASE_NAMESPACE, + TMP_DB_REDIS_DATABASE_INDEX, + TMP_DB_MONGODB_COLLECTION, + TMP_DB_SQL_TABLE, + TMP_EXCEPTION_TYPE, + TMP_EXCEPTION_MESSAGE, + TMP_EXCEPTION_STACKTRACE, + TMP_EXCEPTION_ESCAPED, + TMP_FAAS_TRIGGER, + TMP_FAAS_EXECUTION, + TMP_FAAS_DOCUMENT_COLLECTION, + TMP_FAAS_DOCUMENT_OPERATION, + TMP_FAAS_DOCUMENT_TIME, + TMP_FAAS_DOCUMENT_NAME, + TMP_FAAS_TIME, + TMP_FAAS_CRON, + TMP_FAAS_COLDSTART, + TMP_FAAS_INVOKED_NAME, + TMP_FAAS_INVOKED_PROVIDER, + TMP_FAAS_INVOKED_REGION, + TMP_NET_TRANSPORT, + TMP_NET_PEER_IP, + TMP_NET_PEER_PORT, + TMP_NET_PEER_NAME, + TMP_NET_HOST_IP, + TMP_NET_HOST_PORT, + TMP_NET_HOST_NAME, + TMP_NET_HOST_CONNECTION_TYPE, + TMP_NET_HOST_CONNECTION_SUBTYPE, + TMP_NET_HOST_CARRIER_NAME, + TMP_NET_HOST_CARRIER_MCC, + TMP_NET_HOST_CARRIER_MNC, + TMP_NET_HOST_CARRIER_ICC, + TMP_PEER_SERVICE, + TMP_ENDUSER_ID, + TMP_ENDUSER_ROLE, + TMP_ENDUSER_SCOPE, + TMP_THREAD_ID, + TMP_THREAD_NAME, + TMP_CODE_FUNCTION, + TMP_CODE_NAMESPACE, + TMP_CODE_FILEPATH, + TMP_CODE_LINENO, + TMP_HTTP_METHOD, + TMP_HTTP_URL, + TMP_HTTP_TARGET, + TMP_HTTP_HOST, + TMP_HTTP_SCHEME, + TMP_HTTP_STATUS_CODE, + TMP_HTTP_FLAVOR, + TMP_HTTP_USER_AGENT, + TMP_HTTP_REQUEST_CONTENT_LENGTH, + TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED, + TMP_HTTP_RESPONSE_CONTENT_LENGTH, + TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, + TMP_HTTP_SERVER_NAME, + TMP_HTTP_ROUTE, + TMP_HTTP_CLIENT_IP, + TMP_AWS_DYNAMODB_TABLE_NAMES, + TMP_AWS_DYNAMODB_CONSUMED_CAPACITY, + TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS, + TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY, + TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY, + TMP_AWS_DYNAMODB_CONSISTENT_READ, + TMP_AWS_DYNAMODB_PROJECTION, + TMP_AWS_DYNAMODB_LIMIT, + TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET, + TMP_AWS_DYNAMODB_INDEX_NAME, + TMP_AWS_DYNAMODB_SELECT, + TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES, + TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES, + TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE, + TMP_AWS_DYNAMODB_TABLE_COUNT, + TMP_AWS_DYNAMODB_SCAN_FORWARD, + TMP_AWS_DYNAMODB_SEGMENT, + TMP_AWS_DYNAMODB_TOTAL_SEGMENTS, + TMP_AWS_DYNAMODB_COUNT, + TMP_AWS_DYNAMODB_SCANNED_COUNT, + TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS, + TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES, + TMP_MESSAGING_SYSTEM, + TMP_MESSAGING_DESTINATION, + TMP_MESSAGING_DESTINATION_KIND, + TMP_MESSAGING_TEMP_DESTINATION, + TMP_MESSAGING_PROTOCOL, + TMP_MESSAGING_PROTOCOL_VERSION, + TMP_MESSAGING_URL, + TMP_MESSAGING_MESSAGE_ID, + TMP_MESSAGING_CONVERSATION_ID, + TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES, + TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES, + TMP_MESSAGING_OPERATION, + TMP_MESSAGING_CONSUMER_ID, + TMP_MESSAGING_RABBITMQ_ROUTING_KEY, + TMP_MESSAGING_KAFKA_MESSAGE_KEY, + TMP_MESSAGING_KAFKA_CONSUMER_GROUP, + TMP_MESSAGING_KAFKA_CLIENT_ID, + TMP_MESSAGING_KAFKA_PARTITION, + TMP_MESSAGING_KAFKA_TOMBSTONE, + TMP_RPC_SYSTEM, + TMP_RPC_SERVICE, + TMP_RPC_METHOD, + TMP_RPC_GRPC_STATUS_CODE, + TMP_RPC_JSONRPC_VERSION, + TMP_RPC_JSONRPC_REQUEST_ID, + TMP_RPC_JSONRPC_ERROR_CODE, + TMP_RPC_JSONRPC_ERROR_MESSAGE, + TMP_MESSAGE_TYPE, + TMP_MESSAGE_ID, + TMP_MESSAGE_COMPRESSED_SIZE, + TMP_MESSAGE_UNCOMPRESSED_SIZE, +]); +const TMP_DBSYSTEMVALUES_OTHER_SQL = 'other_sql'; +const TMP_DBSYSTEMVALUES_MSSQL = 'mssql'; +const TMP_DBSYSTEMVALUES_MYSQL = 'mysql'; +const TMP_DBSYSTEMVALUES_ORACLE = 'oracle'; +const TMP_DBSYSTEMVALUES_DB2 = 'db2'; +const TMP_DBSYSTEMVALUES_POSTGRESQL = 'postgresql'; +const TMP_DBSYSTEMVALUES_REDSHIFT = 'redshift'; +const TMP_DBSYSTEMVALUES_HIVE = 'hive'; +const TMP_DBSYSTEMVALUES_CLOUDSCAPE = 'cloudscape'; +const TMP_DBSYSTEMVALUES_HSQLDB = 'hsqldb'; +const TMP_DBSYSTEMVALUES_PROGRESS = 'progress'; +const TMP_DBSYSTEMVALUES_MAXDB = 'maxdb'; +const TMP_DBSYSTEMVALUES_HANADB = 'hanadb'; +const TMP_DBSYSTEMVALUES_INGRES = 'ingres'; +const TMP_DBSYSTEMVALUES_FIRSTSQL = 'firstsql'; +const TMP_DBSYSTEMVALUES_EDB = 'edb'; +const TMP_DBSYSTEMVALUES_CACHE = 'cache'; +const TMP_DBSYSTEMVALUES_ADABAS = 'adabas'; +const TMP_DBSYSTEMVALUES_FIREBIRD = 'firebird'; +const TMP_DBSYSTEMVALUES_DERBY = 'derby'; +const TMP_DBSYSTEMVALUES_FILEMAKER = 'filemaker'; +const TMP_DBSYSTEMVALUES_INFORMIX = 'informix'; +const TMP_DBSYSTEMVALUES_INSTANTDB = 'instantdb'; +const TMP_DBSYSTEMVALUES_INTERBASE = 'interbase'; +const TMP_DBSYSTEMVALUES_MARIADB = 'mariadb'; +const TMP_DBSYSTEMVALUES_NETEZZA = 'netezza'; +const TMP_DBSYSTEMVALUES_PERVASIVE = 'pervasive'; +const TMP_DBSYSTEMVALUES_POINTBASE = 'pointbase'; +const TMP_DBSYSTEMVALUES_SQLITE = 'sqlite'; +const TMP_DBSYSTEMVALUES_SYBASE = 'sybase'; +const TMP_DBSYSTEMVALUES_TERADATA = 'teradata'; +const TMP_DBSYSTEMVALUES_VERTICA = 'vertica'; +const TMP_DBSYSTEMVALUES_H2 = 'h2'; +const TMP_DBSYSTEMVALUES_COLDFUSION = 'coldfusion'; +const TMP_DBSYSTEMVALUES_CASSANDRA = 'cassandra'; +const TMP_DBSYSTEMVALUES_HBASE = 'hbase'; +const TMP_DBSYSTEMVALUES_MONGODB = 'mongodb'; +const TMP_DBSYSTEMVALUES_REDIS = 'redis'; +const TMP_DBSYSTEMVALUES_COUCHBASE = 'couchbase'; +const TMP_DBSYSTEMVALUES_COUCHDB = 'couchdb'; +const TMP_DBSYSTEMVALUES_COSMOSDB = 'cosmosdb'; +const TMP_DBSYSTEMVALUES_DYNAMODB = 'dynamodb'; +const TMP_DBSYSTEMVALUES_NEO4J = 'neo4j'; +const TMP_DBSYSTEMVALUES_GEODE = 'geode'; +const TMP_DBSYSTEMVALUES_ELASTICSEARCH = 'elasticsearch'; +const TMP_DBSYSTEMVALUES_MEMCACHED = 'memcached'; +const TMP_DBSYSTEMVALUES_COCKROACHDB = 'cockroachdb'; +const DBSYSTEMVALUES_OTHER_SQL = TMP_DBSYSTEMVALUES_OTHER_SQL; +const DBSYSTEMVALUES_MSSQL = TMP_DBSYSTEMVALUES_MSSQL; +const DBSYSTEMVALUES_MYSQL = TMP_DBSYSTEMVALUES_MYSQL; +const DBSYSTEMVALUES_ORACLE = TMP_DBSYSTEMVALUES_ORACLE; +const DBSYSTEMVALUES_DB2 = TMP_DBSYSTEMVALUES_DB2; +const DBSYSTEMVALUES_POSTGRESQL = TMP_DBSYSTEMVALUES_POSTGRESQL; +const DBSYSTEMVALUES_REDSHIFT = TMP_DBSYSTEMVALUES_REDSHIFT; +const DBSYSTEMVALUES_HIVE = TMP_DBSYSTEMVALUES_HIVE; +const DBSYSTEMVALUES_CLOUDSCAPE = TMP_DBSYSTEMVALUES_CLOUDSCAPE; +const DBSYSTEMVALUES_HSQLDB = TMP_DBSYSTEMVALUES_HSQLDB; +const DBSYSTEMVALUES_PROGRESS = TMP_DBSYSTEMVALUES_PROGRESS; +const DBSYSTEMVALUES_MAXDB = TMP_DBSYSTEMVALUES_MAXDB; +const DBSYSTEMVALUES_HANADB = TMP_DBSYSTEMVALUES_HANADB; +const DBSYSTEMVALUES_INGRES = TMP_DBSYSTEMVALUES_INGRES; +const DBSYSTEMVALUES_FIRSTSQL = TMP_DBSYSTEMVALUES_FIRSTSQL; +const DBSYSTEMVALUES_EDB = TMP_DBSYSTEMVALUES_EDB; +const DBSYSTEMVALUES_CACHE = TMP_DBSYSTEMVALUES_CACHE; +const DBSYSTEMVALUES_ADABAS = TMP_DBSYSTEMVALUES_ADABAS; +const DBSYSTEMVALUES_FIREBIRD = TMP_DBSYSTEMVALUES_FIREBIRD; +const DBSYSTEMVALUES_DERBY = TMP_DBSYSTEMVALUES_DERBY; +const DBSYSTEMVALUES_FILEMAKER = TMP_DBSYSTEMVALUES_FILEMAKER; +const DBSYSTEMVALUES_INFORMIX = TMP_DBSYSTEMVALUES_INFORMIX; +const DBSYSTEMVALUES_INSTANTDB = TMP_DBSYSTEMVALUES_INSTANTDB; +const DBSYSTEMVALUES_INTERBASE = TMP_DBSYSTEMVALUES_INTERBASE; +const DBSYSTEMVALUES_MARIADB = TMP_DBSYSTEMVALUES_MARIADB; +const DBSYSTEMVALUES_NETEZZA = TMP_DBSYSTEMVALUES_NETEZZA; +const DBSYSTEMVALUES_PERVASIVE = TMP_DBSYSTEMVALUES_PERVASIVE; +const DBSYSTEMVALUES_POINTBASE = TMP_DBSYSTEMVALUES_POINTBASE; +const DBSYSTEMVALUES_SQLITE = TMP_DBSYSTEMVALUES_SQLITE; +const DBSYSTEMVALUES_SYBASE = TMP_DBSYSTEMVALUES_SYBASE; +const DBSYSTEMVALUES_TERADATA = TMP_DBSYSTEMVALUES_TERADATA; +const DBSYSTEMVALUES_VERTICA = TMP_DBSYSTEMVALUES_VERTICA; +const DBSYSTEMVALUES_H2 = TMP_DBSYSTEMVALUES_H2; +const DBSYSTEMVALUES_COLDFUSION = TMP_DBSYSTEMVALUES_COLDFUSION; +const DBSYSTEMVALUES_CASSANDRA = TMP_DBSYSTEMVALUES_CASSANDRA; +const DBSYSTEMVALUES_HBASE = TMP_DBSYSTEMVALUES_HBASE; +const DBSYSTEMVALUES_MONGODB = TMP_DBSYSTEMVALUES_MONGODB; +const DBSYSTEMVALUES_REDIS = TMP_DBSYSTEMVALUES_REDIS; +const DBSYSTEMVALUES_COUCHBASE = TMP_DBSYSTEMVALUES_COUCHBASE; +const DBSYSTEMVALUES_COUCHDB = TMP_DBSYSTEMVALUES_COUCHDB; +const DBSYSTEMVALUES_COSMOSDB = TMP_DBSYSTEMVALUES_COSMOSDB; +const DBSYSTEMVALUES_DYNAMODB = TMP_DBSYSTEMVALUES_DYNAMODB; +const DBSYSTEMVALUES_NEO4J = TMP_DBSYSTEMVALUES_NEO4J; +const DBSYSTEMVALUES_GEODE = TMP_DBSYSTEMVALUES_GEODE; +const DBSYSTEMVALUES_ELASTICSEARCH = TMP_DBSYSTEMVALUES_ELASTICSEARCH; +const DBSYSTEMVALUES_MEMCACHED = TMP_DBSYSTEMVALUES_MEMCACHED; +const DBSYSTEMVALUES_COCKROACHDB = TMP_DBSYSTEMVALUES_COCKROACHDB; +const DbSystemValues = + createConstMap([ + TMP_DBSYSTEMVALUES_OTHER_SQL, + TMP_DBSYSTEMVALUES_MSSQL, + TMP_DBSYSTEMVALUES_MYSQL, + TMP_DBSYSTEMVALUES_ORACLE, + TMP_DBSYSTEMVALUES_DB2, + TMP_DBSYSTEMVALUES_POSTGRESQL, + TMP_DBSYSTEMVALUES_REDSHIFT, + TMP_DBSYSTEMVALUES_HIVE, + TMP_DBSYSTEMVALUES_CLOUDSCAPE, + TMP_DBSYSTEMVALUES_HSQLDB, + TMP_DBSYSTEMVALUES_PROGRESS, + TMP_DBSYSTEMVALUES_MAXDB, + TMP_DBSYSTEMVALUES_HANADB, + TMP_DBSYSTEMVALUES_INGRES, + TMP_DBSYSTEMVALUES_FIRSTSQL, + TMP_DBSYSTEMVALUES_EDB, + TMP_DBSYSTEMVALUES_CACHE, + TMP_DBSYSTEMVALUES_ADABAS, + TMP_DBSYSTEMVALUES_FIREBIRD, + TMP_DBSYSTEMVALUES_DERBY, + TMP_DBSYSTEMVALUES_FILEMAKER, + TMP_DBSYSTEMVALUES_INFORMIX, + TMP_DBSYSTEMVALUES_INSTANTDB, + TMP_DBSYSTEMVALUES_INTERBASE, + TMP_DBSYSTEMVALUES_MARIADB, + TMP_DBSYSTEMVALUES_NETEZZA, + TMP_DBSYSTEMVALUES_PERVASIVE, + TMP_DBSYSTEMVALUES_POINTBASE, + TMP_DBSYSTEMVALUES_SQLITE, + TMP_DBSYSTEMVALUES_SYBASE, + TMP_DBSYSTEMVALUES_TERADATA, + TMP_DBSYSTEMVALUES_VERTICA, + TMP_DBSYSTEMVALUES_H2, + TMP_DBSYSTEMVALUES_COLDFUSION, + TMP_DBSYSTEMVALUES_CASSANDRA, + TMP_DBSYSTEMVALUES_HBASE, + TMP_DBSYSTEMVALUES_MONGODB, + TMP_DBSYSTEMVALUES_REDIS, + TMP_DBSYSTEMVALUES_COUCHBASE, + TMP_DBSYSTEMVALUES_COUCHDB, + TMP_DBSYSTEMVALUES_COSMOSDB, + TMP_DBSYSTEMVALUES_DYNAMODB, + TMP_DBSYSTEMVALUES_NEO4J, + TMP_DBSYSTEMVALUES_GEODE, + TMP_DBSYSTEMVALUES_ELASTICSEARCH, + TMP_DBSYSTEMVALUES_MEMCACHED, + TMP_DBSYSTEMVALUES_COCKROACHDB, +]); +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL = 'all'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = 'each_quorum'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = 'quorum'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = 'local_quorum'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE = 'one'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO = 'two'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE = 'three'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = 'local_one'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY = 'any'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = 'serial'; +const TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = 'local_serial'; +const DBCASSANDRACONSISTENCYLEVELVALUES_ALL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL; +const DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM; +const DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM; +const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM; +const DBCASSANDRACONSISTENCYLEVELVALUES_ONE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE; +const DBCASSANDRACONSISTENCYLEVELVALUES_TWO = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO; +const DBCASSANDRACONSISTENCYLEVELVALUES_THREE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE; +const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE; +const DBCASSANDRACONSISTENCYLEVELVALUES_ANY = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY; +const DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL; +const DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL; +const DbCassandraConsistencyLevelValues = + createConstMap([ + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL, + TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL, +]); +const TMP_FAASTRIGGERVALUES_DATASOURCE = 'datasource'; +const TMP_FAASTRIGGERVALUES_HTTP = 'http'; +const TMP_FAASTRIGGERVALUES_PUBSUB = 'pubsub'; +const TMP_FAASTRIGGERVALUES_TIMER = 'timer'; +const TMP_FAASTRIGGERVALUES_OTHER = 'other'; +const FAASTRIGGERVALUES_DATASOURCE = TMP_FAASTRIGGERVALUES_DATASOURCE; +const FAASTRIGGERVALUES_HTTP = TMP_FAASTRIGGERVALUES_HTTP; +const FAASTRIGGERVALUES_PUBSUB = TMP_FAASTRIGGERVALUES_PUBSUB; +const FAASTRIGGERVALUES_TIMER = TMP_FAASTRIGGERVALUES_TIMER; +const FAASTRIGGERVALUES_OTHER = TMP_FAASTRIGGERVALUES_OTHER; +const FaasTriggerValues = + createConstMap([ + TMP_FAASTRIGGERVALUES_DATASOURCE, + TMP_FAASTRIGGERVALUES_HTTP, + TMP_FAASTRIGGERVALUES_PUBSUB, + TMP_FAASTRIGGERVALUES_TIMER, + TMP_FAASTRIGGERVALUES_OTHER, +]); +const TMP_FAASDOCUMENTOPERATIONVALUES_INSERT = 'insert'; +const TMP_FAASDOCUMENTOPERATIONVALUES_EDIT = 'edit'; +const TMP_FAASDOCUMENTOPERATIONVALUES_DELETE = 'delete'; +const FAASDOCUMENTOPERATIONVALUES_INSERT = TMP_FAASDOCUMENTOPERATIONVALUES_INSERT; +const FAASDOCUMENTOPERATIONVALUES_EDIT = TMP_FAASDOCUMENTOPERATIONVALUES_EDIT; +const FAASDOCUMENTOPERATIONVALUES_DELETE = TMP_FAASDOCUMENTOPERATIONVALUES_DELETE; +const FaasDocumentOperationValues = + createConstMap([ + TMP_FAASDOCUMENTOPERATIONVALUES_INSERT, + TMP_FAASDOCUMENTOPERATIONVALUES_EDIT, + TMP_FAASDOCUMENTOPERATIONVALUES_DELETE, +]); +const TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = 'alibaba_cloud'; +const TMP_FAASINVOKEDPROVIDERVALUES_AWS = 'aws'; +const TMP_FAASINVOKEDPROVIDERVALUES_AZURE = 'azure'; +const TMP_FAASINVOKEDPROVIDERVALUES_GCP = 'gcp'; +const FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD; +const FAASINVOKEDPROVIDERVALUES_AWS = TMP_FAASINVOKEDPROVIDERVALUES_AWS; +const FAASINVOKEDPROVIDERVALUES_AZURE = TMP_FAASINVOKEDPROVIDERVALUES_AZURE; +const FAASINVOKEDPROVIDERVALUES_GCP = TMP_FAASINVOKEDPROVIDERVALUES_GCP; +const FaasInvokedProviderValues = + createConstMap([ + TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD, + TMP_FAASINVOKEDPROVIDERVALUES_AWS, + TMP_FAASINVOKEDPROVIDERVALUES_AZURE, + TMP_FAASINVOKEDPROVIDERVALUES_GCP, +]); +const TMP_NETTRANSPORTVALUES_IP_TCP = 'ip_tcp'; +const TMP_NETTRANSPORTVALUES_IP_UDP = 'ip_udp'; +const TMP_NETTRANSPORTVALUES_IP = 'ip'; +const TMP_NETTRANSPORTVALUES_UNIX = 'unix'; +const TMP_NETTRANSPORTVALUES_PIPE = 'pipe'; +const TMP_NETTRANSPORTVALUES_INPROC = 'inproc'; +const TMP_NETTRANSPORTVALUES_OTHER = 'other'; +const NETTRANSPORTVALUES_IP_TCP = TMP_NETTRANSPORTVALUES_IP_TCP; +const NETTRANSPORTVALUES_IP_UDP = TMP_NETTRANSPORTVALUES_IP_UDP; +const NETTRANSPORTVALUES_IP = TMP_NETTRANSPORTVALUES_IP; +const NETTRANSPORTVALUES_UNIX = TMP_NETTRANSPORTVALUES_UNIX; +const NETTRANSPORTVALUES_PIPE = TMP_NETTRANSPORTVALUES_PIPE; +const NETTRANSPORTVALUES_INPROC = TMP_NETTRANSPORTVALUES_INPROC; +const NETTRANSPORTVALUES_OTHER = TMP_NETTRANSPORTVALUES_OTHER; +const NetTransportValues = + createConstMap([ + TMP_NETTRANSPORTVALUES_IP_TCP, + TMP_NETTRANSPORTVALUES_IP_UDP, + TMP_NETTRANSPORTVALUES_IP, + TMP_NETTRANSPORTVALUES_UNIX, + TMP_NETTRANSPORTVALUES_PIPE, + TMP_NETTRANSPORTVALUES_INPROC, + TMP_NETTRANSPORTVALUES_OTHER, +]); +const TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI = 'wifi'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED = 'wired'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_CELL = 'cell'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = 'unavailable'; +const TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = 'unknown'; +const NETHOSTCONNECTIONTYPEVALUES_WIFI = TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI; +const NETHOSTCONNECTIONTYPEVALUES_WIRED = TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED; +const NETHOSTCONNECTIONTYPEVALUES_CELL = TMP_NETHOSTCONNECTIONTYPEVALUES_CELL; +const NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE; +const NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN; +const NetHostConnectionTypeValues = + createConstMap([ + TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI, + TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED, + TMP_NETHOSTCONNECTIONTYPEVALUES_CELL, + TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE, + TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN, +]); +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = 'gprs'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = 'edge'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = 'umts'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = 'cdma'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = 'evdo_0'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = 'evdo_a'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = 'cdma2000_1xrtt'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = 'hsdpa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = 'hsupa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = 'hspa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = 'iden'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = 'evdo_b'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE = 'lte'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = 'ehrpd'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = 'hspap'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM = 'gsm'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = 'td_scdma'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = 'iwlan'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR = 'nr'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = 'nrnsa'; +const TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = 'lte_ca'; +const NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS; +const NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE; +const NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS; +const NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA; +const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0; +const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A; +const NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT; +const NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA; +const NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA; +const NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA; +const NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN; +const NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B; +const NETHOSTCONNECTIONSUBTYPEVALUES_LTE = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE; +const NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD; +const NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP; +const NETHOSTCONNECTIONSUBTYPEVALUES_GSM = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM; +const NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA; +const NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN; +const NETHOSTCONNECTIONSUBTYPEVALUES_NR = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR; +const NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA; +const NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA; +const NetHostConnectionSubtypeValues = + createConstMap([ + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA, + TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA, +]); +const TMP_HTTPFLAVORVALUES_HTTP_1_0 = '1.0'; +const TMP_HTTPFLAVORVALUES_HTTP_1_1 = '1.1'; +const TMP_HTTPFLAVORVALUES_HTTP_2_0 = '2.0'; +const TMP_HTTPFLAVORVALUES_SPDY = 'SPDY'; +const TMP_HTTPFLAVORVALUES_QUIC = 'QUIC'; +const HTTPFLAVORVALUES_HTTP_1_0 = TMP_HTTPFLAVORVALUES_HTTP_1_0; +const HTTPFLAVORVALUES_HTTP_1_1 = TMP_HTTPFLAVORVALUES_HTTP_1_1; +const HTTPFLAVORVALUES_HTTP_2_0 = TMP_HTTPFLAVORVALUES_HTTP_2_0; +const HTTPFLAVORVALUES_SPDY = TMP_HTTPFLAVORVALUES_SPDY; +const HTTPFLAVORVALUES_QUIC = TMP_HTTPFLAVORVALUES_QUIC; const HttpFlavorValues = { - HTTP_1_0: '1.0', - HTTP_1_1: '1.1', - HTTP_2_0: '2.0', - SPDY: 'SPDY', - QUIC: 'QUIC', -}; -const MessagingDestinationKindValues = { - QUEUE: 'queue', - TOPIC: 'topic', -}; -const MessagingOperationValues = { - RECEIVE: 'receive', - PROCESS: 'process', + HTTP_1_0: TMP_HTTPFLAVORVALUES_HTTP_1_0, + HTTP_1_1: TMP_HTTPFLAVORVALUES_HTTP_1_1, + HTTP_2_0: TMP_HTTPFLAVORVALUES_HTTP_2_0, + SPDY: TMP_HTTPFLAVORVALUES_SPDY, + QUIC: TMP_HTTPFLAVORVALUES_QUIC, }; +const TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE = 'queue'; +const TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC = 'topic'; +const MESSAGINGDESTINATIONKINDVALUES_QUEUE = TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE; +const MESSAGINGDESTINATIONKINDVALUES_TOPIC = TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC; +const MessagingDestinationKindValues = + createConstMap([ + TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE, + TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC, +]); +const TMP_MESSAGINGOPERATIONVALUES_RECEIVE = 'receive'; +const TMP_MESSAGINGOPERATIONVALUES_PROCESS = 'process'; +const MESSAGINGOPERATIONVALUES_RECEIVE = TMP_MESSAGINGOPERATIONVALUES_RECEIVE; +const MESSAGINGOPERATIONVALUES_PROCESS = TMP_MESSAGINGOPERATIONVALUES_PROCESS; +const MessagingOperationValues = + createConstMap([ + TMP_MESSAGINGOPERATIONVALUES_RECEIVE, + TMP_MESSAGINGOPERATIONVALUES_PROCESS, +]); +const TMP_RPCGRPCSTATUSCODEVALUES_OK = 0; +const TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED = 1; +const TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN = 2; +const TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = 3; +const TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = 4; +const TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND = 5; +const TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = 6; +const TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = 7; +const TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = 8; +const TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = 9; +const TMP_RPCGRPCSTATUSCODEVALUES_ABORTED = 10; +const TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = 11; +const TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = 12; +const TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL = 13; +const TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = 14; +const TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS = 15; +const TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = 16; +const RPCGRPCSTATUSCODEVALUES_OK = TMP_RPCGRPCSTATUSCODEVALUES_OK; +const RPCGRPCSTATUSCODEVALUES_CANCELLED = TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED; +const RPCGRPCSTATUSCODEVALUES_UNKNOWN = TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN; +const RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT; +const RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED; +const RPCGRPCSTATUSCODEVALUES_NOT_FOUND = TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND; +const RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS; +const RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED; +const RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED; +const RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION; +const RPCGRPCSTATUSCODEVALUES_ABORTED = TMP_RPCGRPCSTATUSCODEVALUES_ABORTED; +const RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE; +const RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED; +const RPCGRPCSTATUSCODEVALUES_INTERNAL = TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL; +const RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE; +const RPCGRPCSTATUSCODEVALUES_DATA_LOSS = TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS; +const RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED; const RpcGrpcStatusCodeValues = { - OK: 0, - CANCELLED: 1, - UNKNOWN: 2, - INVALID_ARGUMENT: 3, - DEADLINE_EXCEEDED: 4, - NOT_FOUND: 5, - ALREADY_EXISTS: 6, - PERMISSION_DENIED: 7, - RESOURCE_EXHAUSTED: 8, - FAILED_PRECONDITION: 9, - ABORTED: 10, - OUT_OF_RANGE: 11, - UNIMPLEMENTED: 12, - INTERNAL: 13, - UNAVAILABLE: 14, - DATA_LOSS: 15, - UNAUTHENTICATED: 16, -}; -const MessageTypeValues = { - SENT: 'SENT', - RECEIVED: 'RECEIVED', + OK: TMP_RPCGRPCSTATUSCODEVALUES_OK, + CANCELLED: TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED, + UNKNOWN: TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN, + INVALID_ARGUMENT: TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT, + DEADLINE_EXCEEDED: TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED, + NOT_FOUND: TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND, + ALREADY_EXISTS: TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS, + PERMISSION_DENIED: TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED, + RESOURCE_EXHAUSTED: TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED, + FAILED_PRECONDITION: TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION, + ABORTED: TMP_RPCGRPCSTATUSCODEVALUES_ABORTED, + OUT_OF_RANGE: TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE, + UNIMPLEMENTED: TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED, + INTERNAL: TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL, + UNAVAILABLE: TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE, + DATA_LOSS: TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS, + UNAUTHENTICATED: TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED, }; +const TMP_MESSAGETYPEVALUES_SENT = 'SENT'; +const TMP_MESSAGETYPEVALUES_RECEIVED = 'RECEIVED'; +const MESSAGETYPEVALUES_SENT = TMP_MESSAGETYPEVALUES_SENT; +const MESSAGETYPEVALUES_RECEIVED = TMP_MESSAGETYPEVALUES_RECEIVED; +const MessageTypeValues = + createConstMap([ + TMP_MESSAGETYPEVALUES_SENT, + TMP_MESSAGETYPEVALUES_RECEIVED, +]); -const SemanticResourceAttributes = { - CLOUD_PROVIDER: 'cloud.provider', - CLOUD_ACCOUNT_ID: 'cloud.account.id', - CLOUD_REGION: 'cloud.region', - CLOUD_AVAILABILITY_ZONE: 'cloud.availability_zone', - CLOUD_PLATFORM: 'cloud.platform', - AWS_ECS_CONTAINER_ARN: 'aws.ecs.container.arn', - AWS_ECS_CLUSTER_ARN: 'aws.ecs.cluster.arn', - AWS_ECS_LAUNCHTYPE: 'aws.ecs.launchtype', - AWS_ECS_TASK_ARN: 'aws.ecs.task.arn', - AWS_ECS_TASK_FAMILY: 'aws.ecs.task.family', - AWS_ECS_TASK_REVISION: 'aws.ecs.task.revision', - AWS_EKS_CLUSTER_ARN: 'aws.eks.cluster.arn', - AWS_LOG_GROUP_NAMES: 'aws.log.group.names', - AWS_LOG_GROUP_ARNS: 'aws.log.group.arns', - AWS_LOG_STREAM_NAMES: 'aws.log.stream.names', - AWS_LOG_STREAM_ARNS: 'aws.log.stream.arns', - CONTAINER_NAME: 'container.name', - CONTAINER_ID: 'container.id', - CONTAINER_RUNTIME: 'container.runtime', - CONTAINER_IMAGE_NAME: 'container.image.name', - CONTAINER_IMAGE_TAG: 'container.image.tag', - DEPLOYMENT_ENVIRONMENT: 'deployment.environment', - DEVICE_ID: 'device.id', - DEVICE_MODEL_IDENTIFIER: 'device.model.identifier', - DEVICE_MODEL_NAME: 'device.model.name', - FAAS_NAME: 'faas.name', - FAAS_ID: 'faas.id', - FAAS_VERSION: 'faas.version', - FAAS_INSTANCE: 'faas.instance', - FAAS_MAX_MEMORY: 'faas.max_memory', - HOST_ID: 'host.id', - HOST_NAME: 'host.name', - HOST_TYPE: 'host.type', - HOST_ARCH: 'host.arch', - HOST_IMAGE_NAME: 'host.image.name', - HOST_IMAGE_ID: 'host.image.id', - HOST_IMAGE_VERSION: 'host.image.version', - K8S_CLUSTER_NAME: 'k8s.cluster.name', - K8S_NODE_NAME: 'k8s.node.name', - K8S_NODE_UID: 'k8s.node.uid', - K8S_NAMESPACE_NAME: 'k8s.namespace.name', - K8S_POD_UID: 'k8s.pod.uid', - K8S_POD_NAME: 'k8s.pod.name', - K8S_CONTAINER_NAME: 'k8s.container.name', - K8S_REPLICASET_UID: 'k8s.replicaset.uid', - K8S_REPLICASET_NAME: 'k8s.replicaset.name', - K8S_DEPLOYMENT_UID: 'k8s.deployment.uid', - K8S_DEPLOYMENT_NAME: 'k8s.deployment.name', - K8S_STATEFULSET_UID: 'k8s.statefulset.uid', - K8S_STATEFULSET_NAME: 'k8s.statefulset.name', - K8S_DAEMONSET_UID: 'k8s.daemonset.uid', - K8S_DAEMONSET_NAME: 'k8s.daemonset.name', - K8S_JOB_UID: 'k8s.job.uid', - K8S_JOB_NAME: 'k8s.job.name', - K8S_CRONJOB_UID: 'k8s.cronjob.uid', - K8S_CRONJOB_NAME: 'k8s.cronjob.name', - OS_TYPE: 'os.type', - OS_DESCRIPTION: 'os.description', - OS_NAME: 'os.name', - OS_VERSION: 'os.version', - PROCESS_PID: 'process.pid', - PROCESS_EXECUTABLE_NAME: 'process.executable.name', - PROCESS_EXECUTABLE_PATH: 'process.executable.path', - PROCESS_COMMAND: 'process.command', - PROCESS_COMMAND_LINE: 'process.command_line', - PROCESS_COMMAND_ARGS: 'process.command_args', - PROCESS_OWNER: 'process.owner', - PROCESS_RUNTIME_NAME: 'process.runtime.name', - PROCESS_RUNTIME_VERSION: 'process.runtime.version', - PROCESS_RUNTIME_DESCRIPTION: 'process.runtime.description', - SERVICE_NAME: 'service.name', - SERVICE_NAMESPACE: 'service.namespace', - SERVICE_INSTANCE_ID: 'service.instance.id', - SERVICE_VERSION: 'service.version', - TELEMETRY_SDK_NAME: 'telemetry.sdk.name', - TELEMETRY_SDK_LANGUAGE: 'telemetry.sdk.language', - TELEMETRY_SDK_VERSION: 'telemetry.sdk.version', - TELEMETRY_AUTO_VERSION: 'telemetry.auto.version', - WEBENGINE_NAME: 'webengine.name', - WEBENGINE_VERSION: 'webengine.version', - WEBENGINE_DESCRIPTION: 'webengine.description', -}; -const CloudProviderValues = { - ALIBABA_CLOUD: 'alibaba_cloud', - AWS: 'aws', - AZURE: 'azure', - GCP: 'gcp', -}; -const CloudPlatformValues = { - ALIBABA_CLOUD_ECS: 'alibaba_cloud_ecs', - ALIBABA_CLOUD_FC: 'alibaba_cloud_fc', - AWS_EC2: 'aws_ec2', - AWS_ECS: 'aws_ecs', - AWS_EKS: 'aws_eks', - AWS_LAMBDA: 'aws_lambda', - AWS_ELASTIC_BEANSTALK: 'aws_elastic_beanstalk', - AZURE_VM: 'azure_vm', - AZURE_CONTAINER_INSTANCES: 'azure_container_instances', - AZURE_AKS: 'azure_aks', - AZURE_FUNCTIONS: 'azure_functions', - AZURE_APP_SERVICE: 'azure_app_service', - GCP_COMPUTE_ENGINE: 'gcp_compute_engine', - GCP_CLOUD_RUN: 'gcp_cloud_run', - GCP_KUBERNETES_ENGINE: 'gcp_kubernetes_engine', - GCP_CLOUD_FUNCTIONS: 'gcp_cloud_functions', - GCP_APP_ENGINE: 'gcp_app_engine', -}; -const AwsEcsLaunchtypeValues = { - EC2: 'ec2', - FARGATE: 'fargate', -}; -const HostArchValues = { - AMD64: 'amd64', - ARM32: 'arm32', - ARM64: 'arm64', - IA64: 'ia64', - PPC32: 'ppc32', - PPC64: 'ppc64', - X86: 'x86', -}; -const OsTypeValues = { - WINDOWS: 'windows', - LINUX: 'linux', - DARWIN: 'darwin', - FREEBSD: 'freebsd', - NETBSD: 'netbsd', - OPENBSD: 'openbsd', - DRAGONFLYBSD: 'dragonflybsd', - HPUX: 'hpux', - AIX: 'aix', - SOLARIS: 'solaris', - Z_OS: 'z_os', -}; -const TelemetrySdkLanguageValues = { - CPP: 'cpp', - DOTNET: 'dotnet', - ERLANG: 'erlang', - GO: 'go', - JAVA: 'java', - NODEJS: 'nodejs', - PHP: 'php', - PYTHON: 'python', - RUBY: 'ruby', - WEBJS: 'webjs', -}; +const TMP_CLOUD_PROVIDER = 'cloud.provider'; +const TMP_CLOUD_ACCOUNT_ID = 'cloud.account.id'; +const TMP_CLOUD_REGION = 'cloud.region'; +const TMP_CLOUD_AVAILABILITY_ZONE = 'cloud.availability_zone'; +const TMP_CLOUD_PLATFORM = 'cloud.platform'; +const TMP_AWS_ECS_CONTAINER_ARN = 'aws.ecs.container.arn'; +const TMP_AWS_ECS_CLUSTER_ARN = 'aws.ecs.cluster.arn'; +const TMP_AWS_ECS_LAUNCHTYPE = 'aws.ecs.launchtype'; +const TMP_AWS_ECS_TASK_ARN = 'aws.ecs.task.arn'; +const TMP_AWS_ECS_TASK_FAMILY = 'aws.ecs.task.family'; +const TMP_AWS_ECS_TASK_REVISION = 'aws.ecs.task.revision'; +const TMP_AWS_EKS_CLUSTER_ARN = 'aws.eks.cluster.arn'; +const TMP_AWS_LOG_GROUP_NAMES = 'aws.log.group.names'; +const TMP_AWS_LOG_GROUP_ARNS = 'aws.log.group.arns'; +const TMP_AWS_LOG_STREAM_NAMES = 'aws.log.stream.names'; +const TMP_AWS_LOG_STREAM_ARNS = 'aws.log.stream.arns'; +const TMP_CONTAINER_NAME = 'container.name'; +const TMP_CONTAINER_ID = 'container.id'; +const TMP_CONTAINER_RUNTIME = 'container.runtime'; +const TMP_CONTAINER_IMAGE_NAME = 'container.image.name'; +const TMP_CONTAINER_IMAGE_TAG = 'container.image.tag'; +const TMP_DEPLOYMENT_ENVIRONMENT = 'deployment.environment'; +const TMP_DEVICE_ID = 'device.id'; +const TMP_DEVICE_MODEL_IDENTIFIER = 'device.model.identifier'; +const TMP_DEVICE_MODEL_NAME = 'device.model.name'; +const TMP_FAAS_NAME = 'faas.name'; +const TMP_FAAS_ID = 'faas.id'; +const TMP_FAAS_VERSION = 'faas.version'; +const TMP_FAAS_INSTANCE = 'faas.instance'; +const TMP_FAAS_MAX_MEMORY = 'faas.max_memory'; +const TMP_HOST_ID = 'host.id'; +const TMP_HOST_NAME = 'host.name'; +const TMP_HOST_TYPE = 'host.type'; +const TMP_HOST_ARCH = 'host.arch'; +const TMP_HOST_IMAGE_NAME = 'host.image.name'; +const TMP_HOST_IMAGE_ID = 'host.image.id'; +const TMP_HOST_IMAGE_VERSION = 'host.image.version'; +const TMP_K8S_CLUSTER_NAME = 'k8s.cluster.name'; +const TMP_K8S_NODE_NAME = 'k8s.node.name'; +const TMP_K8S_NODE_UID = 'k8s.node.uid'; +const TMP_K8S_NAMESPACE_NAME = 'k8s.namespace.name'; +const TMP_K8S_POD_UID = 'k8s.pod.uid'; +const TMP_K8S_POD_NAME = 'k8s.pod.name'; +const TMP_K8S_CONTAINER_NAME = 'k8s.container.name'; +const TMP_K8S_REPLICASET_UID = 'k8s.replicaset.uid'; +const TMP_K8S_REPLICASET_NAME = 'k8s.replicaset.name'; +const TMP_K8S_DEPLOYMENT_UID = 'k8s.deployment.uid'; +const TMP_K8S_DEPLOYMENT_NAME = 'k8s.deployment.name'; +const TMP_K8S_STATEFULSET_UID = 'k8s.statefulset.uid'; +const TMP_K8S_STATEFULSET_NAME = 'k8s.statefulset.name'; +const TMP_K8S_DAEMONSET_UID = 'k8s.daemonset.uid'; +const TMP_K8S_DAEMONSET_NAME = 'k8s.daemonset.name'; +const TMP_K8S_JOB_UID = 'k8s.job.uid'; +const TMP_K8S_JOB_NAME = 'k8s.job.name'; +const TMP_K8S_CRONJOB_UID = 'k8s.cronjob.uid'; +const TMP_K8S_CRONJOB_NAME = 'k8s.cronjob.name'; +const TMP_OS_TYPE = 'os.type'; +const TMP_OS_DESCRIPTION = 'os.description'; +const TMP_OS_NAME = 'os.name'; +const TMP_OS_VERSION = 'os.version'; +const TMP_PROCESS_PID = 'process.pid'; +const TMP_PROCESS_EXECUTABLE_NAME = 'process.executable.name'; +const TMP_PROCESS_EXECUTABLE_PATH = 'process.executable.path'; +const TMP_PROCESS_COMMAND = 'process.command'; +const TMP_PROCESS_COMMAND_LINE = 'process.command_line'; +const TMP_PROCESS_COMMAND_ARGS = 'process.command_args'; +const TMP_PROCESS_OWNER = 'process.owner'; +const TMP_PROCESS_RUNTIME_NAME = 'process.runtime.name'; +const TMP_PROCESS_RUNTIME_VERSION = 'process.runtime.version'; +const TMP_PROCESS_RUNTIME_DESCRIPTION = 'process.runtime.description'; +const TMP_SERVICE_NAME = 'service.name'; +const TMP_SERVICE_NAMESPACE = 'service.namespace'; +const TMP_SERVICE_INSTANCE_ID = 'service.instance.id'; +const TMP_SERVICE_VERSION = 'service.version'; +const TMP_TELEMETRY_SDK_NAME = 'telemetry.sdk.name'; +const TMP_TELEMETRY_SDK_LANGUAGE = 'telemetry.sdk.language'; +const TMP_TELEMETRY_SDK_VERSION = 'telemetry.sdk.version'; +const TMP_TELEMETRY_AUTO_VERSION = 'telemetry.auto.version'; +const TMP_WEBENGINE_NAME = 'webengine.name'; +const TMP_WEBENGINE_VERSION = 'webengine.version'; +const TMP_WEBENGINE_DESCRIPTION = 'webengine.description'; +const SEMRESATTRS_CLOUD_PROVIDER = TMP_CLOUD_PROVIDER; +const SEMRESATTRS_CLOUD_ACCOUNT_ID = TMP_CLOUD_ACCOUNT_ID; +const SEMRESATTRS_CLOUD_REGION = TMP_CLOUD_REGION; +const SEMRESATTRS_CLOUD_AVAILABILITY_ZONE = TMP_CLOUD_AVAILABILITY_ZONE; +const SEMRESATTRS_CLOUD_PLATFORM = TMP_CLOUD_PLATFORM; +const SEMRESATTRS_AWS_ECS_CONTAINER_ARN = TMP_AWS_ECS_CONTAINER_ARN; +const SEMRESATTRS_AWS_ECS_CLUSTER_ARN = TMP_AWS_ECS_CLUSTER_ARN; +const SEMRESATTRS_AWS_ECS_LAUNCHTYPE = TMP_AWS_ECS_LAUNCHTYPE; +const SEMRESATTRS_AWS_ECS_TASK_ARN = TMP_AWS_ECS_TASK_ARN; +const SEMRESATTRS_AWS_ECS_TASK_FAMILY = TMP_AWS_ECS_TASK_FAMILY; +const SEMRESATTRS_AWS_ECS_TASK_REVISION = TMP_AWS_ECS_TASK_REVISION; +const SEMRESATTRS_AWS_EKS_CLUSTER_ARN = TMP_AWS_EKS_CLUSTER_ARN; +const SEMRESATTRS_AWS_LOG_GROUP_NAMES = TMP_AWS_LOG_GROUP_NAMES; +const SEMRESATTRS_AWS_LOG_GROUP_ARNS = TMP_AWS_LOG_GROUP_ARNS; +const SEMRESATTRS_AWS_LOG_STREAM_NAMES = TMP_AWS_LOG_STREAM_NAMES; +const SEMRESATTRS_AWS_LOG_STREAM_ARNS = TMP_AWS_LOG_STREAM_ARNS; +const SEMRESATTRS_CONTAINER_NAME = TMP_CONTAINER_NAME; +const SEMRESATTRS_CONTAINER_ID = TMP_CONTAINER_ID; +const SEMRESATTRS_CONTAINER_RUNTIME = TMP_CONTAINER_RUNTIME; +const SEMRESATTRS_CONTAINER_IMAGE_NAME = TMP_CONTAINER_IMAGE_NAME; +const SEMRESATTRS_CONTAINER_IMAGE_TAG = TMP_CONTAINER_IMAGE_TAG; +const SEMRESATTRS_DEPLOYMENT_ENVIRONMENT = TMP_DEPLOYMENT_ENVIRONMENT; +const SEMRESATTRS_DEVICE_ID = TMP_DEVICE_ID; +const SEMRESATTRS_DEVICE_MODEL_IDENTIFIER = TMP_DEVICE_MODEL_IDENTIFIER; +const SEMRESATTRS_DEVICE_MODEL_NAME = TMP_DEVICE_MODEL_NAME; +const SEMRESATTRS_FAAS_NAME = TMP_FAAS_NAME; +const SEMRESATTRS_FAAS_ID = TMP_FAAS_ID; +const SEMRESATTRS_FAAS_VERSION = TMP_FAAS_VERSION; +const SEMRESATTRS_FAAS_INSTANCE = TMP_FAAS_INSTANCE; +const SEMRESATTRS_FAAS_MAX_MEMORY = TMP_FAAS_MAX_MEMORY; +const SEMRESATTRS_HOST_ID = TMP_HOST_ID; +const SEMRESATTRS_HOST_NAME = TMP_HOST_NAME; +const SEMRESATTRS_HOST_TYPE = TMP_HOST_TYPE; +const SEMRESATTRS_HOST_ARCH = TMP_HOST_ARCH; +const SEMRESATTRS_HOST_IMAGE_NAME = TMP_HOST_IMAGE_NAME; +const SEMRESATTRS_HOST_IMAGE_ID = TMP_HOST_IMAGE_ID; +const SEMRESATTRS_HOST_IMAGE_VERSION = TMP_HOST_IMAGE_VERSION; +const SEMRESATTRS_K8S_CLUSTER_NAME = TMP_K8S_CLUSTER_NAME; +const SEMRESATTRS_K8S_NODE_NAME = TMP_K8S_NODE_NAME; +const SEMRESATTRS_K8S_NODE_UID = TMP_K8S_NODE_UID; +const SEMRESATTRS_K8S_NAMESPACE_NAME = TMP_K8S_NAMESPACE_NAME; +const SEMRESATTRS_K8S_POD_UID = TMP_K8S_POD_UID; +const SEMRESATTRS_K8S_POD_NAME = TMP_K8S_POD_NAME; +const SEMRESATTRS_K8S_CONTAINER_NAME = TMP_K8S_CONTAINER_NAME; +const SEMRESATTRS_K8S_REPLICASET_UID = TMP_K8S_REPLICASET_UID; +const SEMRESATTRS_K8S_REPLICASET_NAME = TMP_K8S_REPLICASET_NAME; +const SEMRESATTRS_K8S_DEPLOYMENT_UID = TMP_K8S_DEPLOYMENT_UID; +const SEMRESATTRS_K8S_DEPLOYMENT_NAME = TMP_K8S_DEPLOYMENT_NAME; +const SEMRESATTRS_K8S_STATEFULSET_UID = TMP_K8S_STATEFULSET_UID; +const SEMRESATTRS_K8S_STATEFULSET_NAME = TMP_K8S_STATEFULSET_NAME; +const SEMRESATTRS_K8S_DAEMONSET_UID = TMP_K8S_DAEMONSET_UID; +const SEMRESATTRS_K8S_DAEMONSET_NAME = TMP_K8S_DAEMONSET_NAME; +const SEMRESATTRS_K8S_JOB_UID = TMP_K8S_JOB_UID; +const SEMRESATTRS_K8S_JOB_NAME = TMP_K8S_JOB_NAME; +const SEMRESATTRS_K8S_CRONJOB_UID = TMP_K8S_CRONJOB_UID; +const SEMRESATTRS_K8S_CRONJOB_NAME = TMP_K8S_CRONJOB_NAME; +const SEMRESATTRS_OS_TYPE = TMP_OS_TYPE; +const SEMRESATTRS_OS_DESCRIPTION = TMP_OS_DESCRIPTION; +const SEMRESATTRS_OS_NAME = TMP_OS_NAME; +const SEMRESATTRS_OS_VERSION = TMP_OS_VERSION; +const SEMRESATTRS_PROCESS_PID = TMP_PROCESS_PID; +const SEMRESATTRS_PROCESS_EXECUTABLE_NAME = TMP_PROCESS_EXECUTABLE_NAME; +const SEMRESATTRS_PROCESS_EXECUTABLE_PATH = TMP_PROCESS_EXECUTABLE_PATH; +const SEMRESATTRS_PROCESS_COMMAND = TMP_PROCESS_COMMAND; +const SEMRESATTRS_PROCESS_COMMAND_LINE = TMP_PROCESS_COMMAND_LINE; +const SEMRESATTRS_PROCESS_COMMAND_ARGS = TMP_PROCESS_COMMAND_ARGS; +const SEMRESATTRS_PROCESS_OWNER = TMP_PROCESS_OWNER; +const SEMRESATTRS_PROCESS_RUNTIME_NAME = TMP_PROCESS_RUNTIME_NAME; +const SEMRESATTRS_PROCESS_RUNTIME_VERSION = TMP_PROCESS_RUNTIME_VERSION; +const SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION = TMP_PROCESS_RUNTIME_DESCRIPTION; +const SEMRESATTRS_SERVICE_NAME = TMP_SERVICE_NAME; +const SEMRESATTRS_SERVICE_NAMESPACE = TMP_SERVICE_NAMESPACE; +const SEMRESATTRS_SERVICE_INSTANCE_ID = TMP_SERVICE_INSTANCE_ID; +const SEMRESATTRS_SERVICE_VERSION = TMP_SERVICE_VERSION; +const SEMRESATTRS_TELEMETRY_SDK_NAME = TMP_TELEMETRY_SDK_NAME; +const SEMRESATTRS_TELEMETRY_SDK_LANGUAGE = TMP_TELEMETRY_SDK_LANGUAGE; +const SEMRESATTRS_TELEMETRY_SDK_VERSION = TMP_TELEMETRY_SDK_VERSION; +const SEMRESATTRS_TELEMETRY_AUTO_VERSION = TMP_TELEMETRY_AUTO_VERSION; +const SEMRESATTRS_WEBENGINE_NAME = TMP_WEBENGINE_NAME; +const SEMRESATTRS_WEBENGINE_VERSION = TMP_WEBENGINE_VERSION; +const SEMRESATTRS_WEBENGINE_DESCRIPTION = TMP_WEBENGINE_DESCRIPTION; +const SemanticResourceAttributes = + createConstMap([ + TMP_CLOUD_PROVIDER, + TMP_CLOUD_ACCOUNT_ID, + TMP_CLOUD_REGION, + TMP_CLOUD_AVAILABILITY_ZONE, + TMP_CLOUD_PLATFORM, + TMP_AWS_ECS_CONTAINER_ARN, + TMP_AWS_ECS_CLUSTER_ARN, + TMP_AWS_ECS_LAUNCHTYPE, + TMP_AWS_ECS_TASK_ARN, + TMP_AWS_ECS_TASK_FAMILY, + TMP_AWS_ECS_TASK_REVISION, + TMP_AWS_EKS_CLUSTER_ARN, + TMP_AWS_LOG_GROUP_NAMES, + TMP_AWS_LOG_GROUP_ARNS, + TMP_AWS_LOG_STREAM_NAMES, + TMP_AWS_LOG_STREAM_ARNS, + TMP_CONTAINER_NAME, + TMP_CONTAINER_ID, + TMP_CONTAINER_RUNTIME, + TMP_CONTAINER_IMAGE_NAME, + TMP_CONTAINER_IMAGE_TAG, + TMP_DEPLOYMENT_ENVIRONMENT, + TMP_DEVICE_ID, + TMP_DEVICE_MODEL_IDENTIFIER, + TMP_DEVICE_MODEL_NAME, + TMP_FAAS_NAME, + TMP_FAAS_ID, + TMP_FAAS_VERSION, + TMP_FAAS_INSTANCE, + TMP_FAAS_MAX_MEMORY, + TMP_HOST_ID, + TMP_HOST_NAME, + TMP_HOST_TYPE, + TMP_HOST_ARCH, + TMP_HOST_IMAGE_NAME, + TMP_HOST_IMAGE_ID, + TMP_HOST_IMAGE_VERSION, + TMP_K8S_CLUSTER_NAME, + TMP_K8S_NODE_NAME, + TMP_K8S_NODE_UID, + TMP_K8S_NAMESPACE_NAME, + TMP_K8S_POD_UID, + TMP_K8S_POD_NAME, + TMP_K8S_CONTAINER_NAME, + TMP_K8S_REPLICASET_UID, + TMP_K8S_REPLICASET_NAME, + TMP_K8S_DEPLOYMENT_UID, + TMP_K8S_DEPLOYMENT_NAME, + TMP_K8S_STATEFULSET_UID, + TMP_K8S_STATEFULSET_NAME, + TMP_K8S_DAEMONSET_UID, + TMP_K8S_DAEMONSET_NAME, + TMP_K8S_JOB_UID, + TMP_K8S_JOB_NAME, + TMP_K8S_CRONJOB_UID, + TMP_K8S_CRONJOB_NAME, + TMP_OS_TYPE, + TMP_OS_DESCRIPTION, + TMP_OS_NAME, + TMP_OS_VERSION, + TMP_PROCESS_PID, + TMP_PROCESS_EXECUTABLE_NAME, + TMP_PROCESS_EXECUTABLE_PATH, + TMP_PROCESS_COMMAND, + TMP_PROCESS_COMMAND_LINE, + TMP_PROCESS_COMMAND_ARGS, + TMP_PROCESS_OWNER, + TMP_PROCESS_RUNTIME_NAME, + TMP_PROCESS_RUNTIME_VERSION, + TMP_PROCESS_RUNTIME_DESCRIPTION, + TMP_SERVICE_NAME, + TMP_SERVICE_NAMESPACE, + TMP_SERVICE_INSTANCE_ID, + TMP_SERVICE_VERSION, + TMP_TELEMETRY_SDK_NAME, + TMP_TELEMETRY_SDK_LANGUAGE, + TMP_TELEMETRY_SDK_VERSION, + TMP_TELEMETRY_AUTO_VERSION, + TMP_WEBENGINE_NAME, + TMP_WEBENGINE_VERSION, + TMP_WEBENGINE_DESCRIPTION, +]); +const TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD = 'alibaba_cloud'; +const TMP_CLOUDPROVIDERVALUES_AWS = 'aws'; +const TMP_CLOUDPROVIDERVALUES_AZURE = 'azure'; +const TMP_CLOUDPROVIDERVALUES_GCP = 'gcp'; +const CLOUDPROVIDERVALUES_ALIBABA_CLOUD = TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD; +const CLOUDPROVIDERVALUES_AWS = TMP_CLOUDPROVIDERVALUES_AWS; +const CLOUDPROVIDERVALUES_AZURE = TMP_CLOUDPROVIDERVALUES_AZURE; +const CLOUDPROVIDERVALUES_GCP = TMP_CLOUDPROVIDERVALUES_GCP; +const CloudProviderValues = + createConstMap([ + TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD, + TMP_CLOUDPROVIDERVALUES_AWS, + TMP_CLOUDPROVIDERVALUES_AZURE, + TMP_CLOUDPROVIDERVALUES_GCP, +]); +const TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = 'alibaba_cloud_ecs'; +const TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = 'alibaba_cloud_fc'; +const TMP_CLOUDPLATFORMVALUES_AWS_EC2 = 'aws_ec2'; +const TMP_CLOUDPLATFORMVALUES_AWS_ECS = 'aws_ecs'; +const TMP_CLOUDPLATFORMVALUES_AWS_EKS = 'aws_eks'; +const TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA = 'aws_lambda'; +const TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = 'aws_elastic_beanstalk'; +const TMP_CLOUDPLATFORMVALUES_AZURE_VM = 'azure_vm'; +const TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = 'azure_container_instances'; +const TMP_CLOUDPLATFORMVALUES_AZURE_AKS = 'azure_aks'; +const TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = 'azure_functions'; +const TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = 'azure_app_service'; +const TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = 'gcp_compute_engine'; +const TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = 'gcp_cloud_run'; +const TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = 'gcp_kubernetes_engine'; +const TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = 'gcp_cloud_functions'; +const TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE = 'gcp_app_engine'; +const CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS; +const CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC; +const CLOUDPLATFORMVALUES_AWS_EC2 = TMP_CLOUDPLATFORMVALUES_AWS_EC2; +const CLOUDPLATFORMVALUES_AWS_ECS = TMP_CLOUDPLATFORMVALUES_AWS_ECS; +const CLOUDPLATFORMVALUES_AWS_EKS = TMP_CLOUDPLATFORMVALUES_AWS_EKS; +const CLOUDPLATFORMVALUES_AWS_LAMBDA = TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA; +const CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK; +const CLOUDPLATFORMVALUES_AZURE_VM = TMP_CLOUDPLATFORMVALUES_AZURE_VM; +const CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES; +const CLOUDPLATFORMVALUES_AZURE_AKS = TMP_CLOUDPLATFORMVALUES_AZURE_AKS; +const CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS; +const CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE; +const CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE; +const CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN; +const CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE; +const CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS; +const CLOUDPLATFORMVALUES_GCP_APP_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE; +const CloudPlatformValues = + createConstMap([ + TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS, + TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC, + TMP_CLOUDPLATFORMVALUES_AWS_EC2, + TMP_CLOUDPLATFORMVALUES_AWS_ECS, + TMP_CLOUDPLATFORMVALUES_AWS_EKS, + TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA, + TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK, + TMP_CLOUDPLATFORMVALUES_AZURE_VM, + TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES, + TMP_CLOUDPLATFORMVALUES_AZURE_AKS, + TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS, + TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE, + TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE, + TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN, + TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE, + TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS, + TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE, +]); +const TMP_AWSECSLAUNCHTYPEVALUES_EC2 = 'ec2'; +const TMP_AWSECSLAUNCHTYPEVALUES_FARGATE = 'fargate'; +const AWSECSLAUNCHTYPEVALUES_EC2 = TMP_AWSECSLAUNCHTYPEVALUES_EC2; +const AWSECSLAUNCHTYPEVALUES_FARGATE = TMP_AWSECSLAUNCHTYPEVALUES_FARGATE; +const AwsEcsLaunchtypeValues = + createConstMap([ + TMP_AWSECSLAUNCHTYPEVALUES_EC2, + TMP_AWSECSLAUNCHTYPEVALUES_FARGATE, +]); +const TMP_HOSTARCHVALUES_AMD64 = 'amd64'; +const TMP_HOSTARCHVALUES_ARM32 = 'arm32'; +const TMP_HOSTARCHVALUES_ARM64 = 'arm64'; +const TMP_HOSTARCHVALUES_IA64 = 'ia64'; +const TMP_HOSTARCHVALUES_PPC32 = 'ppc32'; +const TMP_HOSTARCHVALUES_PPC64 = 'ppc64'; +const TMP_HOSTARCHVALUES_X86 = 'x86'; +const HOSTARCHVALUES_AMD64 = TMP_HOSTARCHVALUES_AMD64; +const HOSTARCHVALUES_ARM32 = TMP_HOSTARCHVALUES_ARM32; +const HOSTARCHVALUES_ARM64 = TMP_HOSTARCHVALUES_ARM64; +const HOSTARCHVALUES_IA64 = TMP_HOSTARCHVALUES_IA64; +const HOSTARCHVALUES_PPC32 = TMP_HOSTARCHVALUES_PPC32; +const HOSTARCHVALUES_PPC64 = TMP_HOSTARCHVALUES_PPC64; +const HOSTARCHVALUES_X86 = TMP_HOSTARCHVALUES_X86; +const HostArchValues = + createConstMap([ + TMP_HOSTARCHVALUES_AMD64, + TMP_HOSTARCHVALUES_ARM32, + TMP_HOSTARCHVALUES_ARM64, + TMP_HOSTARCHVALUES_IA64, + TMP_HOSTARCHVALUES_PPC32, + TMP_HOSTARCHVALUES_PPC64, + TMP_HOSTARCHVALUES_X86, +]); +const TMP_OSTYPEVALUES_WINDOWS = 'windows'; +const TMP_OSTYPEVALUES_LINUX = 'linux'; +const TMP_OSTYPEVALUES_DARWIN = 'darwin'; +const TMP_OSTYPEVALUES_FREEBSD = 'freebsd'; +const TMP_OSTYPEVALUES_NETBSD = 'netbsd'; +const TMP_OSTYPEVALUES_OPENBSD = 'openbsd'; +const TMP_OSTYPEVALUES_DRAGONFLYBSD = 'dragonflybsd'; +const TMP_OSTYPEVALUES_HPUX = 'hpux'; +const TMP_OSTYPEVALUES_AIX = 'aix'; +const TMP_OSTYPEVALUES_SOLARIS = 'solaris'; +const TMP_OSTYPEVALUES_Z_OS = 'z_os'; +const OSTYPEVALUES_WINDOWS = TMP_OSTYPEVALUES_WINDOWS; +const OSTYPEVALUES_LINUX = TMP_OSTYPEVALUES_LINUX; +const OSTYPEVALUES_DARWIN = TMP_OSTYPEVALUES_DARWIN; +const OSTYPEVALUES_FREEBSD = TMP_OSTYPEVALUES_FREEBSD; +const OSTYPEVALUES_NETBSD = TMP_OSTYPEVALUES_NETBSD; +const OSTYPEVALUES_OPENBSD = TMP_OSTYPEVALUES_OPENBSD; +const OSTYPEVALUES_DRAGONFLYBSD = TMP_OSTYPEVALUES_DRAGONFLYBSD; +const OSTYPEVALUES_HPUX = TMP_OSTYPEVALUES_HPUX; +const OSTYPEVALUES_AIX = TMP_OSTYPEVALUES_AIX; +const OSTYPEVALUES_SOLARIS = TMP_OSTYPEVALUES_SOLARIS; +const OSTYPEVALUES_Z_OS = TMP_OSTYPEVALUES_Z_OS; +const OsTypeValues = + createConstMap([ + TMP_OSTYPEVALUES_WINDOWS, + TMP_OSTYPEVALUES_LINUX, + TMP_OSTYPEVALUES_DARWIN, + TMP_OSTYPEVALUES_FREEBSD, + TMP_OSTYPEVALUES_NETBSD, + TMP_OSTYPEVALUES_OPENBSD, + TMP_OSTYPEVALUES_DRAGONFLYBSD, + TMP_OSTYPEVALUES_HPUX, + TMP_OSTYPEVALUES_AIX, + TMP_OSTYPEVALUES_SOLARIS, + TMP_OSTYPEVALUES_Z_OS, +]); +const TMP_TELEMETRYSDKLANGUAGEVALUES_CPP = 'cpp'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET = 'dotnet'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG = 'erlang'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_GO = 'go'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA = 'java'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS = 'nodejs'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_PHP = 'php'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON = 'python'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY = 'ruby'; +const TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS = 'webjs'; +const TELEMETRYSDKLANGUAGEVALUES_CPP = TMP_TELEMETRYSDKLANGUAGEVALUES_CPP; +const TELEMETRYSDKLANGUAGEVALUES_DOTNET = TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET; +const TELEMETRYSDKLANGUAGEVALUES_ERLANG = TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG; +const TELEMETRYSDKLANGUAGEVALUES_GO = TMP_TELEMETRYSDKLANGUAGEVALUES_GO; +const TELEMETRYSDKLANGUAGEVALUES_JAVA = TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA; +const TELEMETRYSDKLANGUAGEVALUES_NODEJS = TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS; +const TELEMETRYSDKLANGUAGEVALUES_PHP = TMP_TELEMETRYSDKLANGUAGEVALUES_PHP; +const TELEMETRYSDKLANGUAGEVALUES_PYTHON = TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON; +const TELEMETRYSDKLANGUAGEVALUES_RUBY = TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY; +const TELEMETRYSDKLANGUAGEVALUES_WEBJS = TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS; +const TelemetrySdkLanguageValues = + createConstMap([ + TMP_TELEMETRYSDKLANGUAGEVALUES_CPP, + TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET, + TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG, + TMP_TELEMETRYSDKLANGUAGEVALUES_GO, + TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA, + TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS, + TMP_TELEMETRYSDKLANGUAGEVALUES_PHP, + TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON, + TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY, + TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS, +]); -export { AwsEcsLaunchtypeValues, CloudPlatformValues, CloudProviderValues, DbCassandraConsistencyLevelValues, DbSystemValues, FaasDocumentOperationValues, FaasInvokedProviderValues, FaasTriggerValues, HostArchValues, HttpFlavorValues, MessageTypeValues, MessagingDestinationKindValues, MessagingOperationValues, NetHostConnectionSubtypeValues, NetHostConnectionTypeValues, NetTransportValues, OsTypeValues, RpcGrpcStatusCodeValues, SemanticAttributes, SemanticResourceAttributes, TelemetrySdkLanguageValues }; +export { AWSECSLAUNCHTYPEVALUES_EC2, AWSECSLAUNCHTYPEVALUES_FARGATE, AwsEcsLaunchtypeValues, CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS, CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC, CLOUDPLATFORMVALUES_AWS_EC2, CLOUDPLATFORMVALUES_AWS_ECS, CLOUDPLATFORMVALUES_AWS_EKS, CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK, CLOUDPLATFORMVALUES_AWS_LAMBDA, CLOUDPLATFORMVALUES_AZURE_AKS, CLOUDPLATFORMVALUES_AZURE_APP_SERVICE, CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES, CLOUDPLATFORMVALUES_AZURE_FUNCTIONS, CLOUDPLATFORMVALUES_AZURE_VM, CLOUDPLATFORMVALUES_GCP_APP_ENGINE, CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS, CLOUDPLATFORMVALUES_GCP_CLOUD_RUN, CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE, CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE, CLOUDPROVIDERVALUES_ALIBABA_CLOUD, CLOUDPROVIDERVALUES_AWS, CLOUDPROVIDERVALUES_AZURE, CLOUDPROVIDERVALUES_GCP, CloudPlatformValues, CloudProviderValues, DBCASSANDRACONSISTENCYLEVELVALUES_ALL, DBCASSANDRACONSISTENCYLEVELVALUES_ANY, DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL, DBCASSANDRACONSISTENCYLEVELVALUES_ONE, DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM, DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL, DBCASSANDRACONSISTENCYLEVELVALUES_THREE, DBCASSANDRACONSISTENCYLEVELVALUES_TWO, DBSYSTEMVALUES_ADABAS, DBSYSTEMVALUES_CACHE, DBSYSTEMVALUES_CASSANDRA, DBSYSTEMVALUES_CLOUDSCAPE, DBSYSTEMVALUES_COCKROACHDB, DBSYSTEMVALUES_COLDFUSION, DBSYSTEMVALUES_COSMOSDB, DBSYSTEMVALUES_COUCHBASE, DBSYSTEMVALUES_COUCHDB, DBSYSTEMVALUES_DB2, DBSYSTEMVALUES_DERBY, DBSYSTEMVALUES_DYNAMODB, DBSYSTEMVALUES_EDB, DBSYSTEMVALUES_ELASTICSEARCH, DBSYSTEMVALUES_FILEMAKER, DBSYSTEMVALUES_FIREBIRD, DBSYSTEMVALUES_FIRSTSQL, DBSYSTEMVALUES_GEODE, DBSYSTEMVALUES_H2, DBSYSTEMVALUES_HANADB, DBSYSTEMVALUES_HBASE, DBSYSTEMVALUES_HIVE, DBSYSTEMVALUES_HSQLDB, DBSYSTEMVALUES_INFORMIX, DBSYSTEMVALUES_INGRES, DBSYSTEMVALUES_INSTANTDB, DBSYSTEMVALUES_INTERBASE, DBSYSTEMVALUES_MARIADB, DBSYSTEMVALUES_MAXDB, DBSYSTEMVALUES_MEMCACHED, DBSYSTEMVALUES_MONGODB, DBSYSTEMVALUES_MSSQL, DBSYSTEMVALUES_MYSQL, DBSYSTEMVALUES_NEO4J, DBSYSTEMVALUES_NETEZZA, DBSYSTEMVALUES_ORACLE, DBSYSTEMVALUES_OTHER_SQL, DBSYSTEMVALUES_PERVASIVE, DBSYSTEMVALUES_POINTBASE, DBSYSTEMVALUES_POSTGRESQL, DBSYSTEMVALUES_PROGRESS, DBSYSTEMVALUES_REDIS, DBSYSTEMVALUES_REDSHIFT, DBSYSTEMVALUES_SQLITE, DBSYSTEMVALUES_SYBASE, DBSYSTEMVALUES_TERADATA, DBSYSTEMVALUES_VERTICA, DbCassandraConsistencyLevelValues, DbSystemValues, FAASDOCUMENTOPERATIONVALUES_DELETE, FAASDOCUMENTOPERATIONVALUES_EDIT, FAASDOCUMENTOPERATIONVALUES_INSERT, FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD, FAASINVOKEDPROVIDERVALUES_AWS, FAASINVOKEDPROVIDERVALUES_AZURE, FAASINVOKEDPROVIDERVALUES_GCP, FAASTRIGGERVALUES_DATASOURCE, FAASTRIGGERVALUES_HTTP, FAASTRIGGERVALUES_OTHER, FAASTRIGGERVALUES_PUBSUB, FAASTRIGGERVALUES_TIMER, FaasDocumentOperationValues, FaasInvokedProviderValues, FaasTriggerValues, HOSTARCHVALUES_AMD64, HOSTARCHVALUES_ARM32, HOSTARCHVALUES_ARM64, HOSTARCHVALUES_IA64, HOSTARCHVALUES_PPC32, HOSTARCHVALUES_PPC64, HOSTARCHVALUES_X86, HTTPFLAVORVALUES_HTTP_1_0, HTTPFLAVORVALUES_HTTP_1_1, HTTPFLAVORVALUES_HTTP_2_0, HTTPFLAVORVALUES_QUIC, HTTPFLAVORVALUES_SPDY, HostArchValues, HttpFlavorValues, MESSAGETYPEVALUES_RECEIVED, MESSAGETYPEVALUES_SENT, MESSAGINGDESTINATIONKINDVALUES_QUEUE, MESSAGINGDESTINATIONKINDVALUES_TOPIC, MESSAGINGOPERATIONVALUES_PROCESS, MESSAGINGOPERATIONVALUES_RECEIVE, MessageTypeValues, MessagingDestinationKindValues, MessagingOperationValues, NETHOSTCONNECTIONSUBTYPEVALUES_CDMA, NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT, NETHOSTCONNECTIONSUBTYPEVALUES_EDGE, NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A, NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B, NETHOSTCONNECTIONSUBTYPEVALUES_GPRS, NETHOSTCONNECTIONSUBTYPEVALUES_GSM, NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA, NETHOSTCONNECTIONSUBTYPEVALUES_HSPA, NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP, NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA, NETHOSTCONNECTIONSUBTYPEVALUES_IDEN, NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN, NETHOSTCONNECTIONSUBTYPEVALUES_LTE, NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA, NETHOSTCONNECTIONSUBTYPEVALUES_NR, NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA, NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA, NETHOSTCONNECTIONSUBTYPEVALUES_UMTS, NETHOSTCONNECTIONTYPEVALUES_CELL, NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE, NETHOSTCONNECTIONTYPEVALUES_UNKNOWN, NETHOSTCONNECTIONTYPEVALUES_WIFI, NETHOSTCONNECTIONTYPEVALUES_WIRED, NETTRANSPORTVALUES_INPROC, NETTRANSPORTVALUES_IP, NETTRANSPORTVALUES_IP_TCP, NETTRANSPORTVALUES_IP_UDP, NETTRANSPORTVALUES_OTHER, NETTRANSPORTVALUES_PIPE, NETTRANSPORTVALUES_UNIX, NetHostConnectionSubtypeValues, NetHostConnectionTypeValues, NetTransportValues, OSTYPEVALUES_AIX, OSTYPEVALUES_DARWIN, OSTYPEVALUES_DRAGONFLYBSD, OSTYPEVALUES_FREEBSD, OSTYPEVALUES_HPUX, OSTYPEVALUES_LINUX, OSTYPEVALUES_NETBSD, OSTYPEVALUES_OPENBSD, OSTYPEVALUES_SOLARIS, OSTYPEVALUES_WINDOWS, OSTYPEVALUES_Z_OS, OsTypeValues, RPCGRPCSTATUSCODEVALUES_ABORTED, RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS, RPCGRPCSTATUSCODEVALUES_CANCELLED, RPCGRPCSTATUSCODEVALUES_DATA_LOSS, RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED, RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION, RPCGRPCSTATUSCODEVALUES_INTERNAL, RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT, RPCGRPCSTATUSCODEVALUES_NOT_FOUND, RPCGRPCSTATUSCODEVALUES_OK, RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE, RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED, RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED, RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED, RPCGRPCSTATUSCODEVALUES_UNAVAILABLE, RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED, RPCGRPCSTATUSCODEVALUES_UNKNOWN, RpcGrpcStatusCodeValues, SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET, SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS, SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ, SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY, SEMATTRS_AWS_DYNAMODB_COUNT, SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE, SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES, SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES, SEMATTRS_AWS_DYNAMODB_INDEX_NAME, SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS, SEMATTRS_AWS_DYNAMODB_LIMIT, SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES, SEMATTRS_AWS_DYNAMODB_PROJECTION, SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY, SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY, SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT, SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD, SEMATTRS_AWS_DYNAMODB_SEGMENT, SEMATTRS_AWS_DYNAMODB_SELECT, SEMATTRS_AWS_DYNAMODB_TABLE_COUNT, SEMATTRS_AWS_DYNAMODB_TABLE_NAMES, SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS, SEMATTRS_AWS_LAMBDA_INVOKED_ARN, SEMATTRS_CODE_FILEPATH, SEMATTRS_CODE_FUNCTION, SEMATTRS_CODE_LINENO, SEMATTRS_CODE_NAMESPACE, SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL, SEMATTRS_DB_CASSANDRA_COORDINATOR_DC, SEMATTRS_DB_CASSANDRA_COORDINATOR_ID, SEMATTRS_DB_CASSANDRA_IDEMPOTENCE, SEMATTRS_DB_CASSANDRA_KEYSPACE, SEMATTRS_DB_CASSANDRA_PAGE_SIZE, SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, SEMATTRS_DB_CASSANDRA_TABLE, SEMATTRS_DB_CONNECTION_STRING, SEMATTRS_DB_HBASE_NAMESPACE, SEMATTRS_DB_JDBC_DRIVER_CLASSNAME, SEMATTRS_DB_MONGODB_COLLECTION, SEMATTRS_DB_MSSQL_INSTANCE_NAME, SEMATTRS_DB_NAME, SEMATTRS_DB_OPERATION, SEMATTRS_DB_REDIS_DATABASE_INDEX, SEMATTRS_DB_SQL_TABLE, SEMATTRS_DB_STATEMENT, SEMATTRS_DB_SYSTEM, SEMATTRS_DB_USER, SEMATTRS_ENDUSER_ID, SEMATTRS_ENDUSER_ROLE, SEMATTRS_ENDUSER_SCOPE, SEMATTRS_EXCEPTION_ESCAPED, SEMATTRS_EXCEPTION_MESSAGE, SEMATTRS_EXCEPTION_STACKTRACE, SEMATTRS_EXCEPTION_TYPE, SEMATTRS_FAAS_COLDSTART, SEMATTRS_FAAS_CRON, SEMATTRS_FAAS_DOCUMENT_COLLECTION, SEMATTRS_FAAS_DOCUMENT_NAME, SEMATTRS_FAAS_DOCUMENT_OPERATION, SEMATTRS_FAAS_DOCUMENT_TIME, SEMATTRS_FAAS_EXECUTION, SEMATTRS_FAAS_INVOKED_NAME, SEMATTRS_FAAS_INVOKED_PROVIDER, SEMATTRS_FAAS_INVOKED_REGION, SEMATTRS_FAAS_TIME, SEMATTRS_FAAS_TRIGGER, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_FLAVOR, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH, SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED, SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH, SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_TARGET, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_MESSAGE_COMPRESSED_SIZE, SEMATTRS_MESSAGE_ID, SEMATTRS_MESSAGE_TYPE, SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE, SEMATTRS_MESSAGING_CONSUMER_ID, SEMATTRS_MESSAGING_CONVERSATION_ID, SEMATTRS_MESSAGING_DESTINATION, SEMATTRS_MESSAGING_DESTINATION_KIND, SEMATTRS_MESSAGING_KAFKA_CLIENT_ID, SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP, SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY, SEMATTRS_MESSAGING_KAFKA_PARTITION, SEMATTRS_MESSAGING_KAFKA_TOMBSTONE, SEMATTRS_MESSAGING_MESSAGE_ID, SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES, SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES, SEMATTRS_MESSAGING_OPERATION, SEMATTRS_MESSAGING_PROTOCOL, SEMATTRS_MESSAGING_PROTOCOL_VERSION, SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY, SEMATTRS_MESSAGING_SYSTEM, SEMATTRS_MESSAGING_TEMP_DESTINATION, SEMATTRS_MESSAGING_URL, SEMATTRS_NET_HOST_CARRIER_ICC, SEMATTRS_NET_HOST_CARRIER_MCC, SEMATTRS_NET_HOST_CARRIER_MNC, SEMATTRS_NET_HOST_CARRIER_NAME, SEMATTRS_NET_HOST_CONNECTION_SUBTYPE, SEMATTRS_NET_HOST_CONNECTION_TYPE, SEMATTRS_NET_HOST_IP, SEMATTRS_NET_HOST_NAME, SEMATTRS_NET_HOST_PORT, SEMATTRS_NET_PEER_IP, SEMATTRS_NET_PEER_NAME, SEMATTRS_NET_PEER_PORT, SEMATTRS_NET_TRANSPORT, SEMATTRS_PEER_SERVICE, SEMATTRS_RPC_GRPC_STATUS_CODE, SEMATTRS_RPC_JSONRPC_ERROR_CODE, SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE, SEMATTRS_RPC_JSONRPC_REQUEST_ID, SEMATTRS_RPC_JSONRPC_VERSION, SEMATTRS_RPC_METHOD, SEMATTRS_RPC_SERVICE, SEMATTRS_RPC_SYSTEM, SEMATTRS_THREAD_ID, SEMATTRS_THREAD_NAME, SEMRESATTRS_AWS_ECS_CLUSTER_ARN, SEMRESATTRS_AWS_ECS_CONTAINER_ARN, SEMRESATTRS_AWS_ECS_LAUNCHTYPE, SEMRESATTRS_AWS_ECS_TASK_ARN, SEMRESATTRS_AWS_ECS_TASK_FAMILY, SEMRESATTRS_AWS_ECS_TASK_REVISION, SEMRESATTRS_AWS_EKS_CLUSTER_ARN, SEMRESATTRS_AWS_LOG_GROUP_ARNS, SEMRESATTRS_AWS_LOG_GROUP_NAMES, SEMRESATTRS_AWS_LOG_STREAM_ARNS, SEMRESATTRS_AWS_LOG_STREAM_NAMES, SEMRESATTRS_CLOUD_ACCOUNT_ID, SEMRESATTRS_CLOUD_AVAILABILITY_ZONE, SEMRESATTRS_CLOUD_PLATFORM, SEMRESATTRS_CLOUD_PROVIDER, SEMRESATTRS_CLOUD_REGION, SEMRESATTRS_CONTAINER_ID, SEMRESATTRS_CONTAINER_IMAGE_NAME, SEMRESATTRS_CONTAINER_IMAGE_TAG, SEMRESATTRS_CONTAINER_NAME, SEMRESATTRS_CONTAINER_RUNTIME, SEMRESATTRS_DEPLOYMENT_ENVIRONMENT, SEMRESATTRS_DEVICE_ID, SEMRESATTRS_DEVICE_MODEL_IDENTIFIER, SEMRESATTRS_DEVICE_MODEL_NAME, SEMRESATTRS_FAAS_ID, SEMRESATTRS_FAAS_INSTANCE, SEMRESATTRS_FAAS_MAX_MEMORY, SEMRESATTRS_FAAS_NAME, SEMRESATTRS_FAAS_VERSION, SEMRESATTRS_HOST_ARCH, SEMRESATTRS_HOST_ID, SEMRESATTRS_HOST_IMAGE_ID, SEMRESATTRS_HOST_IMAGE_NAME, SEMRESATTRS_HOST_IMAGE_VERSION, SEMRESATTRS_HOST_NAME, SEMRESATTRS_HOST_TYPE, SEMRESATTRS_K8S_CLUSTER_NAME, SEMRESATTRS_K8S_CONTAINER_NAME, SEMRESATTRS_K8S_CRONJOB_NAME, SEMRESATTRS_K8S_CRONJOB_UID, SEMRESATTRS_K8S_DAEMONSET_NAME, SEMRESATTRS_K8S_DAEMONSET_UID, SEMRESATTRS_K8S_DEPLOYMENT_NAME, SEMRESATTRS_K8S_DEPLOYMENT_UID, SEMRESATTRS_K8S_JOB_NAME, SEMRESATTRS_K8S_JOB_UID, SEMRESATTRS_K8S_NAMESPACE_NAME, SEMRESATTRS_K8S_NODE_NAME, SEMRESATTRS_K8S_NODE_UID, SEMRESATTRS_K8S_POD_NAME, SEMRESATTRS_K8S_POD_UID, SEMRESATTRS_K8S_REPLICASET_NAME, SEMRESATTRS_K8S_REPLICASET_UID, SEMRESATTRS_K8S_STATEFULSET_NAME, SEMRESATTRS_K8S_STATEFULSET_UID, SEMRESATTRS_OS_DESCRIPTION, SEMRESATTRS_OS_NAME, SEMRESATTRS_OS_TYPE, SEMRESATTRS_OS_VERSION, SEMRESATTRS_PROCESS_COMMAND, SEMRESATTRS_PROCESS_COMMAND_ARGS, SEMRESATTRS_PROCESS_COMMAND_LINE, SEMRESATTRS_PROCESS_EXECUTABLE_NAME, SEMRESATTRS_PROCESS_EXECUTABLE_PATH, SEMRESATTRS_PROCESS_OWNER, SEMRESATTRS_PROCESS_PID, SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION, SEMRESATTRS_PROCESS_RUNTIME_NAME, SEMRESATTRS_PROCESS_RUNTIME_VERSION, SEMRESATTRS_SERVICE_INSTANCE_ID, SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_NAMESPACE, SEMRESATTRS_SERVICE_VERSION, SEMRESATTRS_TELEMETRY_AUTO_VERSION, SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, SEMRESATTRS_TELEMETRY_SDK_NAME, SEMRESATTRS_TELEMETRY_SDK_VERSION, SEMRESATTRS_WEBENGINE_DESCRIPTION, SEMRESATTRS_WEBENGINE_NAME, SEMRESATTRS_WEBENGINE_VERSION, SemanticAttributes, SemanticResourceAttributes, TELEMETRYSDKLANGUAGEVALUES_CPP, TELEMETRYSDKLANGUAGEVALUES_DOTNET, TELEMETRYSDKLANGUAGEVALUES_ERLANG, TELEMETRYSDKLANGUAGEVALUES_GO, TELEMETRYSDKLANGUAGEVALUES_JAVA, TELEMETRYSDKLANGUAGEVALUES_NODEJS, TELEMETRYSDKLANGUAGEVALUES_PHP, TELEMETRYSDKLANGUAGEVALUES_PYTHON, TELEMETRYSDKLANGUAGEVALUES_RUBY, TELEMETRYSDKLANGUAGEVALUES_WEBJS, TelemetrySdkLanguageValues }; From 4efe4e2f7be85f5186bf19e14b4cb895bc37adc0 Mon Sep 17 00:00:00 2001 From: Daniel Lamando Date: Fri, 17 May 2024 23:02:53 +0200 Subject: [PATCH 2/2] Replace new reference to node:crypto for non-node --- hack/bundle-opentelemetry.ts | 10 +++++++++- opentelemetry/resources.js | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hack/bundle-opentelemetry.ts b/hack/bundle-opentelemetry.ts index 154ac24..1104981 100755 --- a/hack/bundle-opentelemetry.ts +++ b/hack/bundle-opentelemetry.ts @@ -85,6 +85,8 @@ async function buildModuleWithRollup(directory: string, modName: string, externa return match[0].slice(0, start) + newImport + match[0].slice(end); }); + text = text.replace(`import { randomUUID } from 'crypto';`, ''); + text = text.replace(` randomUUID()`, ` crypto.randomUUID()`); text = text.replace(`typeof process !== 'undefined' && process && process.env\n ? parseEnvironment(process.env)\n : parseEnvironment(_globalThis$1);`, `parseEnvironment(Deno.env.toObject())`); text = text.replace(`(process.env)`, `(Deno.env.toObject())`); text = text.replace(`os.hostname()`, `Deno.hostname?.()`); @@ -236,7 +238,13 @@ await Deno.writeTextFile('hack/opentelemetry-js/tsconfig.esnext.deno.json', JSON console.error(`Running npm install...`); { const npm = new Deno.Command('npm', { - args: ['install', /*'--production',*/ '--ignore-scripts'], + args: [ + 'install', + // '--production', + '--ignore-scripts', + '--no-audit', + '--no-fund', + ], cwd: 'hack/opentelemetry-js', stdout: 'inherit', stderr: 'inherit', diff --git a/opentelemetry/resources.js b/opentelemetry/resources.js index af22312..fd9eb6c 100644 --- a/opentelemetry/resources.js +++ b/opentelemetry/resources.js @@ -21,7 +21,7 @@ import { SDK_INFO, getEnv } from './core.js'; -import { randomUUID } from 'crypto'; + function defaultServiceName() { return `unknown_service:deno`; @@ -132,7 +132,7 @@ const processDetector = new ProcessDetector(); class ServiceInstanceIdDetectorSync { detect(_config) { const attributes = { - [SEMRESATTRS_SERVICE_INSTANCE_ID]: randomUUID(), + [SEMRESATTRS_SERVICE_INSTANCE_ID]: crypto.randomUUID(), }; return new Resource(attributes); }