@openclaw/diagnostics-otel 2026.6.8 → 2026.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +198 -44
- package/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.d.ts +4 -0
- package/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js +6 -0
- package/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/api/logs.d.ts +10 -2
- package/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js +10 -2
- package/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/index.js +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/index.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerOptions.d.ts +3 -2
- package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerOptions.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerProvider.d.ts +7 -3
- package/node_modules/@opentelemetry/api-logs/build/esm/types/LoggerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/NoopLogger.d.ts +4 -0
- package/node_modules/@opentelemetry/api-logs/build/esnext/NoopLogger.js +6 -0
- package/node_modules/@opentelemetry/api-logs/build/esnext/NoopLogger.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/api/logs.d.ts +10 -2
- package/node_modules/@opentelemetry/api-logs/build/esnext/api/logs.js +10 -2
- package/node_modules/@opentelemetry/api-logs/build/esnext/api/logs.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/index.js +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/index.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerOptions.d.ts +3 -2
- package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerOptions.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerProvider.d.ts +7 -3
- package/node_modules/@opentelemetry/api-logs/build/esnext/types/LoggerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/api-logs/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.d.ts +4 -0
- package/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js +8 -1
- package/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/api/logs.d.ts +10 -2
- package/node_modules/@opentelemetry/api-logs/build/src/api/logs.js +10 -2
- package/node_modules/@opentelemetry/api-logs/build/src/api/logs.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/index.js +2 -3
- package/node_modules/@opentelemetry/api-logs/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.d.ts +3 -2
- package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerOptions.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.d.ts +7 -3
- package/node_modules/@opentelemetry/api-logs/build/src/types/LoggerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/api-logs/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/api-logs/package.json +5 -5
- package/node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js +23 -26
- package/node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js.map +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js +3 -155
- package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js.map +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/generated/types.d.ts +596 -614
- package/node_modules/@opentelemetry/configuration/build/src/generated/types.js.map +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/utils.d.ts +12 -1
- package/node_modules/@opentelemetry/configuration/build/src/utils.js +93 -19
- package/node_modules/@opentelemetry/configuration/build/src/utils.js.map +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/configuration/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/configuration/package.json +6 -6
- package/node_modules/@opentelemetry/context-async-hooks/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/context-async-hooks/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/context-async-hooks/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/context-async-hooks/package.json +4 -4
- package/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js +14 -20
- package/node_modules/@opentelemetry/core/build/esm/baggage/propagation/W3CBaggagePropagator.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esm/baggage/utils.d.ts +7 -1
- package/node_modules/@opentelemetry/core/build/esm/baggage/utils.js +32 -1
- package/node_modules/@opentelemetry/core/build/esm/baggage/utils.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esm/common/time.d.ts +7 -2
- package/node_modules/@opentelemetry/core/build/esm/common/time.js +10 -3
- package/node_modules/@opentelemetry/core/build/esm/common/time.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esm/index.js +1 -1
- package/node_modules/@opentelemetry/core/build/esm/index.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.js +14 -20
- package/node_modules/@opentelemetry/core/build/esnext/baggage/propagation/W3CBaggagePropagator.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/baggage/utils.d.ts +7 -1
- package/node_modules/@opentelemetry/core/build/esnext/baggage/utils.js +32 -1
- package/node_modules/@opentelemetry/core/build/esnext/baggage/utils.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/common/time.d.ts +7 -2
- package/node_modules/@opentelemetry/core/build/esnext/common/time.js +10 -3
- package/node_modules/@opentelemetry/core/build/esnext/common/time.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/index.js +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/index.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js +12 -18
- package/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/src/baggage/utils.d.ts +7 -1
- package/node_modules/@opentelemetry/core/build/src/baggage/utils.js +33 -1
- package/node_modules/@opentelemetry/core/build/src/baggage/utils.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/src/common/time.d.ts +7 -2
- package/node_modules/@opentelemetry/core/build/src/common/time.js +13 -5
- package/node_modules/@opentelemetry/core/build/src/common/time.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/src/index.js +3 -1
- package/node_modules/@opentelemetry/core/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/core/package.json +6 -6
- package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/package.json +13 -13
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-http/package.json +13 -13
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/package.json +14 -14
- package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/package.json +13 -13
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-http/package.json +12 -12
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/package.json +13 -13
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusExporter.js +2 -0
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusExporter.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusSerializer.js +15 -1
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/PrometheusSerializer.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/semconv.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/semconv.js +21 -0
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/semconv.js.map +1 -0
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-prometheus/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/README.md +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/package.json +12 -12
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-http/package.json +12 -12
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/package.json +12 -12
- package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-zipkin/package.json +11 -11
- package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esm/semver.js +2 -2
- package/node_modules/@opentelemetry/instrumentation/build/esm/semver.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.js +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esnext/semver.js +2 -2
- package/node_modules/@opentelemetry/instrumentation/build/esnext/semver.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/src/semver.js +2 -2
- package/node_modules/@opentelemetry/instrumentation/build/src/semver.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/instrumentation/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/instrumentation/hook.mjs +3 -14
- package/node_modules/@opentelemetry/instrumentation/package.json +9 -9
- package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-exporter-base/package.json +9 -9
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-env-configuration.js +2 -2
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/configuration/otlp-grpc-env-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.d.ts +1 -0
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.js +17 -0
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/grpc-exporter-transport.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.d.ts +1 -0
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.js +5 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-grpc-exporter-base/package.json +10 -10
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.d.ts +6 -3
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js +7 -2
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/common-serializer.d.ts +10 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/common-serializer.js +9 -0
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/common-serializer.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/protobuf-reader.d.ts +5 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/protobuf-reader.js +5 -21
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/common/protobuf/protobuf-reader.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.d.ts +0 -3
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js +6 -10
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/metrics/internal.js +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/metrics/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/internal.d.ts +6 -3
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/internal.js +7 -2
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/common-serializer.d.ts +10 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/common-serializer.js +9 -0
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/common-serializer.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/protobuf-reader.d.ts +5 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/protobuf-reader.js +5 -21
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/common/protobuf/protobuf-reader.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/internal.d.ts +0 -3
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/internal.js +6 -10
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/metrics/internal.js +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/metrics/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.d.ts +6 -3
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.js +7 -2
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.d.ts +10 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.js +9 -0
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.d.ts +5 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.js +5 -21
- package/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.d.ts +0 -3
- package/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.js +6 -11
- package/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.js +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js.map +1 -1
- package/node_modules/@opentelemetry/otlp-transformer/package.json +13 -13
- package/node_modules/@opentelemetry/propagator-b3/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/propagator-b3/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/propagator-b3/package.json +6 -6
- package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/propagator-jaeger/package.json +7 -7
- package/node_modules/@opentelemetry/resources/build/esm/detectors/EnvDetector.js +2 -2
- package/node_modules/@opentelemetry/resources/build/esm/detectors/EnvDetector.js.map +1 -1
- package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/detectors/EnvDetector.js +2 -2
- package/node_modules/@opentelemetry/resources/build/esnext/detectors/EnvDetector.js.map +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js +2 -2
- package/node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js.map +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/resources/package.json +5 -5
- package/node_modules/@opentelemetry/sdk-logs/README.md +3 -0
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.d.ts +4 -3
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.js +5 -57
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.d.ts +4 -4
- package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js +5 -5
- package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js +12 -5
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js +6 -3
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/ReadableLogRecord.d.ts +4 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/ReadableLogRecord.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SdkLogRecord.d.ts +7 -0
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SdkLogRecord.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js +0 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.d.ts +6 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.js +62 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.d.ts +21 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.js +112 -3
- package/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordImpl.d.ts +4 -3
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordImpl.js +5 -57
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordImpl.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.d.ts +4 -4
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.js +5 -5
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/LoggerProvider.js +12 -5
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/LoggerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js +6 -3
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/ReadableLogRecord.d.ts +4 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/ReadableLogRecord.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SdkLogRecord.d.ts +7 -0
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SdkLogRecord.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js +0 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/utils.d.ts +6 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/utils.js +62 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/utils.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/utils/validation.d.ts +21 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/utils/validation.js +112 -3
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/utils/validation.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.d.ts +4 -3
- package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js +4 -56
- package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.d.ts +4 -4
- package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js +5 -5
- package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js +11 -4
- package/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js +6 -3
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadableLogRecord.d.ts +4 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadableLogRecord.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.d.ts +7 -0
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js +0 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.d.ts +6 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js +62 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.d.ts +21 -2
- package/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js +115 -4
- package/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/package.json +11 -11
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/MeterProvider.d.ts +6 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/MeterProvider.js +4 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/MeterProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.d.ts +9 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js +19 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReader.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReaderMetrics.d.ts +12 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReaderMetrics.js +36 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricReaderMetrics.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js +2 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/semconv.d.ts +82 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/semconv.js +91 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/semconv.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js +0 -3
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js +0 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/HashMap.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js +0 -2
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/TemporalMetricProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/MeterProvider.d.ts +6 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/MeterProvider.js +4 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/MeterProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.d.ts +9 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js +19 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReader.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReaderMetrics.d.ts +12 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReaderMetrics.js +36 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricReaderMetrics.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js +2 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/semconv.d.ts +82 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/semconv.js +91 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/semconv.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js +0 -3
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js +0 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/HashMap.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js +0 -2
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/TemporalMetricProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.d.ts +6 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.js +4 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.d.ts +9 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js +19 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.d.ts +12 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.js +40 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js +2 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.d.ts +82 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.js +94 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js +0 -3
- package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js +0 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js +0 -2
- package/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/package.json +10 -10
- package/node_modules/@opentelemetry/sdk-node/README.md +1 -0
- package/node_modules/@opentelemetry/sdk-node/build/src/index.d.ts +0 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/index.js +1 -3
- package/node_modules/@opentelemetry/sdk-node/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/sdk.js +3 -3
- package/node_modules/@opentelemetry/sdk-node/build/src/sdk.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/start.js +2 -2
- package/node_modules/@opentelemetry/sdk-node/build/src/start.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/utils.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/utils.js +175 -103
- package/node_modules/@opentelemetry/sdk-node/build/src/utils.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-node/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-node/package.json +30 -29
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.d.ts +3 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js +10 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.d.ts +3 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js +23 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.d.ts +8 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js +10 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/inspect.d.ts +32 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/inspect.js +53 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/inspect.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.d.ts +3 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.js +10 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Span.d.ts +3 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Span.js +23 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Span.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.d.ts +8 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.js +10 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/inspect.d.ts +32 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/inspect.js +53 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/inspect.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.d.ts +3 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js +10 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.d.ts +3 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.js +23 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/Span.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.d.ts +8 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js +10 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/inspect.d.ts +32 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/inspect.js +58 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/inspect.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/package.json +9 -9
- package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-node/package.json +8 -8
- package/node_modules/@protobufjs/aspromise/LICENSE +26 -0
- package/node_modules/@protobufjs/aspromise/README.md +13 -0
- package/node_modules/{protobufjs/src/util/aspromise.d.ts → @protobufjs/aspromise/index.d.ts} +13 -13
- package/node_modules/{protobufjs/src/util/aspromise.js → @protobufjs/aspromise/index.js} +52 -52
- package/node_modules/@protobufjs/aspromise/package.json +21 -0
- package/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
- package/node_modules/@protobufjs/base64/LICENSE +26 -0
- package/node_modules/@protobufjs/base64/README.md +19 -0
- package/node_modules/{protobufjs/src/util/base64.d.ts → @protobufjs/base64/index.d.ts} +32 -32
- package/node_modules/{protobufjs/src/util/base64.js → @protobufjs/base64/index.js} +139 -146
- package/node_modules/@protobufjs/base64/package.json +21 -0
- package/node_modules/@protobufjs/base64/tests/index.js +46 -0
- package/node_modules/@protobufjs/codegen/LICENSE +26 -0
- package/node_modules/@protobufjs/codegen/README.md +49 -0
- package/node_modules/{protobufjs/src/util/codegen.d.ts → @protobufjs/codegen/index.d.ts} +31 -31
- package/node_modules/{protobufjs/src/util/codegen.js → @protobufjs/codegen/index.js} +112 -113
- package/node_modules/@protobufjs/codegen/package.json +13 -0
- package/node_modules/@protobufjs/codegen/tests/index.js +13 -0
- package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
- package/node_modules/@protobufjs/eventemitter/README.md +22 -0
- package/node_modules/{protobufjs/src/util/eventemitter.d.ts → @protobufjs/eventemitter/index.d.ts} +45 -45
- package/node_modules/{protobufjs/src/util/eventemitter.js → @protobufjs/eventemitter/index.js} +86 -86
- package/node_modules/@protobufjs/eventemitter/package.json +21 -0
- package/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
- package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/fetch/LICENSE +26 -0
- package/node_modules/@protobufjs/fetch/README.md +13 -0
- package/node_modules/{protobufjs/src/util/fetch.d.ts → @protobufjs/fetch/index.d.ts} +56 -56
- package/node_modules/{protobufjs/src/util/fetch.js → @protobufjs/fetch/index.js} +112 -112
- package/node_modules/@protobufjs/fetch/package.json +27 -0
- package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
- package/node_modules/@protobufjs/fetch/tests/index.js +158 -0
- package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
- package/node_modules/@protobufjs/float/LICENSE +26 -0
- package/node_modules/@protobufjs/float/README.md +102 -0
- package/node_modules/@protobufjs/float/bench/index.js +87 -0
- package/node_modules/@protobufjs/float/bench/suite.js +46 -0
- package/node_modules/{protobufjs/src/util/float.js → @protobufjs/float/index.js} +335 -335
- package/node_modules/@protobufjs/float/package.json +26 -0
- package/node_modules/@protobufjs/float/tests/index.js +100 -0
- package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
- package/node_modules/@protobufjs/inquire/LICENSE +26 -0
- package/node_modules/@protobufjs/inquire/README.md +13 -0
- package/node_modules/{protobufjs/src/util/inquire.d.ts → @protobufjs/inquire/index.d.ts} +10 -10
- package/node_modules/{protobufjs/src/util/inquire.js → @protobufjs/inquire/index.js} +38 -38
- package/node_modules/@protobufjs/inquire/package.json +21 -0
- package/node_modules/@protobufjs/inquire/tests/data/array.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/data/object.js +1 -0
- package/node_modules/@protobufjs/inquire/tests/index.js +20 -0
- package/node_modules/@protobufjs/path/LICENSE +26 -0
- package/node_modules/@protobufjs/path/README.md +19 -0
- package/node_modules/{protobufjs/src/util/path.d.ts → @protobufjs/path/index.d.ts} +22 -22
- package/node_modules/{protobufjs/src/util/path.js → @protobufjs/path/index.js} +65 -72
- package/node_modules/@protobufjs/path/package.json +21 -0
- package/node_modules/@protobufjs/path/tests/index.js +60 -0
- package/node_modules/@protobufjs/pool/.npmignore +3 -0
- package/node_modules/@protobufjs/pool/LICENSE +26 -0
- package/node_modules/@protobufjs/pool/README.md +13 -0
- package/node_modules/{protobufjs/src/util/pool.d.ts → @protobufjs/pool/index.d.ts} +32 -32
- package/node_modules/{protobufjs/src/util/pool.js → @protobufjs/pool/index.js} +48 -48
- package/node_modules/@protobufjs/pool/package.json +21 -0
- package/node_modules/@protobufjs/pool/tests/index.js +33 -0
- package/node_modules/@protobufjs/utf8/LICENSE +26 -0
- package/node_modules/@protobufjs/utf8/README.md +20 -0
- package/node_modules/{protobufjs/src/util/utf8.d.ts → @protobufjs/utf8/index.d.ts} +24 -24
- package/node_modules/{protobufjs/src/util/utf8.js → @protobufjs/utf8/index.js} +104 -130
- package/node_modules/@protobufjs/utf8/package.json +21 -0
- package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
- package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
- package/node_modules/@protobufjs/utf8/tests/index.js +74 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +59 -0
- package/node_modules/@types/node/assert.d.ts +950 -0
- package/node_modules/@types/node/async_hooks.d.ts +711 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/node_modules/@types/node/buffer.d.ts +1765 -0
- package/node_modules/@types/node/child_process.d.ts +1366 -0
- package/node_modules/@types/node/cluster.d.ts +432 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/node_modules/@types/node/console.d.ts +93 -0
- package/node_modules/@types/node/constants.d.ts +14 -0
- package/node_modules/@types/node/crypto.d.ts +4058 -0
- package/node_modules/@types/node/dgram.d.ts +537 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
- package/node_modules/@types/node/dns/promises.d.ts +497 -0
- package/node_modules/@types/node/dns.d.ts +876 -0
- package/node_modules/@types/node/domain.d.ts +150 -0
- package/node_modules/@types/node/events.d.ts +1008 -0
- package/node_modules/@types/node/fs/promises.d.ts +1468 -0
- package/node_modules/@types/node/fs.d.ts +4780 -0
- package/node_modules/@types/node/globals.d.ts +150 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/node_modules/@types/node/http.d.ts +2147 -0
- package/node_modules/@types/node/http2.d.ts +2485 -0
- package/node_modules/@types/node/https.d.ts +400 -0
- package/node_modules/@types/node/index.d.ts +117 -0
- package/node_modules/@types/node/inspector/promises.d.ts +35 -0
- package/node_modules/@types/node/inspector.d.ts +264 -0
- package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/node_modules/@types/node/module.d.ts +755 -0
- package/node_modules/@types/node/net.d.ts +970 -0
- package/node_modules/@types/node/os.d.ts +498 -0
- package/node_modules/@types/node/package.json +155 -0
- package/node_modules/@types/node/path/posix.d.ts +8 -0
- package/node_modules/@types/node/path/win32.d.ts +8 -0
- package/node_modules/@types/node/path.d.ts +178 -0
- package/node_modules/@types/node/perf_hooks.d.ts +612 -0
- package/node_modules/@types/node/process.d.ts +2204 -0
- package/node_modules/@types/node/punycode.d.ts +89 -0
- package/node_modules/@types/node/querystring.d.ts +139 -0
- package/node_modules/@types/node/quic.d.ts +897 -0
- package/node_modules/@types/node/readline/promises.d.ts +158 -0
- package/node_modules/@types/node/readline.d.ts +507 -0
- package/node_modules/@types/node/repl.d.ts +420 -0
- package/node_modules/@types/node/sea.d.ts +47 -0
- package/node_modules/@types/node/sqlite.d.ts +1068 -0
- package/node_modules/@types/node/stream/consumers.d.ts +114 -0
- package/node_modules/@types/node/stream/iter.d.ts +301 -0
- package/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/node_modules/@types/node/stream/web.d.ts +300 -0
- package/node_modules/@types/node/stream.d.ts +1774 -0
- package/node_modules/@types/node/string_decoder.d.ts +27 -0
- package/node_modules/@types/node/test/reporters.d.ts +59 -0
- package/node_modules/@types/node/test.d.ts +2279 -0
- package/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/node_modules/@types/node/timers.d.ts +149 -0
- package/node_modules/@types/node/tls.d.ts +1193 -0
- package/node_modules/@types/node/trace_events.d.ts +103 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +119 -0
- package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +119 -0
- package/node_modules/@types/node/tty.d.ts +225 -0
- package/node_modules/@types/node/url.d.ts +556 -0
- package/node_modules/@types/node/util/types.d.ts +558 -0
- package/node_modules/@types/node/util.d.ts +1677 -0
- package/node_modules/@types/node/v8.d.ts +980 -0
- package/node_modules/@types/node/vm.d.ts +1136 -0
- package/node_modules/@types/node/wasi.d.ts +131 -0
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/node_modules/@types/node/worker_threads.d.ts +671 -0
- package/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/node_modules/@types/node/zlib.d.ts +589 -0
- package/node_modules/protobufjs/README.md +556 -263
- package/node_modules/protobufjs/dist/light/protobuf.js +1569 -1919
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.js +906 -1132
- package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.js +1576 -1993
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/ext/descriptor/README.md +70 -3
- package/node_modules/protobufjs/ext/descriptor/index.d.ts +193 -0
- package/node_modules/protobufjs/ext/descriptor/index.js +1185 -1
- package/node_modules/protobufjs/ext/descriptor/test.js +54 -0
- package/node_modules/protobufjs/index.d.ts +720 -834
- package/node_modules/protobufjs/package.json +44 -20
- package/node_modules/protobufjs/src/converter.js +36 -60
- package/node_modules/protobufjs/src/decoder.js +53 -124
- package/node_modules/protobufjs/src/encoder.js +2 -10
- package/node_modules/protobufjs/src/enum.js +3 -8
- package/node_modules/protobufjs/src/field.js +11 -13
- package/node_modules/protobufjs/src/index-light.js +1 -1
- package/node_modules/protobufjs/src/mapfield.js +0 -1
- package/node_modules/protobufjs/src/message.js +11 -5
- package/node_modules/protobufjs/src/method.js +4 -5
- package/node_modules/protobufjs/src/namespace.js +3 -10
- package/node_modules/protobufjs/src/object.js +20 -20
- package/node_modules/protobufjs/src/oneof.js +0 -3
- package/node_modules/protobufjs/src/parse.js +16 -78
- package/node_modules/protobufjs/src/reader.js +31 -136
- package/node_modules/protobufjs/src/reader_buffer.js +3 -24
- package/node_modules/protobufjs/src/root.js +3 -7
- package/node_modules/protobufjs/src/roots.js +1 -1
- package/node_modules/protobufjs/src/service.js +6 -13
- package/node_modules/protobufjs/src/tokenize.js +1 -6
- package/node_modules/protobufjs/src/type.js +30 -44
- package/node_modules/protobufjs/src/typescript.jsdoc +15 -0
- package/node_modules/protobufjs/src/util/minimal.js +12 -36
- package/node_modules/protobufjs/src/util.js +17 -6
- package/node_modules/protobufjs/src/verifier.js +6 -6
- package/node_modules/protobufjs/src/wrappers.js +1 -0
- package/node_modules/protobufjs/src/writer.js +16 -42
- package/node_modules/protobufjs/src/writer_buffer.js +1 -18
- package/node_modules/protobufjs/tsconfig.json +5 -3
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +32 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client-stats.d.ts +15 -0
- package/node_modules/undici-types/client.d.ts +123 -0
- package/node_modules/undici-types/connector.d.ts +36 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +30 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/node_modules/undici-types/dispatcher.d.ts +279 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/undici-types/errors.d.ts +177 -0
- package/node_modules/undici-types/eventsource.d.ts +66 -0
- package/node_modules/undici-types/fetch.d.ts +211 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/node_modules/undici-types/handlers.d.ts +15 -0
- package/node_modules/undici-types/header.d.ts +160 -0
- package/node_modules/undici-types/index.d.ts +91 -0
- package/node_modules/undici-types/interceptors.d.ts +80 -0
- package/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/node_modules/undici-types/mock-client.d.ts +27 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +29 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +41 -0
- package/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/node_modules/undici-types/readable.d.ts +68 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/utility.d.ts +7 -0
- package/node_modules/undici-types/webidl.d.ts +347 -0
- package/node_modules/undici-types/websocket.d.ts +188 -0
- package/npm-shrinkwrap.json +294 -204
- package/openclaw.plugin.json +1 -1
- package/package.json +14 -14
- package/node_modules/protobufjs/ext/README.md +0 -81
- package/node_modules/protobufjs/ext/descriptor.d.ts +0 -86
- package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -409
- package/node_modules/protobufjs/ext/descriptor.js +0 -1266
- package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
- package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -11
- package/node_modules/protobufjs/ext/textformat.js +0 -1235
- package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
- package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
- package/node_modules/protobufjs/src/typescript.js +0 -25
- /package/node_modules/{protobufjs/src/util/float.d.ts → @protobufjs/float/index.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentConfigFactory.js","sourceRoot":"","sources":["../../src/EnvironmentConfigFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n getStringFromEnv,\n getStringListFromEnv,\n getNumberFromEnv,\n} from '@opentelemetry/core';\nimport type { ConfigFactory } from './IConfigFactory';\nimport type {\n ExemplarFilter,\n BatchLogRecordProcessor,\n BatchSpanProcessor,\n ConfigurationModel,\n ExporterDefaultHistogramAggregation,\n ExporterTemporalityPreference,\n LogRecordExporter,\n LogRecordProcessor,\n PeriodicMetricReader,\n PushMetricExporter,\n SeverityNumber,\n SpanExporter,\n SpanProcessor,\n} from './generated/types';\nimport { diag } from '@opentelemetry/api';\nimport {\n getGrpcTlsConfig,\n getHttpTlsConfig,\n initializeDefaultConfiguration,\n initializeDefaultTracerProviderConfiguration,\n initializeDefaultMeterProviderConfiguration,\n initializeDefaultLoggerProviderConfiguration,\n} from './utils';\nimport type { EnvValues } from './EnvReader';\nimport { readAllEnvVars } from './EnvReader';\nimport { SamplerType } from './EnvDefinition';\n\ntype ExperimentalResourceDetector = NonNullable<\n NonNullable<\n NonNullable<ConfigurationModel['resource']>['detection/development']\n >['detectors']\n>[number];\n\n/**\n * EnvironmentConfigProvider provides a configuration based on environment variables.\n */\nexport class EnvironmentConfigFactory implements ConfigFactory {\n private _config: ConfigurationModel;\n\n constructor() {\n this._config = initializeDefaultConfiguration();\n const envValues = readAllEnvVars();\n this._config.disabled = envValues.OTEL_SDK_DISABLED;\n\n const logLevelString = getStringFromEnv('OTEL_LOG_LEVEL');\n if (logLevelString) {\n this._config.log_level =\n severityNumberConfigFromLogLevelString(logLevelString);\n }\n\n setResources(this._config);\n setAttributeLimits(this._config);\n setPropagators(this._config);\n setTracerProvider(this._config, envValues);\n setMeterProvider(this._config);\n setLoggerProvider(this._config);\n }\n\n getConfigModel(): ConfigurationModel {\n return this._config;\n }\n}\n\nconst SEV_NUM_CONFIG_FROM_LOG_LEVEL: { [key: string]: SeverityNumber } = {\n // Declarative config `log_level` has no \"NONE\". Using 'fatal' is\n // equivalent, because the OTel JS diag API does not have a \"fatal\" level.\n NONE: 'fatal',\n ERROR: 'error',\n WARN: 'warn',\n INFO: 'info',\n DEBUG: 'debug',\n VERBOSE: 'trace2',\n // Declarative config `log_level` has no \"ALL\". Using 'trace' is\n // equivalent, because that is the lowest SeverityNumber level.\n ALL: 'trace',\n};\n\n/**\n * Return a declarative config SeverityNumberConfig value (as used for\n * `log_level`) for the given `OTEL_LOG_LEVEL` string value.\n *\n * See notes at \"opentelemetr-sdk-node/src/diag.ts\".\n */\nfunction severityNumberConfigFromLogLevelString(\n str?: string\n): SeverityNumber | undefined {\n if (!str) {\n return undefined;\n }\n const sevNumConfig = SEV_NUM_CONFIG_FROM_LOG_LEVEL[str.toUpperCase()];\n if (!sevNumConfig) {\n diag.warn(\n `Unknown log level \"${str}\", expected one of ${Object.keys(SEV_NUM_CONFIG_FROM_LOG_LEVEL)}, using default info`\n );\n return 'info';\n }\n return sevNumConfig;\n}\n\nexport function setResources(config: ConfigurationModel): void {\n if (config.resource == null) {\n config.resource = {};\n }\n\n const resourceAttrList = getStringFromEnv('OTEL_RESOURCE_ATTRIBUTES');\n const list = getStringListFromEnv('OTEL_RESOURCE_ATTRIBUTES');\n const serviceName = getStringFromEnv('OTEL_SERVICE_NAME');\n\n if (serviceName) {\n config.resource.attributes = [\n {\n name: 'service.name',\n value: serviceName,\n type: 'string',\n },\n ];\n }\n if (list && list.length > 0) {\n config.resource.attributes_list = resourceAttrList;\n if (config.resource.attributes == null) {\n config.resource.attributes = [];\n }\n\n for (let i = 0; i < list.length; i++) {\n const element = list[i].split('=');\n if (\n element[0] !== 'service.name' ||\n (element[0] === 'service.name' && serviceName === undefined)\n ) {\n config.resource.attributes.push({\n name: element[0],\n value: element[1],\n type: 'string',\n });\n }\n }\n }\n\n const nodeDetectors = getStringListFromEnv('OTEL_NODE_RESOURCE_DETECTORS');\n if (\n nodeDetectors &&\n nodeDetectors.length > 0 &&\n !nodeDetectors.includes('none')\n ) {\n const all = nodeDetectors.includes('all');\n const detectors: ExperimentalResourceDetector[] = [];\n if (all || nodeDetectors.includes('container'))\n detectors.push({ container: {} });\n if (all || nodeDetectors.includes('host')) detectors.push({ host: {} });\n if (all || nodeDetectors.includes('os')) detectors.push({ os: {} });\n if (all || nodeDetectors.includes('process'))\n detectors.push({ process: {} });\n if (all || nodeDetectors.includes('serviceinstance'))\n detectors.push({ service: {} });\n if (all || nodeDetectors.includes('env')) detectors.push({ env: {} });\n if (detectors.length > 0) {\n if (config.resource['detection/development'] == null) {\n config.resource['detection/development'] = {};\n }\n config.resource['detection/development'].detectors = detectors;\n }\n }\n}\n\nexport function setAttributeLimits(config: ConfigurationModel): void {\n const attributeValueLengthLimit = getNumberFromEnv(\n 'OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n );\n if (attributeValueLengthLimit && attributeValueLengthLimit > 0) {\n if (config.attribute_limits == null) {\n config.attribute_limits = { attribute_count_limit: 128 };\n }\n config.attribute_limits.attribute_value_length_limit =\n attributeValueLengthLimit;\n }\n\n const attributeCountLimit = getNumberFromEnv('OTEL_ATTRIBUTE_COUNT_LIMIT');\n if (attributeCountLimit) {\n if (config.attribute_limits == null) {\n config.attribute_limits = { attribute_count_limit: attributeCountLimit };\n } else {\n config.attribute_limits.attribute_count_limit = attributeCountLimit;\n }\n }\n}\n\nexport function setPropagators(config: ConfigurationModel): void {\n if (config.propagator == null) {\n config.propagator = {};\n }\n const composite = getStringListFromEnv('OTEL_PROPAGATORS');\n if (composite && composite.length > 0) {\n config.propagator.composite = [];\n for (const name of composite) {\n if (name === 'tracecontext') {\n config.propagator.composite.push({ tracecontext: {} });\n } else if (name === 'baggage') {\n config.propagator.composite.push({ baggage: {} });\n } else if (name === 'b3') {\n config.propagator.composite.push({ b3: {} });\n } else if (name === 'b3multi') {\n config.propagator.composite.push({ b3multi: {} });\n } else {\n config.propagator.composite.push({ [name]: {} });\n }\n }\n }\n const compositeList = getStringFromEnv('OTEL_PROPAGATORS');\n if (compositeList) {\n config.propagator.composite_list = compositeList;\n }\n}\n\nexport function setSampler(config: ConfigurationModel, env: EnvValues): void {\n const sampler = env.OTEL_TRACES_SAMPLER;\n const arg = env.OTEL_TRACES_SAMPLER_ARG;\n\n if (!sampler || !config.tracer_provider) {\n return;\n }\n\n const ratio = arg ? parseFloat(arg) : 1.0;\n\n switch (sampler) {\n case SamplerType.AlwaysOn:\n config.tracer_provider.sampler = { always_on: {} };\n break;\n\n case SamplerType.AlwaysOff:\n config.tracer_provider.sampler = { always_off: {} };\n break;\n\n case SamplerType.TraceIdRatio:\n config.tracer_provider.sampler = {\n trace_id_ratio_based: { ratio },\n };\n break;\n\n case SamplerType.ParentBasedAlwaysOn:\n config.tracer_provider.sampler = {\n parent_based: { root: { always_on: {} } },\n };\n break;\n\n case SamplerType.ParentBasedAlwaysOff:\n config.tracer_provider.sampler = {\n parent_based: { root: { always_off: {} } },\n };\n break;\n\n case SamplerType.ParentBasedTraceIdRatio:\n config.tracer_provider.sampler = {\n parent_based: { root: { trace_id_ratio_based: { ratio } } },\n };\n break;\n\n default:\n // readEnvVar already warns for invalid values via allowedValues\n break;\n }\n}\n\nexport function setTracerProvider(\n config: ConfigurationModel,\n env: EnvValues\n): void {\n const exportersType = Array.from(\n new Set(getStringListFromEnv('OTEL_TRACES_EXPORTER'))\n );\n if (exportersType.length === 0) {\n return;\n }\n if (exportersType.includes('none')) {\n diag.info(\n `OTEL_TRACES_EXPORTER contains \"none\". Tracer provider will not be initialized.`\n );\n return;\n }\n config.tracer_provider = initializeDefaultTracerProviderConfiguration();\n setSampler(config, env);\n\n const attributeValueLengthLimit = getNumberFromEnv(\n 'OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n );\n if (attributeValueLengthLimit) {\n config.tracer_provider.limits!.attribute_value_length_limit =\n attributeValueLengthLimit;\n }\n\n const attributeCountLimit = getNumberFromEnv(\n 'OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT'\n );\n if (attributeCountLimit) {\n config.tracer_provider.limits!.attribute_count_limit = attributeCountLimit;\n }\n\n const eventCountLimit = getNumberFromEnv('OTEL_SPAN_EVENT_COUNT_LIMIT');\n if (eventCountLimit) {\n config.tracer_provider.limits!.event_count_limit = eventCountLimit;\n }\n\n const linkCountLimit = getNumberFromEnv('OTEL_SPAN_LINK_COUNT_LIMIT');\n if (linkCountLimit) {\n config.tracer_provider.limits!.link_count_limit = linkCountLimit;\n }\n\n const eventAttributeCountLimit = getNumberFromEnv(\n 'OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT'\n );\n if (eventAttributeCountLimit) {\n config.tracer_provider.limits!.event_attribute_count_limit =\n eventAttributeCountLimit;\n }\n\n const linkAttributeCountLimit = getNumberFromEnv(\n 'OTEL_LINK_ATTRIBUTE_COUNT_LIMIT'\n );\n if (linkAttributeCountLimit) {\n config.tracer_provider.limits!.link_attribute_count_limit =\n linkAttributeCountLimit;\n }\n\n const batch: BatchSpanProcessor = {\n exporter: {},\n schedule_delay: getNumberFromEnv('OTEL_BSP_SCHEDULE_DELAY') ?? 5000,\n export_timeout: getNumberFromEnv('OTEL_BSP_EXPORT_TIMEOUT') ?? 30000,\n max_queue_size: getNumberFromEnv('OTEL_BSP_MAX_QUEUE_SIZE') ?? 2048,\n max_export_batch_size:\n getNumberFromEnv('OTEL_BSP_MAX_EXPORT_BATCH_SIZE') ?? 512,\n };\n\n for (let i = 0; i < exportersType.length; i++) {\n const exporterType = exportersType[i];\n const batchInfo: BatchSpanProcessor = {\n ...batch,\n exporter: {},\n };\n if (exporterType === 'console') {\n const processor: SpanProcessor = {\n simple: { exporter: { console: {} } },\n };\n config.tracer_provider.processors!.push(processor);\n } else {\n const protocol =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_PROTOCOL') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n 'http/protobuf';\n const certificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n const clientKeyFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n const clientCertificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n const compression =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n const timeout =\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT') ??\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n 10000;\n const headersList =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_HEADERS') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n\n if (protocol === 'grpc') {\n const tls = getGrpcTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const otlpGrpc: NonNullable<SpanExporter['otlp_grpc']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n 'http://localhost:4317',\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n };\n batchInfo.exporter = { otlp_grpc: otlpGrpc };\n } else {\n const tls = getHttpTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const encoding =\n protocol === 'http/json'\n ? 'json'\n : protocol === 'http/protobuf'\n ? 'protobuf'\n : undefined;\n const otlpHttp: NonNullable<SpanExporter['otlp_http']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT') ??\n (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/traces`\n : 'http://localhost:4318/v1/traces'),\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n ...(encoding !== undefined && { encoding }),\n };\n batchInfo.exporter = { otlp_http: otlpHttp };\n }\n\n const processor: SpanProcessor = { batch: batchInfo };\n config.tracer_provider.processors!.push(processor);\n }\n }\n}\n\nexport function setMeterProvider(config: ConfigurationModel): void {\n const exportersType = Array.from(\n new Set(getStringListFromEnv('OTEL_METRICS_EXPORTER'))\n );\n if (exportersType.length === 0) {\n return;\n }\n if (exportersType.includes('none')) {\n diag.info(\n `OTEL_METRICS_EXPORTER contains \"none\". Meter provider will not be initialized.`\n );\n return;\n }\n config.meter_provider = initializeDefaultMeterProviderConfiguration();\n\n const interval = getNumberFromEnv('OTEL_METRIC_EXPORT_INTERVAL') ?? 60000;\n for (let i = 0; i < exportersType.length; i++) {\n const exporterType = exportersType[i];\n if (exporterType === 'prometheus') {\n const pullReader = {\n exporter: {\n 'prometheus/development': {\n host:\n getStringFromEnv('OTEL_EXPORTER_PROMETHEUS_HOST') ?? 'localhost',\n port: getNumberFromEnv('OTEL_EXPORTER_PROMETHEUS_PORT') ?? 9464,\n without_scope_info: false,\n 'without_target_info/development': false,\n },\n },\n };\n config.meter_provider.readers!.push({ pull: pullReader });\n continue;\n }\n\n const readerPeriodicInfo: PeriodicMetricReader = {\n interval,\n timeout: getNumberFromEnv('OTEL_METRIC_EXPORT_TIMEOUT') ?? 30000,\n exporter: {},\n };\n\n if (exporterType === 'console') {\n readerPeriodicInfo.exporter = { console: {} };\n } else {\n const protocol =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_PROTOCOL') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n 'http/protobuf';\n const certificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n const clientKeyFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n const clientCertificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n const compression =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_COMPRESSION') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n const timeoutExporter =\n getNumberFromEnv('OTEL_EXPORTER_OTLP_METRICS_TIMEOUT') ??\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n 10000;\n const headersList =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_HEADERS') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n const rawTemporality =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE') ??\n 'cumulative';\n const validTemporalities = ['cumulative', 'delta', 'low_memory'];\n const temporalityPreference = validTemporalities.includes(rawTemporality)\n ? rawTemporality\n : 'cumulative';\n const rawHistogramAgg =\n getStringFromEnv(\n 'OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION'\n ) ?? 'explicit_bucket_histogram';\n const validHistogramAggs = [\n 'explicit_bucket_histogram',\n 'base2_exponential_bucket_histogram',\n ];\n const defaultHistogramAggregation = validHistogramAggs.includes(\n rawHistogramAgg\n )\n ? rawHistogramAgg\n : 'explicit_bucket_histogram';\n\n if (protocol === 'grpc') {\n const tls = getGrpcTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const otlpGrpc: NonNullable<PushMetricExporter['otlp_grpc']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_ENDPOINT') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n 'http://localhost:4317',\n timeout: timeoutExporter,\n temporality_preference:\n temporalityPreference as ExporterTemporalityPreference,\n default_histogram_aggregation:\n defaultHistogramAggregation as ExporterDefaultHistogramAggregation,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n };\n readerPeriodicInfo.exporter = { otlp_grpc: otlpGrpc };\n } else {\n const tls = getHttpTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const encoding =\n protocol === 'http/json'\n ? 'json'\n : protocol === 'http/protobuf'\n ? 'protobuf'\n : undefined;\n const otlpHttp: NonNullable<PushMetricExporter['otlp_http']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_ENDPOINT') ??\n (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/metrics`\n : 'http://localhost:4318/v1/metrics'),\n timeout: timeoutExporter,\n temporality_preference:\n temporalityPreference as ExporterTemporalityPreference,\n default_histogram_aggregation:\n defaultHistogramAggregation as ExporterDefaultHistogramAggregation,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n ...(encoding !== undefined && { encoding }),\n };\n readerPeriodicInfo.exporter = { otlp_http: otlpHttp };\n }\n }\n config.meter_provider.readers!.push({ periodic: readerPeriodicInfo });\n }\n\n const rawExemplarFilter =\n getStringFromEnv('OTEL_METRICS_EXEMPLAR_FILTER') ?? 'trace_based';\n config.meter_provider.exemplar_filter =\n rawExemplarFilter === 'default'\n ? 'trace_based'\n : (rawExemplarFilter as ExemplarFilter);\n}\n\nexport function setLoggerProvider(config: ConfigurationModel): void {\n const exportersType = Array.from(\n new Set(getStringListFromEnv('OTEL_LOGS_EXPORTER'))\n );\n if (exportersType.length === 0) {\n return;\n }\n if (exportersType.includes('none')) {\n diag.info(\n `OTEL_LOGS_EXPORTER contains \"none\". Logger provider will not be initialized.`\n );\n return;\n }\n config.logger_provider = initializeDefaultLoggerProviderConfiguration();\n\n const attributeValueLengthLimit = getNumberFromEnv(\n 'OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n );\n const attributeCountLimit = getNumberFromEnv(\n 'OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT'\n );\n if (attributeValueLengthLimit || attributeCountLimit) {\n if (attributeValueLengthLimit) {\n config.logger_provider.limits!.attribute_value_length_limit =\n attributeValueLengthLimit;\n }\n\n if (attributeCountLimit) {\n config.logger_provider.limits!.attribute_count_limit =\n attributeCountLimit;\n }\n }\n\n const batch: BatchLogRecordProcessor = {\n exporter: {},\n schedule_delay: getNumberFromEnv('OTEL_BLRP_SCHEDULE_DELAY') ?? 1000,\n export_timeout: getNumberFromEnv('OTEL_BLRP_EXPORT_TIMEOUT') ?? 30000,\n max_queue_size: getNumberFromEnv('OTEL_BLRP_MAX_QUEUE_SIZE') ?? 2048,\n max_export_batch_size:\n getNumberFromEnv('OTEL_BLRP_MAX_EXPORT_BATCH_SIZE') ?? 512,\n };\n\n for (let i = 0; i < exportersType.length; i++) {\n const exporterType = exportersType[i];\n const batchInfo: BatchLogRecordProcessor = {\n ...batch,\n exporter: {},\n };\n if (exporterType === 'console') {\n const processor: LogRecordProcessor = {\n simple: { exporter: { console: {} } },\n };\n config.logger_provider.processors!.push(processor);\n } else {\n const protocol =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_PROTOCOL') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n 'http/protobuf';\n const certificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n const clientKeyFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n const clientCertificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n const compression =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_COMPRESSION') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n const timeout =\n getNumberFromEnv('OTEL_EXPORTER_OTLP_LOGS_TIMEOUT') ??\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n 10000;\n const headersList =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_HEADERS') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n\n if (protocol === 'grpc') {\n const tls = getGrpcTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const otlpGrpc: NonNullable<LogRecordExporter['otlp_grpc']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_ENDPOINT') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n 'http://localhost:4317',\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n };\n batchInfo.exporter = { otlp_grpc: otlpGrpc };\n } else {\n const tls = getHttpTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const encoding =\n protocol === 'http/json'\n ? 'json'\n : protocol === 'http/protobuf'\n ? 'protobuf'\n : undefined;\n const otlpHttp: NonNullable<LogRecordExporter['otlp_http']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_ENDPOINT') ??\n (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/logs`\n : 'http://localhost:4318/v1/logs'),\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n ...(encoding !== undefined && { encoding }),\n };\n batchInfo.exporter = { otlp_http: otlpHttp };\n }\n const processor: LogRecordProcessor = { batch: batchInfo };\n config.logger_provider.processors!.push(processor);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"EnvironmentConfigFactory.js","sourceRoot":"","sources":["../../src/EnvironmentConfigFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n getStringFromEnv,\n getStringListFromEnv,\n getNumberFromEnv,\n} from '@opentelemetry/core';\nimport type { ConfigFactory } from './IConfigFactory';\nimport type {\n ExemplarFilter,\n BatchLogRecordProcessor,\n BatchSpanProcessor,\n ConfigurationModel,\n ExporterDefaultHistogramAggregation,\n ExporterTemporalityPreference,\n LogRecordExporter,\n LogRecordProcessor,\n PeriodicMetricReader,\n PushMetricExporter,\n SeverityNumber,\n SpanExporter,\n SpanProcessor,\n} from './generated/types';\nimport { diag } from '@opentelemetry/api';\nimport {\n getGrpcTlsConfig,\n getHttpTlsConfig,\n initializeDefaultConfiguration,\n initializeDefaultTracerProviderConfiguration,\n initializeDefaultMeterProviderConfiguration,\n initializeDefaultLoggerProviderConfiguration,\n} from './utils';\nimport type { EnvValues } from './EnvReader';\nimport { readAllEnvVars } from './EnvReader';\nimport { SamplerType } from './EnvDefinition';\n\ntype ExperimentalResourceDetector = NonNullable<\n NonNullable<\n NonNullable<ConfigurationModel['resource']>['detection/development']\n >['detectors']\n>[number];\n\n/**\n * EnvironmentConfigProvider provides a configuration based on environment variables.\n */\nexport class EnvironmentConfigFactory implements ConfigFactory {\n private _config: ConfigurationModel;\n\n constructor() {\n this._config = initializeDefaultConfiguration();\n const envValues = readAllEnvVars();\n this._config.disabled = envValues.OTEL_SDK_DISABLED;\n\n const logLevelString = getStringFromEnv('OTEL_LOG_LEVEL');\n if (logLevelString) {\n this._config.log_level =\n severityNumberConfigFromLogLevelString(logLevelString);\n }\n\n setResources(this._config);\n setAttributeLimits(this._config);\n setPropagators(this._config);\n setTracerProvider(this._config, envValues);\n setMeterProvider(this._config);\n setLoggerProvider(this._config);\n }\n\n getConfigModel(): ConfigurationModel {\n return this._config;\n }\n}\n\nconst SEV_NUM_CONFIG_FROM_LOG_LEVEL: { [key: string]: SeverityNumber } = {\n // Declarative config `log_level` has no \"NONE\". Using 'fatal' is\n // equivalent, because the OTel JS diag API does not have a \"fatal\" level.\n NONE: 'fatal',\n ERROR: 'error',\n WARN: 'warn',\n INFO: 'info',\n DEBUG: 'debug',\n VERBOSE: 'trace2',\n // Declarative config `log_level` has no \"ALL\". Using 'trace' is\n // equivalent, because that is the lowest SeverityNumber level.\n ALL: 'trace',\n};\n\n/**\n * Return a declarative config SeverityNumberConfig value (as used for\n * `log_level`) for the given `OTEL_LOG_LEVEL` string value.\n *\n * See notes at \"opentelemetr-sdk-node/src/diag.ts\".\n */\nfunction severityNumberConfigFromLogLevelString(\n str?: string\n): SeverityNumber | undefined {\n if (!str) {\n return undefined;\n }\n const sevNumConfig = SEV_NUM_CONFIG_FROM_LOG_LEVEL[str.toUpperCase()];\n if (!sevNumConfig) {\n diag.warn(\n `Unknown log level \"${str}\", expected one of ${Object.keys(SEV_NUM_CONFIG_FROM_LOG_LEVEL)}, using default info`\n );\n return 'info';\n }\n return sevNumConfig;\n}\n\nexport function setResources(config: ConfigurationModel): void {\n if (config.resource == null) {\n config.resource = {};\n }\n\n const resourceAttrList = getStringFromEnv('OTEL_RESOURCE_ATTRIBUTES');\n const list = resourceAttrList\n ? resourceAttrList\n .split(',')\n .map(s => s.trim())\n .filter(s => s)\n : [];\n const serviceName = getStringFromEnv('OTEL_SERVICE_NAME');\n\n if (serviceName) {\n config.resource.attributes = [\n {\n name: 'service.name',\n value: serviceName,\n type: 'string',\n },\n ];\n }\n if (list.length > 0) {\n config.resource.attributes_list = resourceAttrList;\n if (config.resource.attributes == null) {\n config.resource.attributes = [];\n }\n\n for (let i = 0; i < list.length; i++) {\n const element = list[i].split('=');\n if (\n element[0] !== 'service.name' ||\n (element[0] === 'service.name' && serviceName === undefined)\n ) {\n config.resource.attributes.push({\n name: element[0],\n value: element[1],\n type: 'string',\n });\n }\n }\n }\n\n const nodeDetectors = getStringListFromEnv('OTEL_NODE_RESOURCE_DETECTORS');\n if (\n nodeDetectors &&\n nodeDetectors.length > 0 &&\n !nodeDetectors.includes('none')\n ) {\n const all = nodeDetectors.includes('all');\n const detectors: ExperimentalResourceDetector[] = [];\n if (all || nodeDetectors.includes('container'))\n detectors.push({ container: {} });\n if (all || nodeDetectors.includes('host')) detectors.push({ host: {} });\n if (all || nodeDetectors.includes('os')) detectors.push({ os: {} });\n if (all || nodeDetectors.includes('process'))\n detectors.push({ process: {} });\n if (all || nodeDetectors.includes('serviceinstance'))\n detectors.push({ service: {} });\n if (all || nodeDetectors.includes('env')) detectors.push({ env: {} });\n if (detectors.length > 0) {\n if (config.resource['detection/development'] == null) {\n config.resource['detection/development'] = {};\n }\n config.resource['detection/development'].detectors = detectors;\n }\n }\n}\n\nexport function setAttributeLimits(config: ConfigurationModel): void {\n const attributeValueLengthLimit = getNumberFromEnv(\n 'OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n );\n if (attributeValueLengthLimit && attributeValueLengthLimit > 0) {\n if (config.attribute_limits == null) {\n config.attribute_limits = { attribute_count_limit: 128 };\n }\n config.attribute_limits.attribute_value_length_limit =\n attributeValueLengthLimit;\n }\n\n const attributeCountLimit = getNumberFromEnv('OTEL_ATTRIBUTE_COUNT_LIMIT');\n if (attributeCountLimit) {\n if (config.attribute_limits == null) {\n config.attribute_limits = { attribute_count_limit: attributeCountLimit };\n } else {\n config.attribute_limits.attribute_count_limit = attributeCountLimit;\n }\n }\n}\n\nexport function setPropagators(config: ConfigurationModel): void {\n if (config.propagator == null) {\n config.propagator = {};\n }\n const compositeList = getStringFromEnv('OTEL_PROPAGATORS');\n if (compositeList) {\n config.propagator.composite_list = compositeList;\n const names = compositeList\n .split(',')\n .map(s => s.trim())\n .filter(s => s);\n if (names.length > 0) {\n config.propagator.composite = [];\n // Store each propagator name as a type-discriminator key. The config\n // model doesn't validate names here — known vs third-party propagators\n // are resolved when the SDK instantiates from the model.\n for (const name of names) {\n config.propagator.composite.push({ [name]: {} });\n }\n }\n }\n}\n\nexport function setSampler(config: ConfigurationModel, env: EnvValues): void {\n const sampler = env.OTEL_TRACES_SAMPLER;\n const arg = env.OTEL_TRACES_SAMPLER_ARG;\n\n if (!sampler || !config.tracer_provider) {\n return;\n }\n\n const ratio = arg ? parseFloat(arg) : 1.0;\n\n switch (sampler) {\n case SamplerType.AlwaysOn:\n config.tracer_provider.sampler = { always_on: {} };\n break;\n\n case SamplerType.AlwaysOff:\n config.tracer_provider.sampler = { always_off: {} };\n break;\n\n case SamplerType.TraceIdRatio:\n config.tracer_provider.sampler = {\n trace_id_ratio_based: { ratio },\n };\n break;\n\n case SamplerType.ParentBasedAlwaysOn:\n config.tracer_provider.sampler = {\n parent_based: { root: { always_on: {} } },\n };\n break;\n\n case SamplerType.ParentBasedAlwaysOff:\n config.tracer_provider.sampler = {\n parent_based: { root: { always_off: {} } },\n };\n break;\n\n case SamplerType.ParentBasedTraceIdRatio:\n config.tracer_provider.sampler = {\n parent_based: { root: { trace_id_ratio_based: { ratio } } },\n };\n break;\n\n default:\n // readEnvVar already warns for invalid values via allowedValues\n break;\n }\n}\n\nexport function setTracerProvider(\n config: ConfigurationModel,\n env: EnvValues\n): void {\n const exportersType = Array.from(\n new Set(getStringListFromEnv('OTEL_TRACES_EXPORTER'))\n );\n if (exportersType.length === 0) {\n return;\n }\n if (exportersType.includes('none')) {\n diag.info(\n 'OTEL_TRACES_EXPORTER contains \"none\". Tracer provider will not be initialized.'\n );\n return;\n }\n config.tracer_provider = initializeDefaultTracerProviderConfiguration();\n setSampler(config, env);\n\n const attributeValueLengthLimit = getNumberFromEnv(\n 'OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n );\n if (attributeValueLengthLimit) {\n config.tracer_provider.limits!.attribute_value_length_limit =\n attributeValueLengthLimit;\n }\n\n const attributeCountLimit = getNumberFromEnv(\n 'OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT'\n );\n if (attributeCountLimit) {\n config.tracer_provider.limits!.attribute_count_limit = attributeCountLimit;\n }\n\n const eventCountLimit = getNumberFromEnv('OTEL_SPAN_EVENT_COUNT_LIMIT');\n if (eventCountLimit) {\n config.tracer_provider.limits!.event_count_limit = eventCountLimit;\n }\n\n const linkCountLimit = getNumberFromEnv('OTEL_SPAN_LINK_COUNT_LIMIT');\n if (linkCountLimit) {\n config.tracer_provider.limits!.link_count_limit = linkCountLimit;\n }\n\n const eventAttributeCountLimit = getNumberFromEnv(\n 'OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT'\n );\n if (eventAttributeCountLimit) {\n config.tracer_provider.limits!.event_attribute_count_limit =\n eventAttributeCountLimit;\n }\n\n const linkAttributeCountLimit = getNumberFromEnv(\n 'OTEL_LINK_ATTRIBUTE_COUNT_LIMIT'\n );\n if (linkAttributeCountLimit) {\n config.tracer_provider.limits!.link_attribute_count_limit =\n linkAttributeCountLimit;\n }\n\n const batch: BatchSpanProcessor = {\n exporter: {},\n schedule_delay: getNumberFromEnv('OTEL_BSP_SCHEDULE_DELAY') ?? 5000,\n export_timeout: getNumberFromEnv('OTEL_BSP_EXPORT_TIMEOUT') ?? 30000,\n max_queue_size: getNumberFromEnv('OTEL_BSP_MAX_QUEUE_SIZE') ?? 2048,\n max_export_batch_size:\n getNumberFromEnv('OTEL_BSP_MAX_EXPORT_BATCH_SIZE') ?? 512,\n };\n\n for (let i = 0; i < exportersType.length; i++) {\n const exporterType = exportersType[i];\n const batchInfo: BatchSpanProcessor = {\n ...batch,\n exporter: {},\n };\n if (exporterType === 'console') {\n const processor: SpanProcessor = {\n simple: { exporter: { console: {} } },\n };\n config.tracer_provider.processors!.push(processor);\n } else {\n const protocol =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_PROTOCOL') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n 'http/protobuf';\n const certificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n const clientKeyFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n const clientCertificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n const compression =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n const timeout =\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT') ??\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n 10000;\n const headersList =\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_HEADERS') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n\n if (protocol === 'grpc') {\n const tls = getGrpcTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const otlpGrpc: NonNullable<SpanExporter['otlp_grpc']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n 'http://localhost:4317',\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n };\n batchInfo.exporter = { otlp_grpc: otlpGrpc };\n } else {\n const tls = getHttpTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const encoding =\n protocol === 'http/json'\n ? 'json'\n : protocol === 'http/protobuf'\n ? 'protobuf'\n : undefined;\n const otlpHttp: NonNullable<SpanExporter['otlp_http']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT') ??\n (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/traces`\n : 'http://localhost:4318/v1/traces'),\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n ...(encoding !== undefined && { encoding }),\n };\n batchInfo.exporter = { otlp_http: otlpHttp };\n }\n\n const processor: SpanProcessor = { batch: batchInfo };\n config.tracer_provider.processors!.push(processor);\n }\n }\n}\n\nexport function setMeterProvider(config: ConfigurationModel): void {\n const exportersType = Array.from(\n new Set(getStringListFromEnv('OTEL_METRICS_EXPORTER'))\n );\n if (exportersType.length === 0) {\n return;\n }\n if (exportersType.includes('none')) {\n diag.info(\n 'OTEL_METRICS_EXPORTER contains \"none\". Meter provider will not be initialized.'\n );\n return;\n }\n config.meter_provider = initializeDefaultMeterProviderConfiguration();\n\n const interval = getNumberFromEnv('OTEL_METRIC_EXPORT_INTERVAL') ?? 60000;\n for (let i = 0; i < exportersType.length; i++) {\n const exporterType = exportersType[i];\n if (exporterType === 'prometheus') {\n const pullReader = {\n exporter: {\n 'prometheus/development': {\n host:\n getStringFromEnv('OTEL_EXPORTER_PROMETHEUS_HOST') ?? 'localhost',\n port: getNumberFromEnv('OTEL_EXPORTER_PROMETHEUS_PORT') ?? 9464,\n without_scope_info: false,\n 'without_target_info/development': false,\n },\n },\n };\n config.meter_provider.readers!.push({ pull: pullReader });\n continue;\n }\n\n const readerPeriodicInfo: PeriodicMetricReader = {\n interval,\n timeout: getNumberFromEnv('OTEL_METRIC_EXPORT_TIMEOUT') ?? 30000,\n exporter: {},\n };\n\n if (exporterType === 'console') {\n readerPeriodicInfo.exporter = { console: {} };\n } else {\n const protocol =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_PROTOCOL') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n 'http/protobuf';\n const certificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n const clientKeyFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n const clientCertificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n const compression =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_COMPRESSION') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n const timeoutExporter =\n getNumberFromEnv('OTEL_EXPORTER_OTLP_METRICS_TIMEOUT') ??\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n 10000;\n const headersList =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_HEADERS') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n const rawTemporality =\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE') ??\n 'cumulative';\n const validTemporalities = ['cumulative', 'delta', 'low_memory'];\n const temporalityPreference = validTemporalities.includes(rawTemporality)\n ? rawTemporality\n : 'cumulative';\n const rawHistogramAgg =\n getStringFromEnv(\n 'OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION'\n ) ?? 'explicit_bucket_histogram';\n const validHistogramAggs = [\n 'explicit_bucket_histogram',\n 'base2_exponential_bucket_histogram',\n ];\n const defaultHistogramAggregation = validHistogramAggs.includes(\n rawHistogramAgg\n )\n ? rawHistogramAgg\n : 'explicit_bucket_histogram';\n\n if (protocol === 'grpc') {\n const tls = getGrpcTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const otlpGrpc: NonNullable<PushMetricExporter['otlp_grpc']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_ENDPOINT') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n 'http://localhost:4317',\n timeout: timeoutExporter,\n temporality_preference:\n temporalityPreference as ExporterTemporalityPreference,\n default_histogram_aggregation:\n defaultHistogramAggregation as ExporterDefaultHistogramAggregation,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n };\n readerPeriodicInfo.exporter = { otlp_grpc: otlpGrpc };\n } else {\n const tls = getHttpTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const encoding =\n protocol === 'http/json'\n ? 'json'\n : protocol === 'http/protobuf'\n ? 'protobuf'\n : undefined;\n const otlpHttp: NonNullable<PushMetricExporter['otlp_http']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_METRICS_ENDPOINT') ??\n (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/metrics`\n : 'http://localhost:4318/v1/metrics'),\n timeout: timeoutExporter,\n temporality_preference:\n temporalityPreference as ExporterTemporalityPreference,\n default_histogram_aggregation:\n defaultHistogramAggregation as ExporterDefaultHistogramAggregation,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n ...(encoding !== undefined && { encoding }),\n };\n readerPeriodicInfo.exporter = { otlp_http: otlpHttp };\n }\n }\n config.meter_provider.readers!.push({ periodic: readerPeriodicInfo });\n }\n\n const rawExemplarFilter =\n getStringFromEnv('OTEL_METRICS_EXEMPLAR_FILTER') ?? 'trace_based';\n config.meter_provider.exemplar_filter =\n rawExemplarFilter === 'default'\n ? 'trace_based'\n : (rawExemplarFilter as ExemplarFilter);\n}\n\nexport function setLoggerProvider(config: ConfigurationModel): void {\n const exportersType = Array.from(\n new Set(getStringListFromEnv('OTEL_LOGS_EXPORTER'))\n );\n if (exportersType.length === 0) {\n return;\n }\n if (exportersType.includes('none')) {\n diag.info(\n 'OTEL_LOGS_EXPORTER contains \"none\". Logger provider will not be initialized.'\n );\n return;\n }\n config.logger_provider = initializeDefaultLoggerProviderConfiguration();\n\n const attributeValueLengthLimit = getNumberFromEnv(\n 'OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT'\n );\n const attributeCountLimit = getNumberFromEnv(\n 'OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT'\n );\n if (attributeValueLengthLimit || attributeCountLimit) {\n if (attributeValueLengthLimit) {\n config.logger_provider.limits!.attribute_value_length_limit =\n attributeValueLengthLimit;\n }\n\n if (attributeCountLimit) {\n config.logger_provider.limits!.attribute_count_limit =\n attributeCountLimit;\n }\n }\n\n const batch: BatchLogRecordProcessor = {\n exporter: {},\n schedule_delay: getNumberFromEnv('OTEL_BLRP_SCHEDULE_DELAY') ?? 1000,\n export_timeout: getNumberFromEnv('OTEL_BLRP_EXPORT_TIMEOUT') ?? 30000,\n max_queue_size: getNumberFromEnv('OTEL_BLRP_MAX_QUEUE_SIZE') ?? 2048,\n max_export_batch_size:\n getNumberFromEnv('OTEL_BLRP_MAX_EXPORT_BATCH_SIZE') ?? 512,\n };\n\n for (let i = 0; i < exportersType.length; i++) {\n const exporterType = exportersType[i];\n const batchInfo: BatchLogRecordProcessor = {\n ...batch,\n exporter: {},\n };\n if (exporterType === 'console') {\n const processor: LogRecordProcessor = {\n simple: { exporter: { console: {} } },\n };\n config.logger_provider.processors!.push(processor);\n } else {\n const protocol =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_PROTOCOL') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_PROTOCOL') ??\n 'http/protobuf';\n const certificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CERTIFICATE');\n const clientKeyFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_KEY');\n const clientCertificateFile =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE');\n const compression =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_COMPRESSION') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_COMPRESSION');\n const timeout =\n getNumberFromEnv('OTEL_EXPORTER_OTLP_LOGS_TIMEOUT') ??\n getNumberFromEnv('OTEL_EXPORTER_OTLP_TIMEOUT') ??\n 10000;\n const headersList =\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_HEADERS') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS');\n\n if (protocol === 'grpc') {\n const tls = getGrpcTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const otlpGrpc: NonNullable<LogRecordExporter['otlp_grpc']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_ENDPOINT') ??\n getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT') ??\n 'http://localhost:4317',\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n };\n batchInfo.exporter = { otlp_grpc: otlpGrpc };\n } else {\n const tls = getHttpTlsConfig(\n certificateFile,\n clientKeyFile,\n clientCertificateFile\n );\n const encoding =\n protocol === 'http/json'\n ? 'json'\n : protocol === 'http/protobuf'\n ? 'protobuf'\n : undefined;\n const otlpHttp: NonNullable<LogRecordExporter['otlp_http']> = {\n endpoint:\n getStringFromEnv('OTEL_EXPORTER_OTLP_LOGS_ENDPOINT') ??\n (getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')\n ? `${getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT')}/v1/logs`\n : 'http://localhost:4318/v1/logs'),\n timeout,\n ...(tls !== undefined && { tls }),\n ...(compression !== undefined && { compression }),\n ...(headersList !== undefined && { headers_list: headersList }),\n ...(encoding !== undefined && { encoding }),\n };\n batchInfo.exporter = { otlp_http: otlpHttp };\n }\n const processor: LogRecordProcessor = { batch: batchInfo };\n config.logger_provider.processors!.push(processor);\n }\n }\n}\n"]}
|
|
@@ -26,15 +26,13 @@ function parseConfigFile() {
|
|
|
26
26
|
const supportedFileVersionPattern = /^1\.0$/;
|
|
27
27
|
const configFile = (0, core_1.getStringFromEnv)('OTEL_CONFIG_FILE') || '';
|
|
28
28
|
const file = fs.readFileSync(configFile, 'utf8');
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const processed =
|
|
29
|
+
const doc = yaml.parseDocument(file, { version: '1.2' });
|
|
30
|
+
(0, utils_1.substituteEnvVars)(doc);
|
|
31
|
+
const processed = doc.toJS();
|
|
32
32
|
const fileFormat = processed?.file_format;
|
|
33
33
|
if (!fileFormat || !supportedFileVersionPattern.test(String(fileFormat))) {
|
|
34
34
|
throw new Error(`${configFile}: Unsupported file_format: "${fileFormat}". Must match ${supportedFileVersionPattern}.`);
|
|
35
35
|
}
|
|
36
|
-
// Normalize YAML null type-tag values to {} before validation
|
|
37
|
-
normalizeYamlNulls(processed);
|
|
38
36
|
const valid = validateConfig(processed);
|
|
39
37
|
if (!valid) {
|
|
40
38
|
let detail;
|
|
@@ -58,13 +56,6 @@ function parseConfigFile() {
|
|
|
58
56
|
const data = processed;
|
|
59
57
|
// Strip file_format from output — it's a meta-field, not a config value
|
|
60
58
|
delete data['file_format'];
|
|
61
|
-
// The generated TypeScript types omit `| null` from unions (see
|
|
62
|
-
// generate-config.js) because consumers expect `T | undefined`, not
|
|
63
|
-
// `T | null`. To match, we delete any properties still set to `null`
|
|
64
|
-
// after YAML parsing so that accessing them returns `undefined`.
|
|
65
|
-
// Runs after normalizeYamlNulls, which has already converted type-tag
|
|
66
|
-
// nulls (e.g. `console:`) to `{}`.
|
|
67
|
-
stripNulls(processed);
|
|
68
59
|
applyConfigDefaults(data);
|
|
69
60
|
mergeAttributesList(data);
|
|
70
61
|
mergeCompositeList(data);
|
|
@@ -203,147 +194,4 @@ function applyConfigDefaults(data) {
|
|
|
203
194
|
data.attribute_limits.attribute_count_limit = 128;
|
|
204
195
|
}
|
|
205
196
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Recursively delete object properties whose value is `null`.
|
|
208
|
-
*
|
|
209
|
-
* YAML `key:` (no value) parses to `{ key: null }`. The generated TypeScript
|
|
210
|
-
* types use `?: T` (not `T | null`) because downstream consumers like sdk-node
|
|
211
|
-
* assign config values to interfaces that only accept `T | undefined`. The
|
|
212
|
-
* codegen script (generate-config.js) strips `| null` from type unions; this
|
|
213
|
-
* function makes the runtime data match by deleting null-valued keys so that
|
|
214
|
-
* property access returns `undefined` instead of `null`.
|
|
215
|
-
*
|
|
216
|
-
* Must run AFTER normalizeYamlNulls, which converts type-tag nulls
|
|
217
|
-
* (e.g. `console: null` → `console: {}`) — those are already `{}` by the
|
|
218
|
-
* time this function runs and won't be affected.
|
|
219
|
-
*/
|
|
220
|
-
function stripNulls(value) {
|
|
221
|
-
if (value == null || typeof value !== 'object')
|
|
222
|
-
return;
|
|
223
|
-
if (Array.isArray(value)) {
|
|
224
|
-
for (const item of value) {
|
|
225
|
-
stripNulls(item);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
for (const [key, val] of Object.entries(value)) {
|
|
230
|
-
if (val === null) {
|
|
231
|
-
delete value[key];
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
stripNulls(val);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Object type-tag keys that may appear as nested (non-array-element) properties.
|
|
241
|
-
* YAML `console:` (no value) parses to `{ console: null }`, but the SDK checks
|
|
242
|
-
* `if (exporter.console)` — truthy — so null must become {}.
|
|
243
|
-
*
|
|
244
|
-
* We exclude keys that are also used as nullable primitives in other contexts
|
|
245
|
-
* (e.g. `host` is a string field in prometheus config; detectors use it as a
|
|
246
|
-
* type-tag but only as array elements, which are already handled below).
|
|
247
|
-
*/
|
|
248
|
-
const NESTED_OBJECT_TYPE_TAGS = new Set([
|
|
249
|
-
// Exporter type discriminators (nested inside simple/batch processor or reader)
|
|
250
|
-
'console',
|
|
251
|
-
'otlp_http',
|
|
252
|
-
'otlp_grpc',
|
|
253
|
-
// Sampler type discriminators (nested inside tracer_provider.sampler)
|
|
254
|
-
'always_on',
|
|
255
|
-
'always_off',
|
|
256
|
-
'trace_id_ratio_based',
|
|
257
|
-
'parent_based',
|
|
258
|
-
'jaeger_remote',
|
|
259
|
-
// Propagator type discriminators (array elements, but covered here for completeness)
|
|
260
|
-
'tracecontext',
|
|
261
|
-
'baggage',
|
|
262
|
-
'b3',
|
|
263
|
-
'b3multi',
|
|
264
|
-
'xray',
|
|
265
|
-
// Telemetry producer type discriminators
|
|
266
|
-
'opencensus',
|
|
267
|
-
]);
|
|
268
|
-
/**
|
|
269
|
-
* Normalizes YAML null values to empty objects for discriminated-union type-tag fields.
|
|
270
|
-
*
|
|
271
|
-
* YAML `key:` (no value) parses to `{ key: null }`, but the SDK checks `if (obj.key)`
|
|
272
|
-
* to determine which type to instantiate — null fails that check. Two cases:
|
|
273
|
-
*
|
|
274
|
-
* 1. Array element properties: convert ALL null-valued keys to {} (handles detectors,
|
|
275
|
-
* composite propagators, and most exporter/processor discriminators).
|
|
276
|
-
* 2. Nested NESTED_OBJECT_TYPE_TAGS: convert known type-discriminator keys to {} when
|
|
277
|
-
* encountered anywhere in the tree (handles sampler types, console exporter nested
|
|
278
|
-
* inside simple/batch, etc.).
|
|
279
|
-
*
|
|
280
|
-
* Top-level nullable primitive fields (disabled, log_level, endpoint, ca_file, etc.)
|
|
281
|
-
* are NOT in NESTED_OBJECT_TYPE_TAGS and are left as-is; applyConfigDefaults()
|
|
282
|
-
* handles the boolean/string ones that need defaults.
|
|
283
|
-
*/
|
|
284
|
-
function normalizeYamlNulls(value) {
|
|
285
|
-
if (value == null || typeof value !== 'object')
|
|
286
|
-
return;
|
|
287
|
-
if (Array.isArray(value)) {
|
|
288
|
-
for (const item of value) {
|
|
289
|
-
if (item != null && typeof item === 'object' && !Array.isArray(item)) {
|
|
290
|
-
// All null-valued properties of array elements are type-tag discriminators.
|
|
291
|
-
for (const key of Object.keys(item)) {
|
|
292
|
-
if (item[key] === null) {
|
|
293
|
-
item[key] = {};
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
normalizeYamlNulls(item);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
for (const [key, val] of Object.entries(value)) {
|
|
302
|
-
if (val === null &&
|
|
303
|
-
// Known type-tag keys, or slash-qualified experimental type-tags
|
|
304
|
-
// (e.g. otlp_file/development, prometheus/development)
|
|
305
|
-
(NESTED_OBJECT_TYPE_TAGS.has(key) || key.includes('/'))) {
|
|
306
|
-
value[key] = {};
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
normalizeYamlNulls(val);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
const ENV_VAR_PATTERN = /\$\{[^}]+\}/;
|
|
315
|
-
function substituteEnvVars(obj) {
|
|
316
|
-
if (typeof obj === 'string') {
|
|
317
|
-
// Only coerce if the string contained env var substitution syntax,
|
|
318
|
-
// so that plain YAML strings (e.g. quoted "1234") are not type-coerced.
|
|
319
|
-
const hasSubstitution = ENV_VAR_PATTERN.test(obj);
|
|
320
|
-
const substituted = (0, utils_1.envVariableSubstitution)(obj);
|
|
321
|
-
return hasSubstitution ? yamlCoerce(substituted) : substituted;
|
|
322
|
-
}
|
|
323
|
-
if (Array.isArray(obj)) {
|
|
324
|
-
return obj.map(substituteEnvVars);
|
|
325
|
-
}
|
|
326
|
-
if (typeof obj === 'object' && obj !== null) {
|
|
327
|
-
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, substituteEnvVars(v)]));
|
|
328
|
-
}
|
|
329
|
-
return obj;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Re-coerce a string value to its YAML-equivalent primitive type.
|
|
333
|
-
* Env var substitution always returns strings; this converts them back
|
|
334
|
-
* to booleans/numbers/null where the schema expects those types.
|
|
335
|
-
*/
|
|
336
|
-
function yamlCoerce(value) {
|
|
337
|
-
if (value === 'true')
|
|
338
|
-
return true;
|
|
339
|
-
if (value === 'false')
|
|
340
|
-
return false;
|
|
341
|
-
if (value === 'null' || value === '')
|
|
342
|
-
return null;
|
|
343
|
-
if (/^-?\d+$/.test(value))
|
|
344
|
-
return parseInt(value, 10);
|
|
345
|
-
if (/^-?\d+\.\d+$/.test(value))
|
|
346
|
-
return parseFloat(value);
|
|
347
|
-
return value;
|
|
348
|
-
}
|
|
349
197
|
//# sourceMappingURL=FileConfigFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileConfigFactory.js","sourceRoot":"","sources":["../../src/FileConfigFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getStringFromEnv } from '@opentelemetry/core';\nimport type { ConfigFactory } from './IConfigFactory';\nimport * as fs from 'fs';\nimport * as yaml from 'yaml';\nimport { envVariableSubstitution } from './utils';\nimport type {\n BatchLogRecordProcessor,\n BatchSpanProcessor,\n CardinalityLimits,\n ConfigurationModel,\n PeriodicMetricReader,\n} from './generated/types';\n// Pre-compiled ajv validator — eliminates runtime schema compilation on cold start.\n// Generated by `npm run generate:config`; do not import ajv directly here.\nimport * as validateConfig from './generated/validator';\n\nexport class FileConfigFactory implements ConfigFactory {\n private _config: ConfigurationModel;\n\n constructor() {\n this._config = parseConfigFile();\n }\n\n getConfigModel(): ConfigurationModel {\n return this._config;\n }\n}\n\nexport function parseConfigFile(): ConfigurationModel {\n const supportedFileVersionPattern = /^1\\.0$/;\n const configFile = getStringFromEnv('OTEL_CONFIG_FILE') || '';\n const file = fs.readFileSync(configFile, 'utf8');\n\n // Apply env var substitution to all string values before schema parsing\n const rawParsed = yaml.parse(file) as Record<string, unknown>;\n const processed = substituteEnvVars(rawParsed) as Record<string, unknown>;\n\n const fileFormat = processed?.file_format;\n if (!fileFormat || !supportedFileVersionPattern.test(String(fileFormat))) {\n throw new Error(\n `${configFile}: Unsupported file_format: \"${fileFormat}\". Must match ${supportedFileVersionPattern}.`\n );\n }\n\n // Normalize YAML null type-tag values to {} before validation\n normalizeYamlNulls(processed);\n\n const valid = validateConfig(processed);\n if (!valid) {\n let detail: string;\n if (!validateConfig.errors) {\n detail = 'unknown error';\n } else if (validateConfig.errors.length === 1) {\n const err = validateConfig.errors[0];\n detail = `${err.instancePath} ${err.message}`;\n } else {\n const sep = '\\n ';\n detail =\n sep +\n validateConfig.errors\n .map(e => `${e.instancePath} ${e.message}`)\n .join(sep);\n }\n throw new Error(\n `Invalid OpenTelemetry config file: ${configFile}: ${detail}`\n );\n }\n\n const data = processed as unknown as ConfigurationModel;\n\n // Strip file_format from output — it's a meta-field, not a config value\n delete (data as Record<string, unknown>)['file_format'];\n\n // The generated TypeScript types omit `| null` from unions (see\n // generate-config.js) because consumers expect `T | undefined`, not\n // `T | null`. To match, we delete any properties still set to `null`\n // after YAML parsing so that accessing them returns `undefined`.\n // Runs after normalizeYamlNulls, which has already converted type-tag\n // nulls (e.g. `console:`) to `{}`.\n stripNulls(processed);\n\n applyConfigDefaults(data);\n mergeAttributesList(data);\n mergeCompositeList(data);\n applyBatchProcessorDefaults(data);\n applyPeriodicReaderDefaults(data);\n applyOtlpHttpEncodingDefaults(data);\n\n return data;\n}\n\n/**\n * Apply default encoding ('protobuf') to all otlp_http exporters in the config\n * where encoding was not explicitly specified. The spec defines protobuf as the\n * default encoding for OTLP HTTP exporters.\n */\nfunction applyOtlpHttpEncodingDefaults(data: ConfigurationModel): void {\n const applyEncoding = (\n exporter: { encoding?: string | null } | null | undefined\n ) => {\n if (exporter && exporter.encoding == null) {\n exporter.encoding = 'protobuf';\n }\n };\n\n for (const processor of data.tracer_provider?.processors ?? []) {\n applyEncoding(processor.batch?.exporter?.otlp_http);\n applyEncoding(processor.simple?.exporter?.otlp_http);\n }\n\n for (const reader of data.meter_provider?.readers ?? []) {\n applyEncoding(reader.periodic?.exporter?.otlp_http);\n }\n\n for (const processor of data.logger_provider?.processors ?? []) {\n applyEncoding(processor.batch?.exporter?.otlp_http);\n applyEncoding(processor.simple?.exporter?.otlp_http);\n }\n}\n\n/**\n * Merge resource.attributes_list (comma-separated key=value pairs) into\n * resource.attributes, with entries already in attributes taking precedence.\n */\nfunction mergeAttributesList(data: ConfigurationModel): void {\n const resource = data.resource;\n const list = resource?.attributes_list;\n if (typeof list !== 'string' || !list.trim()) return;\n\n if (resource!.attributes == null) {\n resource!.attributes = [];\n }\n\n const existingKeys = new Set(\n resource!.attributes.map((a: { name: string }) => a.name)\n );\n\n for (const pair of list.split(',')) {\n const eqIdx = pair.indexOf('=');\n if (eqIdx > 0) {\n const key = pair.slice(0, eqIdx).trim();\n const value = pair.slice(eqIdx + 1).trim();\n if (key && !existingKeys.has(key)) {\n resource!.attributes.push({ name: key, value, type: 'string' });\n }\n }\n }\n}\n\n/**\n * Merge propagator.composite_list (comma-separated propagator names) into\n * propagator.composite, with entries already in composite taking precedence.\n */\nfunction mergeCompositeList(data: ConfigurationModel): void {\n const propagator = data.propagator;\n const list = propagator?.composite_list;\n if (typeof list !== 'string' || !list.trim()) return;\n\n if (propagator!.composite == null) {\n propagator!.composite = [];\n }\n\n const existingNames = new Set(\n (propagator!.composite as Array<Record<string, unknown>>).map(\n entry => Object.keys(entry)[0]\n )\n );\n\n for (const name of list.split(',')) {\n const trimmed = name.trim();\n if (trimmed && !existingNames.has(trimmed)) {\n (propagator!.composite as Array<Record<string, unknown>>).push({\n [trimmed]: {},\n });\n }\n }\n}\n\n/**\n * Apply spec-defined defaults for batch span/log-record processor fields that\n * are not encoded in the JSON schema.\n */\nfunction applyBatchProcessorDefaults(data: ConfigurationModel): void {\n const applyDefaults = (\n batch: BatchSpanProcessor | BatchLogRecordProcessor\n ) => {\n if (batch.schedule_delay == null) batch.schedule_delay = 5000;\n if (batch.export_timeout == null) batch.export_timeout = 30000;\n if (batch.max_queue_size == null) batch.max_queue_size = 2048;\n if (batch.max_export_batch_size == null) batch.max_export_batch_size = 512;\n };\n\n for (const processor of data.tracer_provider?.processors ?? []) {\n if (processor.batch) applyDefaults(processor.batch);\n }\n for (const processor of data.logger_provider?.processors ?? []) {\n if (processor.batch) applyDefaults(processor.batch);\n }\n}\n\n/**\n * Apply spec-defined defaults for periodic metric reader fields.\n */\nfunction applyPeriodicReaderDefaults(data: ConfigurationModel): void {\n for (const reader of data.meter_provider?.readers ?? []) {\n const periodic = reader.periodic as PeriodicMetricReader | undefined;\n if (!periodic) continue;\n if (periodic.interval == null) periodic.interval = 60000;\n if (periodic.timeout == null) periodic.timeout = 30000;\n if (periodic.cardinality_limits == null) {\n periodic.cardinality_limits = { default: 2000 } as CardinalityLimits;\n }\n }\n}\n\n/**\n * Apply spec-defined defaults that are not encoded in the JSON schema.\n * Both FileConfigFactory and EnvironmentConfigFactory apply the same defaults\n * so consumers see consistent behaviour regardless of config source.\n */\nfunction applyConfigDefaults(data: ConfigurationModel): void {\n if (data.disabled == null) {\n data.disabled = false;\n }\n if (data.log_level == null) {\n data.log_level = 'info';\n }\n if (data.attribute_limits == null) {\n data.attribute_limits = { attribute_count_limit: 128 };\n } else if (data.attribute_limits.attribute_count_limit == null) {\n data.attribute_limits.attribute_count_limit = 128;\n }\n}\n\n/**\n * Recursively delete object properties whose value is `null`.\n *\n * YAML `key:` (no value) parses to `{ key: null }`. The generated TypeScript\n * types use `?: T` (not `T | null`) because downstream consumers like sdk-node\n * assign config values to interfaces that only accept `T | undefined`. The\n * codegen script (generate-config.js) strips `| null` from type unions; this\n * function makes the runtime data match by deleting null-valued keys so that\n * property access returns `undefined` instead of `null`.\n *\n * Must run AFTER normalizeYamlNulls, which converts type-tag nulls\n * (e.g. `console: null` → `console: {}`) — those are already `{}` by the\n * time this function runs and won't be affected.\n */\nfunction stripNulls(value: unknown): void {\n if (value == null || typeof value !== 'object') return;\n if (Array.isArray(value)) {\n for (const item of value) {\n stripNulls(item);\n }\n } else {\n for (const [key, val] of Object.entries(value as Record<string, unknown>)) {\n if (val === null) {\n delete (value as Record<string, unknown>)[key];\n } else {\n stripNulls(val);\n }\n }\n }\n}\n\n/**\n * Object type-tag keys that may appear as nested (non-array-element) properties.\n * YAML `console:` (no value) parses to `{ console: null }`, but the SDK checks\n * `if (exporter.console)` — truthy — so null must become {}.\n *\n * We exclude keys that are also used as nullable primitives in other contexts\n * (e.g. `host` is a string field in prometheus config; detectors use it as a\n * type-tag but only as array elements, which are already handled below).\n */\nconst NESTED_OBJECT_TYPE_TAGS = new Set([\n // Exporter type discriminators (nested inside simple/batch processor or reader)\n 'console',\n 'otlp_http',\n 'otlp_grpc',\n // Sampler type discriminators (nested inside tracer_provider.sampler)\n 'always_on',\n 'always_off',\n 'trace_id_ratio_based',\n 'parent_based',\n 'jaeger_remote',\n // Propagator type discriminators (array elements, but covered here for completeness)\n 'tracecontext',\n 'baggage',\n 'b3',\n 'b3multi',\n 'xray',\n // Telemetry producer type discriminators\n 'opencensus',\n]);\n\n/**\n * Normalizes YAML null values to empty objects for discriminated-union type-tag fields.\n *\n * YAML `key:` (no value) parses to `{ key: null }`, but the SDK checks `if (obj.key)`\n * to determine which type to instantiate — null fails that check. Two cases:\n *\n * 1. Array element properties: convert ALL null-valued keys to {} (handles detectors,\n * composite propagators, and most exporter/processor discriminators).\n * 2. Nested NESTED_OBJECT_TYPE_TAGS: convert known type-discriminator keys to {} when\n * encountered anywhere in the tree (handles sampler types, console exporter nested\n * inside simple/batch, etc.).\n *\n * Top-level nullable primitive fields (disabled, log_level, endpoint, ca_file, etc.)\n * are NOT in NESTED_OBJECT_TYPE_TAGS and are left as-is; applyConfigDefaults()\n * handles the boolean/string ones that need defaults.\n */\nfunction normalizeYamlNulls(value: unknown): void {\n if (value == null || typeof value !== 'object') return;\n if (Array.isArray(value)) {\n for (const item of value) {\n if (item != null && typeof item === 'object' && !Array.isArray(item)) {\n // All null-valued properties of array elements are type-tag discriminators.\n for (const key of Object.keys(item as object)) {\n if ((item as Record<string, unknown>)[key] === null) {\n (item as Record<string, unknown>)[key] = {};\n }\n }\n }\n normalizeYamlNulls(item);\n }\n } else {\n for (const [key, val] of Object.entries(value as Record<string, unknown>)) {\n if (\n val === null &&\n // Known type-tag keys, or slash-qualified experimental type-tags\n // (e.g. otlp_file/development, prometheus/development)\n (NESTED_OBJECT_TYPE_TAGS.has(key) || key.includes('/'))\n ) {\n (value as Record<string, unknown>)[key] = {};\n } else {\n normalizeYamlNulls(val);\n }\n }\n }\n}\n\nconst ENV_VAR_PATTERN = /\\$\\{[^}]+\\}/;\n\nfunction substituteEnvVars(obj: unknown): unknown {\n if (typeof obj === 'string') {\n // Only coerce if the string contained env var substitution syntax,\n // so that plain YAML strings (e.g. quoted \"1234\") are not type-coerced.\n const hasSubstitution = ENV_VAR_PATTERN.test(obj);\n const substituted = envVariableSubstitution(obj);\n return hasSubstitution ? yamlCoerce(substituted) : substituted;\n }\n if (Array.isArray(obj)) {\n return obj.map(substituteEnvVars);\n }\n if (typeof obj === 'object' && obj !== null) {\n return Object.fromEntries(\n Object.entries(obj).map(([k, v]) => [k, substituteEnvVars(v)])\n );\n }\n return obj;\n}\n\n/**\n * Re-coerce a string value to its YAML-equivalent primitive type.\n * Env var substitution always returns strings; this converts them back\n * to booleans/numbers/null where the schema expects those types.\n */\nfunction yamlCoerce(value: string): unknown {\n if (value === 'true') return true;\n if (value === 'false') return false;\n if (value === 'null' || value === '') return null;\n if (/^-?\\d+$/.test(value)) return parseInt(value, 10);\n if (/^-?\\d+\\.\\d+$/.test(value)) return parseFloat(value);\n return value;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FileConfigFactory.js","sourceRoot":"","sources":["../../src/FileConfigFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getStringFromEnv } from '@opentelemetry/core';\nimport * as fs from 'fs';\nimport * as yaml from 'yaml';\nimport type { ConfigFactory } from './IConfigFactory';\nimport { substituteEnvVars } from './utils';\nimport type {\n BatchLogRecordProcessor,\n BatchSpanProcessor,\n CardinalityLimits,\n ConfigurationModel,\n PeriodicMetricReader,\n} from './generated/types';\n// Pre-compiled ajv validator — eliminates runtime schema compilation on cold start.\n// Generated by `npm run generate:config`; do not import ajv directly here.\nimport * as validateConfig from './generated/validator';\n\nexport class FileConfigFactory implements ConfigFactory {\n private _config: ConfigurationModel;\n\n constructor() {\n this._config = parseConfigFile();\n }\n\n getConfigModel(): ConfigurationModel {\n return this._config;\n }\n}\n\nexport function parseConfigFile(): ConfigurationModel {\n const supportedFileVersionPattern = /^1\\.0$/;\n const configFile = getStringFromEnv('OTEL_CONFIG_FILE') || '';\n const file = fs.readFileSync(configFile, 'utf8');\n\n const doc = yaml.parseDocument(file, { version: '1.2' });\n substituteEnvVars(doc);\n const processed = doc.toJS() as Record<string, unknown>;\n\n const fileFormat = processed?.file_format;\n if (!fileFormat || !supportedFileVersionPattern.test(String(fileFormat))) {\n throw new Error(\n `${configFile}: Unsupported file_format: \"${fileFormat}\". Must match ${supportedFileVersionPattern}.`\n );\n }\n\n const valid = validateConfig(processed);\n if (!valid) {\n let detail: string;\n if (!validateConfig.errors) {\n detail = 'unknown error';\n } else if (validateConfig.errors.length === 1) {\n const err = validateConfig.errors[0];\n detail = `${err.instancePath} ${err.message}`;\n } else {\n const sep = '\\n ';\n detail =\n sep +\n validateConfig.errors\n .map(e => `${e.instancePath} ${e.message}`)\n .join(sep);\n }\n throw new Error(\n `Invalid OpenTelemetry config file: ${configFile}: ${detail}`\n );\n }\n\n const data = processed as unknown as ConfigurationModel;\n\n // Strip file_format from output — it's a meta-field, not a config value\n delete (data as Record<string, unknown>)['file_format'];\n\n applyConfigDefaults(data);\n mergeAttributesList(data);\n mergeCompositeList(data);\n applyBatchProcessorDefaults(data);\n applyPeriodicReaderDefaults(data);\n applyOtlpHttpEncodingDefaults(data);\n\n return data;\n}\n\n/**\n * Apply default encoding ('protobuf') to all otlp_http exporters in the config\n * where encoding was not explicitly specified. The spec defines protobuf as the\n * default encoding for OTLP HTTP exporters.\n */\nfunction applyOtlpHttpEncodingDefaults(data: ConfigurationModel): void {\n const applyEncoding = (\n exporter: { encoding?: string | null } | null | undefined\n ) => {\n if (exporter && exporter.encoding == null) {\n exporter.encoding = 'protobuf';\n }\n };\n\n for (const processor of data.tracer_provider?.processors ?? []) {\n applyEncoding(processor.batch?.exporter?.otlp_http);\n applyEncoding(processor.simple?.exporter?.otlp_http);\n }\n\n for (const reader of data.meter_provider?.readers ?? []) {\n applyEncoding(reader.periodic?.exporter?.otlp_http);\n }\n\n for (const processor of data.logger_provider?.processors ?? []) {\n applyEncoding(processor.batch?.exporter?.otlp_http);\n applyEncoding(processor.simple?.exporter?.otlp_http);\n }\n}\n\n/**\n * Merge resource.attributes_list (comma-separated key=value pairs) into\n * resource.attributes, with entries already in attributes taking precedence.\n */\nfunction mergeAttributesList(data: ConfigurationModel): void {\n const resource = data.resource;\n const list = resource?.attributes_list;\n if (typeof list !== 'string' || !list.trim()) return;\n\n if (resource!.attributes == null) {\n resource!.attributes = [];\n }\n\n const existingKeys = new Set(\n resource!.attributes.map((a: { name: string }) => a.name)\n );\n\n for (const pair of list.split(',')) {\n const eqIdx = pair.indexOf('=');\n if (eqIdx > 0) {\n const key = pair.slice(0, eqIdx).trim();\n const value = pair.slice(eqIdx + 1).trim();\n if (key && !existingKeys.has(key)) {\n resource!.attributes.push({ name: key, value, type: 'string' });\n }\n }\n }\n}\n\n/**\n * Merge propagator.composite_list (comma-separated propagator names) into\n * propagator.composite, with entries already in composite taking precedence.\n */\nfunction mergeCompositeList(data: ConfigurationModel): void {\n const propagator = data.propagator;\n const list = propagator?.composite_list;\n if (typeof list !== 'string' || !list.trim()) return;\n\n if (propagator!.composite == null) {\n propagator!.composite = [];\n }\n\n const existingNames = new Set(\n (propagator!.composite as Array<Record<string, unknown>>).map(\n entry => Object.keys(entry)[0]\n )\n );\n\n for (const name of list.split(',')) {\n const trimmed = name.trim();\n if (trimmed && !existingNames.has(trimmed)) {\n (propagator!.composite as Array<Record<string, unknown>>).push({\n [trimmed]: {},\n });\n }\n }\n}\n\n/**\n * Apply spec-defined defaults for batch span/log-record processor fields that\n * are not encoded in the JSON schema.\n */\nfunction applyBatchProcessorDefaults(data: ConfigurationModel): void {\n const applyDefaults = (\n batch: BatchSpanProcessor | BatchLogRecordProcessor\n ) => {\n if (batch.schedule_delay == null) batch.schedule_delay = 5000;\n if (batch.export_timeout == null) batch.export_timeout = 30000;\n if (batch.max_queue_size == null) batch.max_queue_size = 2048;\n if (batch.max_export_batch_size == null) batch.max_export_batch_size = 512;\n };\n\n for (const processor of data.tracer_provider?.processors ?? []) {\n if (processor.batch) applyDefaults(processor.batch);\n }\n for (const processor of data.logger_provider?.processors ?? []) {\n if (processor.batch) applyDefaults(processor.batch);\n }\n}\n\n/**\n * Apply spec-defined defaults for periodic metric reader fields.\n */\nfunction applyPeriodicReaderDefaults(data: ConfigurationModel): void {\n for (const reader of data.meter_provider?.readers ?? []) {\n const periodic = reader.periodic as PeriodicMetricReader | undefined;\n if (!periodic) continue;\n if (periodic.interval == null) periodic.interval = 60000;\n if (periodic.timeout == null) periodic.timeout = 30000;\n if (periodic.cardinality_limits == null) {\n periodic.cardinality_limits = { default: 2000 } as CardinalityLimits;\n }\n }\n}\n\n/**\n * Apply spec-defined defaults that are not encoded in the JSON schema.\n * Both FileConfigFactory and EnvironmentConfigFactory apply the same defaults\n * so consumers see consistent behaviour regardless of config source.\n */\nfunction applyConfigDefaults(data: ConfigurationModel): void {\n if (data.disabled == null) {\n data.disabled = false;\n }\n if (data.log_level == null) {\n data.log_level = 'info';\n }\n if (data.attribute_limits == null) {\n data.attribute_limits = { attribute_count_limit: 128 };\n } else if (data.attribute_limits.attribute_count_limit == null) {\n data.attribute_limits.attribute_count_limit = 128;\n }\n}\n"]}
|