@openclaw/diagnostics-otel 2026.6.8 → 2026.6.9-beta.1
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/dist/index.js +98 -0
- 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/package.json +13 -13
- 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
|
@@ -9,7 +9,10 @@ export declare class LogRecordImpl implements ReadableLogRecord {
|
|
|
9
9
|
readonly hrTimeObserved: api.HrTime;
|
|
10
10
|
readonly spanContext?: api.SpanContext;
|
|
11
11
|
readonly resource: Resource;
|
|
12
|
-
readonly instrumentationScope: InstrumentationScope
|
|
12
|
+
readonly instrumentationScope: InstrumentationScope & {
|
|
13
|
+
attributes?: LogAttributes;
|
|
14
|
+
droppedAttributesCount?: number;
|
|
15
|
+
};
|
|
13
16
|
readonly attributes: LogAttributes;
|
|
14
17
|
private _severityText?;
|
|
15
18
|
private _severityNumber?;
|
|
@@ -41,9 +44,7 @@ export declare class LogRecordImpl implements ReadableLogRecord {
|
|
|
41
44
|
* If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.
|
|
42
45
|
*/
|
|
43
46
|
_makeReadonly(): void;
|
|
44
|
-
private _truncateToSize;
|
|
45
47
|
private _setException;
|
|
46
|
-
private _truncateToLimitUtil;
|
|
47
48
|
private _isLogRecordReadonly;
|
|
48
49
|
}
|
|
49
50
|
//# sourceMappingURL=LogRecordImpl.d.ts.map
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as api from '@opentelemetry/api';
|
|
6
6
|
import { timeInputToHrTime } from '@opentelemetry/core';
|
|
7
7
|
import { ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, } from '@opentelemetry/semantic-conventions';
|
|
8
|
-
import {
|
|
8
|
+
import { addAttribute, AddAttributeDecision } from './utils/validation';
|
|
9
9
|
export class LogRecordImpl {
|
|
10
10
|
hrTime;
|
|
11
11
|
hrTimeObserved;
|
|
@@ -87,26 +87,15 @@ export class LogRecordImpl {
|
|
|
87
87
|
if (this._isLogRecordReadonly()) {
|
|
88
88
|
return this;
|
|
89
89
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return this;
|
|
93
|
-
}
|
|
94
|
-
if (!isLogAttributeValue(value)) {
|
|
95
|
-
api.diag.warn(`Invalid attribute value set for key: ${key}`);
|
|
96
|
-
return this;
|
|
97
|
-
}
|
|
98
|
-
const isNewKey = !Object.prototype.hasOwnProperty.call(this.attributes, key);
|
|
99
|
-
if (isNewKey &&
|
|
100
|
-
this._attributesCount >= this._logRecordLimits.attributeCountLimit) {
|
|
90
|
+
const decision = addAttribute(this.attributes, this._logRecordLimits, this._attributesCount, key, value);
|
|
91
|
+
if (decision === AddAttributeDecision.DROP_LIMIT_REACHED) {
|
|
101
92
|
this._droppedAttributesCount++;
|
|
102
|
-
// Only warn once per LogRecord to avoid log spam
|
|
103
93
|
if (this._droppedAttributesCount === 1) {
|
|
94
|
+
// Only warn once per LogRecord to avoid log spam
|
|
104
95
|
api.diag.warn('Dropping extra attributes.');
|
|
105
96
|
}
|
|
106
|
-
return this;
|
|
107
97
|
}
|
|
108
|
-
|
|
109
|
-
if (isNewKey) {
|
|
98
|
+
else if (decision === AddAttributeDecision.ADD_NEW) {
|
|
110
99
|
this._attributesCount++;
|
|
111
100
|
}
|
|
112
101
|
return this;
|
|
@@ -141,41 +130,6 @@ export class LogRecordImpl {
|
|
|
141
130
|
_makeReadonly() {
|
|
142
131
|
this._isReadonly = true;
|
|
143
132
|
}
|
|
144
|
-
_truncateToSize(value) {
|
|
145
|
-
const limit = this._logRecordLimits.attributeValueLengthLimit;
|
|
146
|
-
// Check limit
|
|
147
|
-
if (limit <= 0) {
|
|
148
|
-
// Negative values are invalid, so do not truncate
|
|
149
|
-
api.diag.warn(`Attribute value limit must be positive, got ${limit}`);
|
|
150
|
-
return value;
|
|
151
|
-
}
|
|
152
|
-
// null/undefined - no truncation needed
|
|
153
|
-
if (value == null) {
|
|
154
|
-
return value;
|
|
155
|
-
}
|
|
156
|
-
// String
|
|
157
|
-
if (typeof value === 'string') {
|
|
158
|
-
return this._truncateToLimitUtil(value, limit);
|
|
159
|
-
}
|
|
160
|
-
// Byte arrays - no truncation needed
|
|
161
|
-
if (value instanceof Uint8Array) {
|
|
162
|
-
return value;
|
|
163
|
-
}
|
|
164
|
-
// Arrays (can contain any AnyValue types)
|
|
165
|
-
if (Array.isArray(value)) {
|
|
166
|
-
return value.map(val => this._truncateToSize(val));
|
|
167
|
-
}
|
|
168
|
-
// Objects/Maps - recursively truncate nested values
|
|
169
|
-
if (typeof value === 'object') {
|
|
170
|
-
const truncatedObj = {};
|
|
171
|
-
for (const [k, v] of Object.entries(value)) {
|
|
172
|
-
truncatedObj[k] = this._truncateToSize(v);
|
|
173
|
-
}
|
|
174
|
-
return truncatedObj;
|
|
175
|
-
}
|
|
176
|
-
// Other types (number, boolean), no need to apply value length limit
|
|
177
|
-
return value;
|
|
178
|
-
}
|
|
179
133
|
_setException(exception) {
|
|
180
134
|
let hasMinimumAttributes = false;
|
|
181
135
|
if (typeof exception === 'string' || typeof exception === 'number') {
|
|
@@ -215,12 +169,6 @@ export class LogRecordImpl {
|
|
|
215
169
|
api.diag.warn(`Failed to record an exception ${exception}`);
|
|
216
170
|
}
|
|
217
171
|
}
|
|
218
|
-
_truncateToLimitUtil(value, limit) {
|
|
219
|
-
if (value.length <= limit) {
|
|
220
|
-
return value;
|
|
221
|
-
}
|
|
222
|
-
return value.substring(0, limit);
|
|
223
|
-
}
|
|
224
172
|
_isLogRecordReadonly() {
|
|
225
173
|
if (this._isReadonly) {
|
|
226
174
|
api.diag.warn('Can not execute the operation on emitted log record');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogRecordImpl.js","sourceRoot":"","sources":["../../src/LogRecordImpl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,OAAO,aAAa;IACf,MAAM,CAAa;IACnB,cAAc,CAAa;IAC3B,WAAW,CAAmB;IAC9B,QAAQ,CAAW;IACnB,oBAAoB,CAAuB;IAC3C,UAAU,GAAkB,EAAE,CAAC;IAChC,aAAa,CAAU;IACvB,eAAe,CAAkB;IACjC,KAAK,CAAW;IAChB,UAAU,CAAU;IACpB,gBAAgB,GAAW,CAAC,CAAC;IAC7B,uBAAuB,GAAW,CAAC,CAAC;IAEpC,WAAW,GAAY,KAAK,CAAC;IACpB,gBAAgB,CAA4B;IAE7D,IAAI,YAAY,CAAC,YAAgC;QAC/C,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc,CAAC,cAA0C;QAC3D,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAyB;QAChC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAA6B;QACzC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,YACE,YAAuC,EACvC,oBAA0C,EAC1C,SAAoB;QAEpB,MAAM,EACJ,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,UAAU,GAAG,EAAE,EACf,SAAS,EACT,OAAO,GACR,GAAG,SAAS,CAAC;QAEd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;QAElE,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,WAAW,IAAI,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;gBACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;aAChC;SACF;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,eAAe,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAC/B;IACH,CAAC;IAEM,YAAY,CAAC,GAAW,EAAE,KAAgB;QAC/C,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;SACb;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACpD,IAAI,CAAC,UAAU,EACf,GAAG,CACJ,CAAC;QACF,IACE,QAAQ;YACR,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAClE;YACA,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,iDAAiD;YACjD,IAAI,IAAI,CAAC,uBAAuB,KAAK,CAAC,EAAE;gBACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;aAC7C;YACD,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa,CAAC,UAAyB;QAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,IAAa;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,SAAiB;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,cAA8B;QACrD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,eAAe,CAAC,YAAoB;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,eAAe,CAAC,KAAe;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;QAC9D,cAAc;QACd,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,kDAAkD;YAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,+CAA+C,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;SACd;QAED,wCAAwC;QACxC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QAED,SAAS;QACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAChD;QAED,qCAAqC;QACrC,IAAI,KAAK,YAAY,UAAU,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,0CAA0C;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SACpD;QAED,oDAAoD;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,YAAY,GAA6B,EAAE,CAAC;YAClD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAiC,CAAC,EAAE;gBACtE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAC3C;YACD,OAAO,YAAY,CAAC;SACrB;QAED,qEAAqE;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,SAAkB;QACtC,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAClE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAAE;gBAC3D,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;aAC9D;YACD,oBAAoB,GAAG,IAAI,CAAC;SAC7B;aAAM,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACrD,MAAM,YAAY,GAAG,SAKpB,CAAC;YAEF,IAAI,YAAY,CAAC,IAAI,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAAE;oBACxD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACtE;gBACD,oBAAoB,GAAG,IAAI,CAAC;aAC7B;iBAAM,IAAI,YAAY,CAAC,IAAI,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAAE;oBACxD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;iBAC3D;gBACD,oBAAoB,GAAG,IAAI,CAAC;aAC7B;YAED,IAAI,YAAY,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAAE;oBAC3D,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;iBACjE;gBACD,oBAAoB,GAAG,IAAI,CAAC;aAC7B;YAED,IAAI,YAAY,CAAC,KAAK,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,EAAE;oBAC9D,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;iBAClE;gBACD,oBAAoB,GAAG,IAAI,CAAC;aAC7B;SACF;QAED,IAAI,CAAC,oBAAoB,EAAE;YACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;SAC7D;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAa,EAAE,KAAa;QACvD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;SACtE;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AnyValue,\n LogAttributes,\n LogBody,\n LogRecord,\n SeverityNumber,\n} from '@opentelemetry/api-logs';\nimport * as api from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport { timeInputToHrTime } from '@opentelemetry/core';\nimport type { Resource } from '@opentelemetry/resources';\nimport {\n ATTR_EXCEPTION_MESSAGE,\n ATTR_EXCEPTION_STACKTRACE,\n ATTR_EXCEPTION_TYPE,\n} from '@opentelemetry/semantic-conventions';\nimport type { ReadableLogRecord } from './export/ReadableLogRecord';\nimport type { LogRecordLimits } from './types';\nimport { isLogAttributeValue } from './utils/validation';\nimport type { LoggerProviderSharedState } from './internal/LoggerProviderSharedState';\n\nexport class LogRecordImpl implements ReadableLogRecord {\n readonly hrTime: api.HrTime;\n readonly hrTimeObserved: api.HrTime;\n readonly spanContext?: api.SpanContext;\n readonly resource: Resource;\n readonly instrumentationScope: InstrumentationScope;\n readonly attributes: LogAttributes = {};\n private _severityText?: string;\n private _severityNumber?: SeverityNumber;\n private _body?: LogBody;\n private _eventName?: string;\n private _attributesCount: number = 0;\n private _droppedAttributesCount: number = 0;\n\n private _isReadonly: boolean = false;\n private readonly _logRecordLimits: Required<LogRecordLimits>;\n\n set severityText(severityText: string | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityText = severityText;\n }\n get severityText(): string | undefined {\n return this._severityText;\n }\n\n set severityNumber(severityNumber: SeverityNumber | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityNumber = severityNumber;\n }\n get severityNumber(): SeverityNumber | undefined {\n return this._severityNumber;\n }\n\n set body(body: LogBody | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._body = body;\n }\n get body(): LogBody | undefined {\n return this._body;\n }\n\n get eventName(): string | undefined {\n return this._eventName;\n }\n set eventName(eventName: string | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._eventName = eventName;\n }\n\n get droppedAttributesCount(): number {\n return this._droppedAttributesCount;\n }\n\n constructor(\n _sharedState: LoggerProviderSharedState,\n instrumentationScope: InstrumentationScope,\n logRecord: LogRecord\n ) {\n const {\n timestamp,\n observedTimestamp,\n eventName,\n severityNumber,\n severityText,\n body,\n attributes = {},\n exception,\n context,\n } = logRecord;\n\n const now = Date.now();\n this.hrTime = timeInputToHrTime(timestamp ?? now);\n this.hrTimeObserved = timeInputToHrTime(observedTimestamp ?? now);\n\n if (context) {\n const spanContext = api.trace.getSpanContext(context);\n if (spanContext && api.isSpanContextValid(spanContext)) {\n this.spanContext = spanContext;\n }\n }\n this.severityNumber = severityNumber;\n this.severityText = severityText;\n this.body = body;\n this.resource = _sharedState.resource;\n this.instrumentationScope = instrumentationScope;\n this._logRecordLimits = _sharedState.logRecordLimits;\n this._eventName = eventName;\n this.setAttributes(attributes);\n if (exception != null) {\n this._setException(exception);\n }\n }\n\n public setAttribute(key: string, value?: AnyValue) {\n if (this._isLogRecordReadonly()) {\n return this;\n }\n if (key.length === 0) {\n api.diag.warn(`Invalid attribute key: ${key}`);\n return this;\n }\n if (!isLogAttributeValue(value)) {\n api.diag.warn(`Invalid attribute value set for key: ${key}`);\n return this;\n }\n const isNewKey = !Object.prototype.hasOwnProperty.call(\n this.attributes,\n key\n );\n if (\n isNewKey &&\n this._attributesCount >= this._logRecordLimits.attributeCountLimit\n ) {\n this._droppedAttributesCount++;\n // Only warn once per LogRecord to avoid log spam\n if (this._droppedAttributesCount === 1) {\n api.diag.warn('Dropping extra attributes.');\n }\n return this;\n }\n this.attributes[key] = this._truncateToSize(value);\n if (isNewKey) {\n this._attributesCount++;\n }\n return this;\n }\n\n public setAttributes(attributes: LogAttributes) {\n for (const [k, v] of Object.entries(attributes)) {\n this.setAttribute(k, v);\n }\n return this;\n }\n\n public setBody(body: LogBody) {\n this.body = body;\n return this;\n }\n\n public setEventName(eventName: string) {\n this.eventName = eventName;\n return this;\n }\n\n public setSeverityNumber(severityNumber: SeverityNumber) {\n this.severityNumber = severityNumber;\n return this;\n }\n\n public setSeverityText(severityText: string) {\n this.severityText = severityText;\n return this;\n }\n\n /**\n * @internal\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n _makeReadonly() {\n this._isReadonly = true;\n }\n\n private _truncateToSize(value: AnyValue): AnyValue {\n const limit = this._logRecordLimits.attributeValueLengthLimit;\n // Check limit\n if (limit <= 0) {\n // Negative values are invalid, so do not truncate\n api.diag.warn(`Attribute value limit must be positive, got ${limit}`);\n return value;\n }\n\n // null/undefined - no truncation needed\n if (value == null) {\n return value;\n }\n\n // String\n if (typeof value === 'string') {\n return this._truncateToLimitUtil(value, limit);\n }\n\n // Byte arrays - no truncation needed\n if (value instanceof Uint8Array) {\n return value;\n }\n\n // Arrays (can contain any AnyValue types)\n if (Array.isArray(value)) {\n return value.map(val => this._truncateToSize(val));\n }\n\n // Objects/Maps - recursively truncate nested values\n if (typeof value === 'object') {\n const truncatedObj: Record<string, AnyValue> = {};\n for (const [k, v] of Object.entries(value as Record<string, AnyValue>)) {\n truncatedObj[k] = this._truncateToSize(v);\n }\n return truncatedObj;\n }\n\n // Other types (number, boolean), no need to apply value length limit\n return value;\n }\n\n private _setException(exception: unknown): void {\n let hasMinimumAttributes = false;\n\n if (typeof exception === 'string' || typeof exception === 'number') {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, String(exception));\n }\n hasMinimumAttributes = true;\n } else if (exception && typeof exception === 'object') {\n const exceptionObj = exception as {\n code?: string | number;\n name?: string;\n message?: string;\n stack?: string;\n };\n\n if (exceptionObj.code) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.code.toString());\n }\n hasMinimumAttributes = true;\n } else if (exceptionObj.name) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.name);\n }\n hasMinimumAttributes = true;\n }\n\n if (exceptionObj.message) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, exceptionObj.message);\n }\n hasMinimumAttributes = true;\n }\n\n if (exceptionObj.stack) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_STACKTRACE)) {\n this.setAttribute(ATTR_EXCEPTION_STACKTRACE, exceptionObj.stack);\n }\n hasMinimumAttributes = true;\n }\n }\n\n if (!hasMinimumAttributes) {\n api.diag.warn(`Failed to record an exception ${exception}`);\n }\n }\n\n private _truncateToLimitUtil(value: string, limit: number): string {\n if (value.length <= limit) {\n return value;\n }\n return value.substring(0, limit);\n }\n\n private _isLogRecordReadonly(): boolean {\n if (this._isReadonly) {\n api.diag.warn('Can not execute the operation on emitted log record');\n }\n return this._isReadonly;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"LogRecordImpl.js","sourceRoot":"","sources":["../../src/LogRecordImpl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AnyValue,\n LogAttributes,\n LogBody,\n LogRecord,\n SeverityNumber,\n} from '@opentelemetry/api-logs';\nimport * as api from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport { timeInputToHrTime } from '@opentelemetry/core';\nimport type { Resource } from '@opentelemetry/resources';\nimport {\n ATTR_EXCEPTION_MESSAGE,\n ATTR_EXCEPTION_STACKTRACE,\n ATTR_EXCEPTION_TYPE,\n} from '@opentelemetry/semantic-conventions';\nimport type { ReadableLogRecord } from './export/ReadableLogRecord';\nimport type { LogRecordLimits } from './types';\nimport type { LoggerProviderSharedState } from './internal/LoggerProviderSharedState';\nimport { addAttribute, AddAttributeDecision } from './utils/validation';\n\nexport class LogRecordImpl implements ReadableLogRecord {\n readonly hrTime: api.HrTime;\n readonly hrTimeObserved: api.HrTime;\n readonly spanContext?: api.SpanContext;\n readonly resource: Resource;\n readonly instrumentationScope: InstrumentationScope & {\n attributes?: LogAttributes;\n droppedAttributesCount?: number;\n };\n readonly attributes: LogAttributes = {};\n private _severityText?: string;\n private _severityNumber?: SeverityNumber;\n private _body?: LogBody;\n private _eventName?: string;\n private _attributesCount: number = 0;\n private _droppedAttributesCount: number = 0;\n\n private _isReadonly: boolean = false;\n private readonly _logRecordLimits: Required<LogRecordLimits>;\n\n set severityText(severityText: string | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityText = severityText;\n }\n get severityText(): string | undefined {\n return this._severityText;\n }\n\n set severityNumber(severityNumber: SeverityNumber | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityNumber = severityNumber;\n }\n get severityNumber(): SeverityNumber | undefined {\n return this._severityNumber;\n }\n\n set body(body: LogBody | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._body = body;\n }\n get body(): LogBody | undefined {\n return this._body;\n }\n\n get eventName(): string | undefined {\n return this._eventName;\n }\n set eventName(eventName: string | undefined) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._eventName = eventName;\n }\n\n get droppedAttributesCount(): number {\n return this._droppedAttributesCount;\n }\n\n constructor(\n _sharedState: LoggerProviderSharedState,\n instrumentationScope: InstrumentationScope,\n logRecord: LogRecord\n ) {\n const {\n timestamp,\n observedTimestamp,\n eventName,\n severityNumber,\n severityText,\n body,\n attributes = {},\n exception,\n context,\n } = logRecord;\n\n const now = Date.now();\n this.hrTime = timeInputToHrTime(timestamp ?? now);\n this.hrTimeObserved = timeInputToHrTime(observedTimestamp ?? now);\n\n if (context) {\n const spanContext = api.trace.getSpanContext(context);\n if (spanContext && api.isSpanContextValid(spanContext)) {\n this.spanContext = spanContext;\n }\n }\n this.severityNumber = severityNumber;\n this.severityText = severityText;\n this.body = body;\n this.resource = _sharedState.resource;\n this.instrumentationScope = instrumentationScope;\n this._logRecordLimits = _sharedState.logRecordLimits;\n this._eventName = eventName;\n this.setAttributes(attributes);\n if (exception != null) {\n this._setException(exception);\n }\n }\n\n public setAttribute(key: string, value?: AnyValue) {\n if (this._isLogRecordReadonly()) {\n return this;\n }\n\n const decision = addAttribute(\n this.attributes,\n this._logRecordLimits,\n this._attributesCount,\n key,\n value\n );\n\n if (decision === AddAttributeDecision.DROP_LIMIT_REACHED) {\n this._droppedAttributesCount++;\n if (this._droppedAttributesCount === 1) {\n // Only warn once per LogRecord to avoid log spam\n api.diag.warn('Dropping extra attributes.');\n }\n } else if (decision === AddAttributeDecision.ADD_NEW) {\n this._attributesCount++;\n }\n\n return this;\n }\n\n public setAttributes(attributes: LogAttributes) {\n for (const [k, v] of Object.entries(attributes)) {\n this.setAttribute(k, v);\n }\n return this;\n }\n\n public setBody(body: LogBody) {\n this.body = body;\n return this;\n }\n\n public setEventName(eventName: string) {\n this.eventName = eventName;\n return this;\n }\n\n public setSeverityNumber(severityNumber: SeverityNumber) {\n this.severityNumber = severityNumber;\n return this;\n }\n\n public setSeverityText(severityText: string) {\n this.severityText = severityText;\n return this;\n }\n\n /**\n * @internal\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n _makeReadonly() {\n this._isReadonly = true;\n }\n\n private _setException(exception: unknown): void {\n let hasMinimumAttributes = false;\n\n if (typeof exception === 'string' || typeof exception === 'number') {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, String(exception));\n }\n hasMinimumAttributes = true;\n } else if (exception && typeof exception === 'object') {\n const exceptionObj = exception as {\n code?: string | number;\n name?: string;\n message?: string;\n stack?: string;\n };\n\n if (exceptionObj.code) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.code.toString());\n }\n hasMinimumAttributes = true;\n } else if (exceptionObj.name) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.name);\n }\n hasMinimumAttributes = true;\n }\n\n if (exceptionObj.message) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, exceptionObj.message);\n }\n hasMinimumAttributes = true;\n }\n\n if (exceptionObj.stack) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_STACKTRACE)) {\n this.setAttribute(ATTR_EXCEPTION_STACKTRACE, exceptionObj.stack);\n }\n hasMinimumAttributes = true;\n }\n }\n\n if (!hasMinimumAttributes) {\n api.diag.warn(`Failed to record an exception ${exception}`);\n }\n }\n\n private _isLogRecordReadonly(): boolean {\n if (this._isReadonly) {\n api.diag.warn('Can not execute the operation on emitted log record');\n }\n return this._isReadonly;\n }\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Logger as ILogger, LogRecord } from '@opentelemetry/api-logs';
|
|
2
2
|
import { SeverityNumber } from '@opentelemetry/api-logs';
|
|
3
|
-
import type { InstrumentationScope } from '@opentelemetry/core';
|
|
4
3
|
import type { Context } from '@opentelemetry/api';
|
|
5
4
|
import type { LoggerProviderSharedState } from './internal/LoggerProviderSharedState';
|
|
5
|
+
import type { LogInstrumentationScope } from './internal/utils';
|
|
6
6
|
export declare class Logger implements ILogger {
|
|
7
|
-
readonly
|
|
8
|
-
private _sharedState;
|
|
7
|
+
private readonly _instrumentationScope;
|
|
8
|
+
private readonly _sharedState;
|
|
9
9
|
private readonly _loggerConfig;
|
|
10
|
-
constructor(instrumentationScope:
|
|
10
|
+
constructor(instrumentationScope: LogInstrumentationScope, sharedState: LoggerProviderSharedState);
|
|
11
11
|
emit(logRecord: LogRecord): void;
|
|
12
12
|
enabled(options?: {
|
|
13
13
|
context?: Context;
|
|
@@ -6,16 +6,16 @@ import { SeverityNumber } from '@opentelemetry/api-logs';
|
|
|
6
6
|
import { context, trace, TraceFlags, isSpanContextValid, } from '@opentelemetry/api';
|
|
7
7
|
import { LogRecordImpl } from './LogRecordImpl';
|
|
8
8
|
export class Logger {
|
|
9
|
-
|
|
9
|
+
_instrumentationScope;
|
|
10
10
|
_sharedState;
|
|
11
11
|
_loggerConfig;
|
|
12
12
|
constructor(instrumentationScope, sharedState) {
|
|
13
|
-
this.
|
|
13
|
+
this._instrumentationScope = instrumentationScope;
|
|
14
14
|
this._sharedState = sharedState;
|
|
15
15
|
// Cache the logger configuration at construction time
|
|
16
16
|
// Since we don't support re-configuration, this avoids map lookups
|
|
17
17
|
// and string allocations on each emit() call
|
|
18
|
-
this._loggerConfig = this._sharedState.getLoggerConfig(this.
|
|
18
|
+
this._loggerConfig = this._sharedState.getLoggerConfig(this._instrumentationScope);
|
|
19
19
|
}
|
|
20
20
|
emit(logRecord) {
|
|
21
21
|
const currentContext = logRecord.context || context.active();
|
|
@@ -27,7 +27,7 @@ export class Logger {
|
|
|
27
27
|
* the LogRecords it emits MUST automatically include the Trace Context from the active Context,
|
|
28
28
|
* if Context has not been explicitly set.
|
|
29
29
|
*/
|
|
30
|
-
const logRecordInstance = new LogRecordImpl(this._sharedState, this.
|
|
30
|
+
const logRecordInstance = new LogRecordImpl(this._sharedState, this._instrumentationScope, {
|
|
31
31
|
context: currentContext,
|
|
32
32
|
...logRecord,
|
|
33
33
|
});
|
|
@@ -69,7 +69,7 @@ export class Logger {
|
|
|
69
69
|
// Lastly check if there is any enabled processor
|
|
70
70
|
const enabledOpts = {
|
|
71
71
|
context: currentContext,
|
|
72
|
-
instrumentationScope: this.
|
|
72
|
+
instrumentationScope: this._instrumentationScope,
|
|
73
73
|
severityNumber: options?.severityNumber,
|
|
74
74
|
eventName: options?.eventName,
|
|
75
75
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EACL,OAAO,EACP,KAAK,EACL,UAAU,EACV,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,MAAM,OAAO,MAAM;IACA,qBAAqB,CAA0B;IAC/C,YAAY,CAA4B;IACxC,aAAa,CAAyB;IAEvD,YACE,oBAA6C,EAC7C,WAAsC;QAEtC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,sDAAsD;QACtD,mEAAmE;QACnE,6CAA6C;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CACpD,IAAI,CAAC,qBAAqB,CAC3B,CAAC;IACJ,CAAC;IAEM,IAAI,CAAC,SAAoB;QAC9B,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO;SACR;QAED;;;;WAIG;QACH,MAAM,iBAAiB,GAAG,IAAI,aAAa,CACzC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,qBAAqB,EAC1B;YACE,OAAO,EAAE,cAAc;YACvB,GAAG,SAAS;SACb,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1C;;;WAGG;QACH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC5E;;;WAGG;QACH,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAEM,OAAO,CAAC,OAId;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QAExC,IAAI,YAAY,CAAC,QAAQ,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;QAED,0DAA0D;QAC1D,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,CAAC;QAC/C,IACE,OAAO,cAAc,KAAK,QAAQ;YAClC,cAAc,KAAK,cAAc,CAAC,WAAW;YAC7C,cAAc,GAAG,YAAY,CAAC,eAAe,EAC7C;YACA,OAAO,KAAK,CAAC;SACd;QAED,MAAM,cAAc,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5D,sEAAsE;QACtE,IAAI,YAAY,CAAC,UAAU,EAAE;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,WAAW,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE;gBAClD,MAAM,SAAS,GACb,CAAC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC;gBACvE,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,cAAc;YACvB,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;YAChD,cAAc,EAAE,OAAO,EAAE,cAAc;YACvC,SAAS,EAAE,OAAO,EAAE,SAAS;SAC9B,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YACpD,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACxD,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Logger as ILogger, LogRecord } from '@opentelemetry/api-logs';\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Context } from '@opentelemetry/api';\nimport {\n context,\n trace,\n TraceFlags,\n isSpanContextValid,\n} from '@opentelemetry/api';\n\nimport { LogRecordImpl } from './LogRecordImpl';\nimport type { LoggerProviderSharedState } from './internal/LoggerProviderSharedState';\nimport type { LoggerConfig } from './types';\nimport type { LogInstrumentationScope } from './internal/utils';\n\nexport class Logger implements ILogger {\n private readonly _instrumentationScope: LogInstrumentationScope;\n private readonly _sharedState: LoggerProviderSharedState;\n private readonly _loggerConfig: Required<LoggerConfig>;\n\n constructor(\n instrumentationScope: LogInstrumentationScope,\n sharedState: LoggerProviderSharedState\n ) {\n this._instrumentationScope = instrumentationScope;\n this._sharedState = sharedState;\n // Cache the logger configuration at construction time\n // Since we don't support re-configuration, this avoids map lookups\n // and string allocations on each emit() call\n this._loggerConfig = this._sharedState.getLoggerConfig(\n this._instrumentationScope\n );\n }\n\n public emit(logRecord: LogRecord): void {\n const currentContext = logRecord.context || context.active();\n if (!this.enabled(logRecord)) {\n return;\n }\n\n /**\n * If a Logger was obtained with include_trace_context=true,\n * the LogRecords it emits MUST automatically include the Trace Context from the active Context,\n * if Context has not been explicitly set.\n */\n const logRecordInstance = new LogRecordImpl(\n this._sharedState,\n this._instrumentationScope,\n {\n context: currentContext,\n ...logRecord,\n }\n );\n this._sharedState.loggerMetrics.emitLog();\n /**\n * the explicitly passed Context,\n * the current Context, or an empty Context if the Logger was obtained with include_trace_context=false\n */\n this._sharedState.activeProcessor.onEmit(logRecordInstance, currentContext);\n /**\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n logRecordInstance._makeReadonly();\n }\n\n public enabled(options?: {\n context?: Context;\n severityNumber?: SeverityNumber;\n eventName?: string;\n }): boolean {\n const loggerConfig = this._loggerConfig;\n\n if (loggerConfig.disabled) {\n return false;\n }\n\n // Severity number given and lower than the min configured\n const severityNumber = options?.severityNumber;\n if (\n typeof severityNumber === 'number' &&\n severityNumber !== SeverityNumber.UNSPECIFIED &&\n severityNumber < loggerConfig.minimumSeverity\n ) {\n return false;\n }\n\n const currentContext = options?.context || context.active();\n // Trace based: the context (given or the active) has a unsampled Span\n if (loggerConfig.traceBased) {\n const spanContext = trace.getSpanContext(currentContext);\n if (spanContext && isSpanContextValid(spanContext)) {\n const isSampled =\n (spanContext.traceFlags & TraceFlags.SAMPLED) === TraceFlags.SAMPLED;\n if (!isSampled) {\n return false;\n }\n }\n }\n\n // Lastly check if there is any enabled processor\n const enabledOpts = {\n context: currentContext,\n instrumentationScope: this._instrumentationScope,\n severityNumber: options?.severityNumber,\n eventName: options?.eventName,\n };\n for (const processor of this._sharedState.processors) {\n if (!processor.enabled || processor.enabled(enabledOpts)) {\n return true;\n }\n }\n return false;\n }\n}\n"]}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { diag } from '@opentelemetry/api';
|
|
6
|
-
import {
|
|
6
|
+
import { createNoopLogger } from '@opentelemetry/api-logs';
|
|
7
7
|
import { defaultResource } from '@opentelemetry/resources';
|
|
8
8
|
import { BindOnceFuture } from '@opentelemetry/core';
|
|
9
9
|
import { Logger } from './Logger';
|
|
10
10
|
import { DEFAULT_LOGGER_CONFIGURATOR, LoggerProviderSharedState, } from './internal/LoggerProviderSharedState';
|
|
11
|
+
import { getInstrumentationScopeKey, } from './internal/utils';
|
|
12
|
+
import { normalizeScopeAttributes } from './utils/validation';
|
|
11
13
|
export const DEFAULT_LOGGER_NAME = 'unknown';
|
|
12
14
|
export class LoggerProvider {
|
|
13
15
|
_shutdownOnce;
|
|
@@ -33,17 +35,22 @@ export class LoggerProvider {
|
|
|
33
35
|
getLogger(name, version, options) {
|
|
34
36
|
if (this._shutdownOnce.isCalled) {
|
|
35
37
|
diag.warn('A shutdown LoggerProvider cannot provide a Logger');
|
|
36
|
-
return
|
|
38
|
+
return createNoopLogger();
|
|
37
39
|
}
|
|
38
40
|
if (!name) {
|
|
39
41
|
diag.warn('Logger requested without instrumentation scope name.');
|
|
40
42
|
}
|
|
41
43
|
const loggerName = name || DEFAULT_LOGGER_NAME;
|
|
42
|
-
const
|
|
44
|
+
const instrumentationScope = {
|
|
45
|
+
name: loggerName,
|
|
46
|
+
version,
|
|
47
|
+
schemaUrl: options?.schemaUrl,
|
|
48
|
+
...normalizeScopeAttributes(this._sharedState.logRecordLimits, options?.attributes),
|
|
49
|
+
};
|
|
50
|
+
const key = getInstrumentationScopeKey(instrumentationScope);
|
|
43
51
|
if (!this._sharedState.loggers.has(key)) {
|
|
44
|
-
this._sharedState.loggers.set(key, new Logger(
|
|
52
|
+
this._sharedState.loggers.set(key, new Logger(instrumentationScope, this._sharedState));
|
|
45
53
|
}
|
|
46
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
47
54
|
return this._sharedState.loggers.get(key);
|
|
48
55
|
}
|
|
49
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggerProvider.js","sourceRoot":"","sources":["../../src/LoggerProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAM1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LoggerProvider.js","sourceRoot":"","sources":["../../src/LoggerProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\nimport type {\n LoggerProvider as ILoggerProvider,\n LoggerOptions as ILoggerOptions,\n Logger as ILogger,\n} from '@opentelemetry/api-logs';\nimport { createNoopLogger } from '@opentelemetry/api-logs';\nimport { defaultResource } from '@opentelemetry/resources';\nimport { BindOnceFuture } from '@opentelemetry/core';\n\nimport type { LoggerProviderOptions } from './types';\nimport { Logger } from './Logger';\nimport {\n DEFAULT_LOGGER_CONFIGURATOR,\n LoggerProviderSharedState,\n} from './internal/LoggerProviderSharedState';\nimport {\n getInstrumentationScopeKey,\n type LogInstrumentationScope,\n} from './internal/utils';\nimport { normalizeScopeAttributes } from './utils/validation';\n\nexport const DEFAULT_LOGGER_NAME = 'unknown';\n\nexport class LoggerProvider implements ILoggerProvider {\n private _shutdownOnce: BindOnceFuture<void>;\n private readonly _sharedState: LoggerProviderSharedState;\n\n constructor(config: LoggerProviderOptions = {}) {\n const mergedConfig = {\n resource: config.resource ?? defaultResource(),\n forceFlushTimeoutMillis: config.forceFlushTimeoutMillis ?? 30000,\n logRecordLimits: {\n attributeCountLimit: config.logRecordLimits?.attributeCountLimit ?? 128,\n attributeValueLengthLimit:\n config.logRecordLimits?.attributeValueLengthLimit ?? Infinity,\n },\n loggerConfigurator:\n config.loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR,\n processors: config.processors ?? [],\n meterProvider: config.meterProvider,\n };\n this._sharedState = new LoggerProviderSharedState(\n mergedConfig.resource,\n mergedConfig.forceFlushTimeoutMillis,\n mergedConfig.logRecordLimits,\n mergedConfig.processors,\n mergedConfig.loggerConfigurator,\n mergedConfig.meterProvider\n );\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n }\n\n /**\n * Get a logger with the configuration of the LoggerProvider.\n */\n public getLogger(\n name: string,\n version?: string,\n options?: ILoggerOptions\n ): ILogger {\n if (this._shutdownOnce.isCalled) {\n diag.warn('A shutdown LoggerProvider cannot provide a Logger');\n return createNoopLogger();\n }\n\n if (!name) {\n diag.warn('Logger requested without instrumentation scope name.');\n }\n const loggerName = name || DEFAULT_LOGGER_NAME;\n const instrumentationScope: LogInstrumentationScope = {\n name: loggerName,\n version,\n schemaUrl: options?.schemaUrl,\n ...normalizeScopeAttributes(\n this._sharedState.logRecordLimits,\n options?.attributes\n ),\n };\n const key = getInstrumentationScopeKey(instrumentationScope);\n if (!this._sharedState.loggers.has(key)) {\n this._sharedState.loggers.set(\n key,\n new Logger(instrumentationScope, this._sharedState)\n );\n }\n\n return this._sharedState.loggers.get(key)!;\n }\n\n /**\n * Notifies all registered LogRecordProcessor to flush any buffered data.\n *\n * Returns a promise which is resolved when all flushes are complete.\n */\n public forceFlush(): Promise<void> {\n // do not flush after shutdown\n if (this._shutdownOnce.isCalled) {\n diag.warn('invalid attempt to force flush after LoggerProvider shutdown');\n return this._shutdownOnce.promise;\n }\n return this._sharedState.activeProcessor.forceFlush();\n }\n\n /**\n * Flush all buffered data and shut down the LoggerProvider and all registered\n * LogRecordProcessor.\n *\n * Returns a promise which is resolved when all flushes are complete.\n */\n public shutdown(): Promise<void> {\n if (this._shutdownOnce.isCalled) {\n diag.warn('shutdown may only be called once per LoggerProvider');\n return this._shutdownOnce.promise;\n }\n return this._shutdownOnce.call();\n }\n\n private _shutdown(): Promise<void> {\n return this._sharedState.activeProcessor.shutdown();\n }\n}\n"]}
|
package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js
CHANGED
|
@@ -147,11 +147,14 @@ export class BatchLogRecordProcessorBase {
|
|
|
147
147
|
this._finishedLogRecords = [];
|
|
148
148
|
// Clear timer to prevent concurrent exports
|
|
149
149
|
this._clearTimer();
|
|
150
|
-
// Wait for any in-progress export to complete
|
|
151
|
-
|
|
150
|
+
// Wait for any in-progress export to complete. Capture the reference
|
|
151
|
+
// into a local because `_exportOneBatch` may null out `this._currentExport`
|
|
152
|
+
// from its completion handler while we are awaiting below.
|
|
153
|
+
const inFlight = this._currentExport;
|
|
154
|
+
if (inFlight !== null) {
|
|
152
155
|
// speed up execution for current export
|
|
153
156
|
await this._exporter.forceFlush();
|
|
154
|
-
await
|
|
157
|
+
await inFlight.exportCompleted;
|
|
155
158
|
this._currentExport = null;
|
|
156
159
|
}
|
|
157
160
|
// Now flush all batches sequentially to avoid race conditions
|
package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchLogRecordProcessorBase.js","sourceRoot":"","sources":["../../../src/export/BatchLogRecordProcessorBase.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context, diag } from '@opentelemetry/api';\nimport {\n ExportResultCode,\n globalErrorHandler,\n BindOnceFuture,\n suppressTracing,\n} from '@opentelemetry/core';\n\nimport type { BufferConfig } from '../types';\nimport type { SdkLogRecord } from './SdkLogRecord';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\n\n/**\n * Waits for all pending async resources in the log records to be resolved.\n */\nasync function waitForResources(logRecords: SdkLogRecord[]): Promise<void> {\n const pendingResources: Array<Promise<void>> = [];\n for (let i = 0, len = logRecords.length; i < len; i++) {\n const logRecord = logRecords[i];\n if (\n logRecord.resource.asyncAttributesPending &&\n logRecord.resource.waitForAsyncAttributes\n ) {\n pendingResources.push(logRecord.resource.waitForAsyncAttributes());\n }\n }\n\n if (pendingResources != null && pendingResources.length > 0) {\n await Promise.all(pendingResources);\n }\n}\n\n/**\n * Represents an export operation that handles the entire export workflow.\n */\nclass ExportOperation {\n private readonly _exportCompleted: Promise<void>;\n private readonly _exportScheduledPromise: Promise<void>;\n private _exportScheduledResolve!: () => void;\n\n constructor(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number\n ) {\n this._exportScheduledPromise = new Promise<void>(resolve => {\n this._exportScheduledResolve = resolve;\n });\n this._exportCompleted = this._executeExport(\n exporter,\n logRecords,\n exportTimeoutMillis\n );\n }\n\n /** Get the promise that resolves when the export completes */\n get exportCompleted(): Promise<void> {\n return this._exportCompleted;\n }\n\n /** Get the promise that resolves when exporter.export() has been called */\n get exportScheduled(): Promise<void> {\n return this._exportScheduledPromise;\n }\n\n private async _executeExport(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number\n ): Promise<void> {\n try {\n // Wait for all pending resources before exporting\n await waitForResources(logRecords);\n\n // Export with timeout, wrapped in suppressTracing context\n await context.with(suppressTracing(context.active()), async () => {\n return this._exportWithTimeout(\n exporter,\n logRecords,\n exportTimeoutMillis\n );\n });\n } catch (e) {\n // ensure we never reject here, as we may call await after it has already resolved.\n globalErrorHandler(e);\n // resolve, as the error may have occurred before export was scheduled\n this._exportScheduledResolve();\n }\n }\n\n private async _exportWithTimeout(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number\n ): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error('Timeout'));\n }, exportTimeoutMillis);\n\n // Call exporter.export() and immediately resolve exportScheduled\n exporter.export(logRecords, result => {\n clearTimeout(timer);\n if (result.code === ExportResultCode.SUCCESS) {\n resolve();\n } else {\n reject(\n result.error ??\n new Error('BatchLogRecordProcessor: log record export failed')\n );\n }\n });\n\n // Resolve exportScheduled immediately after calling exporter.export()\n this._exportScheduledResolve();\n });\n }\n}\n\nexport abstract class BatchLogRecordProcessorBase<T extends BufferConfig>\n implements LogRecordProcessor\n{\n private readonly _maxExportBatchSize: number;\n private readonly _maxQueueSize: number;\n private readonly _scheduledDelayMillis: number;\n private readonly _exportTimeoutMillis: number;\n private readonly _exporter: LogRecordExporter;\n\n private _currentExport: ExportOperation | null = null;\n private _finishedLogRecords: SdkLogRecord[] = [];\n private _timer: NodeJS.Timeout | number | undefined;\n private _shutdownOnce: BindOnceFuture<void>;\n private _flushing: boolean = false;\n\n constructor(exporter: LogRecordExporter, config?: T) {\n this._exporter = exporter;\n this._maxExportBatchSize = config?.maxExportBatchSize ?? 512;\n this._maxQueueSize = config?.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = config?.scheduledDelayMillis ?? 5000;\n this._exportTimeoutMillis = config?.exportTimeoutMillis ?? 30000;\n\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n\n if (this._maxExportBatchSize > this._maxQueueSize) {\n diag.warn(\n 'BatchLogRecordProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize'\n );\n this._maxExportBatchSize = this._maxQueueSize;\n }\n }\n\n public onEmit(logRecord: SdkLogRecord): void {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n this._addToBuffer(logRecord);\n }\n\n public forceFlush(): Promise<void> {\n if (this._shutdownOnce.isCalled) {\n return this._shutdownOnce.promise;\n }\n return this._flushAll();\n }\n\n /** Add a LogRecord in the buffer. */\n private _addToBuffer(logRecord: SdkLogRecord) {\n if (this._finishedLogRecords.length >= this._maxQueueSize) {\n return;\n }\n this._finishedLogRecords.push(logRecord);\n this._maybeStartTimer();\n }\n\n public shutdown(): Promise<void> {\n return this._shutdownOnce.call();\n }\n\n private async _shutdown(): Promise<void> {\n this.onShutdown();\n await this._flushAll();\n await this._exporter.shutdown();\n }\n\n /**\n * Send all LogRecords to the exporter respecting the batch size limit\n * This function is used only on forceFlush or shutdown,\n * for all other cases _exportOneBatch should be used\n * */\n private async _flushAll(): Promise<void> {\n // Guard against concurrent flushes. Concurrent .forceFlush() calls will\n // return without waiting for the in-progress flush to finish.\n if (this._flushing) {\n return;\n }\n this._flushing = true;\n\n // Grab the current set of finished log records, because the spec says:\n // > ... for which the LogRecordProcessor had already received events prior to the call to ForceFlush ...\n let toFlush = this._finishedLogRecords;\n this._finishedLogRecords = [];\n\n // Clear timer to prevent concurrent exports\n this._clearTimer();\n\n // Wait for any in-progress export to complete\n if (this._currentExport !== null) {\n // speed up execution for current export\n await this._exporter.forceFlush();\n await this._currentExport.exportCompleted;\n this._currentExport = null;\n }\n\n // Now flush all batches sequentially to avoid race conditions\n while (toFlush.length > 0) {\n let batch;\n if (toFlush.length <= this._maxExportBatchSize) {\n batch = toFlush;\n toFlush = [];\n } else {\n batch = toFlush.splice(0, this._maxExportBatchSize);\n }\n\n const exportOp = new ExportOperation(\n this._exporter,\n batch,\n this._exportTimeoutMillis\n );\n this._currentExport = exportOp;\n\n // await export scheduled, then force flush exporter to speed up export\n try {\n await exportOp.exportScheduled;\n await this._exporter.forceFlush();\n await exportOp.exportCompleted;\n } catch (e) {\n globalErrorHandler(e);\n } finally {\n this._currentExport = null;\n }\n }\n\n this._flushing = false;\n this._maybeStartTimer();\n }\n\n /**\n * Extracts one batch from the buffer.\n * Returns null if buffer is empty.\n */\n private _extractBatch(): SdkLogRecord[] | null {\n if (this._finishedLogRecords.length === 0) {\n return null;\n }\n\n if (this._finishedLogRecords.length <= this._maxExportBatchSize) {\n const batch = this._finishedLogRecords;\n this._finishedLogRecords = [];\n return batch;\n } else {\n return this._finishedLogRecords.splice(0, this._maxExportBatchSize);\n }\n }\n\n private _exportOneBatch(): void {\n this._clearTimer();\n\n const logRecords = this._extractBatch();\n if (logRecords === null) {\n return;\n }\n\n const exportOp = new ExportOperation(\n this._exporter,\n logRecords,\n this._exportTimeoutMillis\n );\n this._currentExport = exportOp;\n\n // Handle completion asynchronously\n exportOp.exportCompleted\n .then(() => {\n this._currentExport = null;\n this._maybeStartTimer();\n })\n .catch(error => {\n this._currentExport = null;\n globalErrorHandler(error);\n this._maybeStartTimer();\n });\n }\n\n private _maybeStartTimer() {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n\n if (this._flushing) {\n return;\n }\n\n if (this._finishedLogRecords.length === 0) {\n return;\n }\n\n if (this._currentExport !== null) {\n return;\n }\n\n // If batch is full, export immediately\n if (this._finishedLogRecords.length >= this._maxExportBatchSize) {\n this._exportOneBatch();\n return;\n }\n\n // If timer is already set, don't set another one\n if (this._timer !== undefined) {\n return;\n }\n\n // Set timer for scheduled export\n this._timer = setTimeout(() => {\n this._timer = undefined;\n this._exportOneBatch();\n }, this._scheduledDelayMillis);\n\n // Unref timer so it doesn't keep process alive\n if (typeof this._timer !== 'number') {\n this._timer.unref();\n }\n }\n\n private _clearTimer() {\n if (this._timer !== undefined) {\n clearTimeout(this._timer);\n this._timer = undefined;\n }\n }\n\n protected abstract onShutdown(): void;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BatchLogRecordProcessorBase.js","sourceRoot":"","sources":["../../../src/export/BatchLogRecordProcessorBase.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context, diag } from '@opentelemetry/api';\nimport {\n ExportResultCode,\n globalErrorHandler,\n BindOnceFuture,\n suppressTracing,\n} from '@opentelemetry/core';\n\nimport type { BufferConfig } from '../types';\nimport type { SdkLogRecord } from './SdkLogRecord';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\n\n/**\n * Waits for all pending async resources in the log records to be resolved.\n */\nasync function waitForResources(logRecords: SdkLogRecord[]): Promise<void> {\n const pendingResources: Array<Promise<void>> = [];\n for (let i = 0, len = logRecords.length; i < len; i++) {\n const logRecord = logRecords[i];\n if (\n logRecord.resource.asyncAttributesPending &&\n logRecord.resource.waitForAsyncAttributes\n ) {\n pendingResources.push(logRecord.resource.waitForAsyncAttributes());\n }\n }\n\n if (pendingResources != null && pendingResources.length > 0) {\n await Promise.all(pendingResources);\n }\n}\n\n/**\n * Represents an export operation that handles the entire export workflow.\n */\nclass ExportOperation {\n private readonly _exportCompleted: Promise<void>;\n private readonly _exportScheduledPromise: Promise<void>;\n private _exportScheduledResolve!: () => void;\n\n constructor(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number\n ) {\n this._exportScheduledPromise = new Promise<void>(resolve => {\n this._exportScheduledResolve = resolve;\n });\n this._exportCompleted = this._executeExport(\n exporter,\n logRecords,\n exportTimeoutMillis\n );\n }\n\n /** Get the promise that resolves when the export completes */\n get exportCompleted(): Promise<void> {\n return this._exportCompleted;\n }\n\n /** Get the promise that resolves when exporter.export() has been called */\n get exportScheduled(): Promise<void> {\n return this._exportScheduledPromise;\n }\n\n private async _executeExport(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number\n ): Promise<void> {\n try {\n // Wait for all pending resources before exporting\n await waitForResources(logRecords);\n\n // Export with timeout, wrapped in suppressTracing context\n await context.with(suppressTracing(context.active()), async () => {\n return this._exportWithTimeout(\n exporter,\n logRecords,\n exportTimeoutMillis\n );\n });\n } catch (e) {\n // ensure we never reject here, as we may call await after it has already resolved.\n globalErrorHandler(e);\n // resolve, as the error may have occurred before export was scheduled\n this._exportScheduledResolve();\n }\n }\n\n private async _exportWithTimeout(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number\n ): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error('Timeout'));\n }, exportTimeoutMillis);\n\n // Call exporter.export() and immediately resolve exportScheduled\n exporter.export(logRecords, result => {\n clearTimeout(timer);\n if (result.code === ExportResultCode.SUCCESS) {\n resolve();\n } else {\n reject(\n result.error ??\n new Error('BatchLogRecordProcessor: log record export failed')\n );\n }\n });\n\n // Resolve exportScheduled immediately after calling exporter.export()\n this._exportScheduledResolve();\n });\n }\n}\n\nexport abstract class BatchLogRecordProcessorBase<T extends BufferConfig>\n implements LogRecordProcessor\n{\n private readonly _maxExportBatchSize: number;\n private readonly _maxQueueSize: number;\n private readonly _scheduledDelayMillis: number;\n private readonly _exportTimeoutMillis: number;\n private readonly _exporter: LogRecordExporter;\n\n private _currentExport: ExportOperation | null = null;\n private _finishedLogRecords: SdkLogRecord[] = [];\n private _timer: NodeJS.Timeout | number | undefined;\n private _shutdownOnce: BindOnceFuture<void>;\n private _flushing: boolean = false;\n\n constructor(exporter: LogRecordExporter, config?: T) {\n this._exporter = exporter;\n this._maxExportBatchSize = config?.maxExportBatchSize ?? 512;\n this._maxQueueSize = config?.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = config?.scheduledDelayMillis ?? 5000;\n this._exportTimeoutMillis = config?.exportTimeoutMillis ?? 30000;\n\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n\n if (this._maxExportBatchSize > this._maxQueueSize) {\n diag.warn(\n 'BatchLogRecordProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize'\n );\n this._maxExportBatchSize = this._maxQueueSize;\n }\n }\n\n public onEmit(logRecord: SdkLogRecord): void {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n this._addToBuffer(logRecord);\n }\n\n public forceFlush(): Promise<void> {\n if (this._shutdownOnce.isCalled) {\n return this._shutdownOnce.promise;\n }\n return this._flushAll();\n }\n\n /** Add a LogRecord in the buffer. */\n private _addToBuffer(logRecord: SdkLogRecord) {\n if (this._finishedLogRecords.length >= this._maxQueueSize) {\n return;\n }\n this._finishedLogRecords.push(logRecord);\n this._maybeStartTimer();\n }\n\n public shutdown(): Promise<void> {\n return this._shutdownOnce.call();\n }\n\n private async _shutdown(): Promise<void> {\n this.onShutdown();\n await this._flushAll();\n await this._exporter.shutdown();\n }\n\n /**\n * Send all LogRecords to the exporter respecting the batch size limit\n * This function is used only on forceFlush or shutdown,\n * for all other cases _exportOneBatch should be used\n * */\n private async _flushAll(): Promise<void> {\n // Guard against concurrent flushes. Concurrent .forceFlush() calls will\n // return without waiting for the in-progress flush to finish.\n if (this._flushing) {\n return;\n }\n this._flushing = true;\n\n // Grab the current set of finished log records, because the spec says:\n // > ... for which the LogRecordProcessor had already received events prior to the call to ForceFlush ...\n let toFlush = this._finishedLogRecords;\n this._finishedLogRecords = [];\n\n // Clear timer to prevent concurrent exports\n this._clearTimer();\n\n // Wait for any in-progress export to complete. Capture the reference\n // into a local because `_exportOneBatch` may null out `this._currentExport`\n // from its completion handler while we are awaiting below.\n const inFlight = this._currentExport;\n if (inFlight !== null) {\n // speed up execution for current export\n await this._exporter.forceFlush();\n await inFlight.exportCompleted;\n this._currentExport = null;\n }\n\n // Now flush all batches sequentially to avoid race conditions\n while (toFlush.length > 0) {\n let batch;\n if (toFlush.length <= this._maxExportBatchSize) {\n batch = toFlush;\n toFlush = [];\n } else {\n batch = toFlush.splice(0, this._maxExportBatchSize);\n }\n\n const exportOp = new ExportOperation(\n this._exporter,\n batch,\n this._exportTimeoutMillis\n );\n this._currentExport = exportOp;\n\n // await export scheduled, then force flush exporter to speed up export\n try {\n await exportOp.exportScheduled;\n await this._exporter.forceFlush();\n await exportOp.exportCompleted;\n } catch (e) {\n globalErrorHandler(e);\n } finally {\n this._currentExport = null;\n }\n }\n\n this._flushing = false;\n this._maybeStartTimer();\n }\n\n /**\n * Extracts one batch from the buffer.\n * Returns null if buffer is empty.\n */\n private _extractBatch(): SdkLogRecord[] | null {\n if (this._finishedLogRecords.length === 0) {\n return null;\n }\n\n if (this._finishedLogRecords.length <= this._maxExportBatchSize) {\n const batch = this._finishedLogRecords;\n this._finishedLogRecords = [];\n return batch;\n } else {\n return this._finishedLogRecords.splice(0, this._maxExportBatchSize);\n }\n }\n\n private _exportOneBatch(): void {\n this._clearTimer();\n\n const logRecords = this._extractBatch();\n if (logRecords === null) {\n return;\n }\n\n const exportOp = new ExportOperation(\n this._exporter,\n logRecords,\n this._exportTimeoutMillis\n );\n this._currentExport = exportOp;\n\n // Handle completion asynchronously\n exportOp.exportCompleted\n .then(() => {\n this._currentExport = null;\n this._maybeStartTimer();\n })\n .catch(error => {\n this._currentExport = null;\n globalErrorHandler(error);\n this._maybeStartTimer();\n });\n }\n\n private _maybeStartTimer() {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n\n if (this._flushing) {\n return;\n }\n\n if (this._finishedLogRecords.length === 0) {\n return;\n }\n\n if (this._currentExport !== null) {\n return;\n }\n\n // If batch is full, export immediately\n if (this._finishedLogRecords.length >= this._maxExportBatchSize) {\n this._exportOneBatch();\n return;\n }\n\n // If timer is already set, don't set another one\n if (this._timer !== undefined) {\n return;\n }\n\n // Set timer for scheduled export\n this._timer = setTimeout(() => {\n this._timer = undefined;\n this._exportOneBatch();\n }, this._scheduledDelayMillis);\n\n // Unref timer so it doesn't keep process alive\n if (typeof this._timer !== 'number') {\n this._timer.unref();\n }\n }\n\n private _clearTimer() {\n if (this._timer !== undefined) {\n clearTimeout(this._timer);\n this._timer = undefined;\n }\n }\n\n protected abstract onShutdown(): void;\n}\n"]}
|
|
@@ -16,7 +16,10 @@ export interface ReadableLogRecord {
|
|
|
16
16
|
* MUST be stable across identical scopes, as it is intended be used for efficient scope-based
|
|
17
17
|
* filtering and grouping.
|
|
18
18
|
*/
|
|
19
|
-
readonly instrumentationScope: InstrumentationScope
|
|
19
|
+
readonly instrumentationScope: InstrumentationScope & {
|
|
20
|
+
attributes?: LogAttributes;
|
|
21
|
+
droppedAttributesCount?: number;
|
|
22
|
+
};
|
|
20
23
|
readonly attributes: LogAttributes;
|
|
21
24
|
readonly droppedAttributesCount: number;
|
|
22
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadableLogRecord.js","sourceRoot":"","sources":["../../../src/export/ReadableLogRecord.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Resource } from '@opentelemetry/resources';\nimport type { HrTime, SpanContext } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type {\n LogBody,\n LogAttributes,\n SeverityNumber,\n} from '@opentelemetry/api-logs';\n\nexport interface ReadableLogRecord {\n readonly hrTime: HrTime;\n readonly hrTimeObserved: HrTime;\n readonly spanContext?: SpanContext;\n readonly severityText?: string;\n readonly severityNumber?: SeverityNumber;\n readonly body?: LogBody;\n readonly eventName?: string;\n readonly resource: Resource;\n /**\n * The instrumentation scope associated with this log record. Identity of this object\n * MUST be stable across identical scopes, as it is intended be used for efficient scope-based\n * filtering and grouping.\n */\n readonly instrumentationScope: InstrumentationScope;\n readonly attributes: LogAttributes;\n readonly droppedAttributesCount: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ReadableLogRecord.js","sourceRoot":"","sources":["../../../src/export/ReadableLogRecord.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Resource } from '@opentelemetry/resources';\nimport type { HrTime, SpanContext } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type {\n LogBody,\n LogAttributes,\n SeverityNumber,\n} from '@opentelemetry/api-logs';\n\nexport interface ReadableLogRecord {\n readonly hrTime: HrTime;\n readonly hrTimeObserved: HrTime;\n readonly spanContext?: SpanContext;\n readonly severityText?: string;\n readonly severityNumber?: SeverityNumber;\n readonly body?: LogBody;\n readonly eventName?: string;\n readonly resource: Resource;\n /**\n * The instrumentation scope associated with this log record. Identity of this object\n * MUST be stable across identical scopes, as it is intended be used for efficient scope-based\n * filtering and grouping.\n */\n readonly instrumentationScope: InstrumentationScope & {\n attributes?: LogAttributes;\n droppedAttributesCount?: number;\n };\n readonly attributes: LogAttributes;\n readonly droppedAttributesCount: number;\n}\n"]}
|
|
@@ -16,6 +16,13 @@ export interface SdkLogRecord {
|
|
|
16
16
|
readonly hrTimeObserved: HrTime;
|
|
17
17
|
readonly spanContext?: SpanContext;
|
|
18
18
|
readonly resource: Resource;
|
|
19
|
+
/**
|
|
20
|
+
* The instrumentation scope associated with the log record.
|
|
21
|
+
*
|
|
22
|
+
* Downstream consumers may group exported records by the identity of this
|
|
23
|
+
* object. If a distinct grouping is required, construct a new scope object
|
|
24
|
+
* instead of reusing an existing one.
|
|
25
|
+
*/
|
|
19
26
|
readonly instrumentationScope: InstrumentationScope;
|
|
20
27
|
readonly attributes: LogAttributes;
|
|
21
28
|
severityText?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkLogRecord.js","sourceRoot":"","sources":["../../../src/export/SdkLogRecord.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime, SpanContext } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type {\n AnyValue,\n LogBody,\n LogAttributes,\n SeverityNumber,\n} from '@opentelemetry/api-logs';\nimport type { Resource } from '@opentelemetry/resources';\n\n/**\n * A recording of an event. Typically, the record includes a timestamp indicating when the\n * event happened as well as other data that describes what happened, where it happened, etc.\n *\n * @remarks\n * This interface is **not intended to be implemented by users**.\n * To produce logs, use {@link Logger#emit}. To consume logs, implement {@link LogRecordProcessor#onEmit}.\n * SdkLogRecord instances are created and managed by the SDK.\n */\nexport interface SdkLogRecord {\n readonly hrTime: HrTime;\n readonly hrTimeObserved: HrTime;\n readonly spanContext?: SpanContext;\n readonly resource: Resource;\n readonly instrumentationScope: InstrumentationScope;\n readonly attributes: LogAttributes;\n severityText?: string;\n severityNumber?: SeverityNumber;\n body?: LogBody;\n eventName?: string;\n droppedAttributesCount: number;\n\n /**\n * Sets a single attribute on the log record.\n * @param key The attribute key.\n * @param value The attribute value.\n * @returns The updated SdkLogRecord.\n */\n setAttribute(key: string, value?: AnyValue): SdkLogRecord;\n\n /**\n * Sets multiple attributes on the log record.\n * @param attributes The attributes to set.\n * @returns The updated SdkLogRecord.\n */\n setAttributes(attributes: LogAttributes): SdkLogRecord;\n\n /**\n * Sets the body of the log record.\n * @param body The log body.\n * @returns The updated SdkLogRecord.\n */\n setBody(body: LogBody): SdkLogRecord;\n\n /**\n * Sets the event name for the log record.\n * @param eventName The event name.\n * @returns The updated SdkLogRecord.\n */\n setEventName(eventName: string): SdkLogRecord;\n\n /**\n * Sets the severity number for the log record.\n * @param severityNumber The severity number.\n * @returns The updated SdkLogRecord.\n */\n setSeverityNumber(severityNumber: SeverityNumber): SdkLogRecord;\n\n /**\n * Sets the severity text (log level) for the log record.\n * @param severityText The severity text.\n * @returns The updated SdkLogRecord.\n */\n setSeverityText(severityText: string): SdkLogRecord;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SdkLogRecord.js","sourceRoot":"","sources":["../../../src/export/SdkLogRecord.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime, SpanContext } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type {\n AnyValue,\n LogBody,\n LogAttributes,\n SeverityNumber,\n} from '@opentelemetry/api-logs';\nimport type { Resource } from '@opentelemetry/resources';\n\n/**\n * A recording of an event. Typically, the record includes a timestamp indicating when the\n * event happened as well as other data that describes what happened, where it happened, etc.\n *\n * @remarks\n * This interface is **not intended to be implemented by users**.\n * To produce logs, use {@link Logger#emit}. To consume logs, implement {@link LogRecordProcessor#onEmit}.\n * SdkLogRecord instances are created and managed by the SDK.\n */\nexport interface SdkLogRecord {\n readonly hrTime: HrTime;\n readonly hrTimeObserved: HrTime;\n readonly spanContext?: SpanContext;\n readonly resource: Resource;\n /**\n * The instrumentation scope associated with the log record.\n *\n * Downstream consumers may group exported records by the identity of this\n * object. If a distinct grouping is required, construct a new scope object\n * instead of reusing an existing one.\n */\n readonly instrumentationScope: InstrumentationScope;\n readonly attributes: LogAttributes;\n severityText?: string;\n severityNumber?: SeverityNumber;\n body?: LogBody;\n eventName?: string;\n droppedAttributesCount: number;\n\n /**\n * Sets a single attribute on the log record.\n * @param key The attribute key.\n * @param value The attribute value.\n * @returns The updated SdkLogRecord.\n */\n setAttribute(key: string, value?: AnyValue): SdkLogRecord;\n\n /**\n * Sets multiple attributes on the log record.\n * @param attributes The attributes to set.\n * @returns The updated SdkLogRecord.\n */\n setAttributes(attributes: LogAttributes): SdkLogRecord;\n\n /**\n * Sets the body of the log record.\n * @param body The log body.\n * @returns The updated SdkLogRecord.\n */\n setBody(body: LogBody): SdkLogRecord;\n\n /**\n * Sets the event name for the log record.\n * @param eventName The event name.\n * @returns The updated SdkLogRecord.\n */\n setEventName(eventName: string): SdkLogRecord;\n\n /**\n * Sets the severity number for the log record.\n * @param severityNumber The severity number.\n * @returns The updated SdkLogRecord.\n */\n setSeverityNumber(severityNumber: SeverityNumber): SdkLogRecord;\n\n /**\n * Sets the severity text (log level) for the log record.\n * @param severityText The severity text.\n * @returns The updated SdkLogRecord.\n */\n setSeverityText(severityText: string): SdkLogRecord;\n}\n"]}
|
|
@@ -41,7 +41,6 @@ export class SimpleLogRecordProcessor {
|
|
|
41
41
|
.then(() => {
|
|
42
42
|
// Using TS Non-null assertion operator because exportPromise could not be null in here
|
|
43
43
|
// if waitForAsyncAttributes is not present this code will never be reached
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
45
44
|
this._unresolvedExports.delete(exportPromise);
|
|
46
45
|
return doExport();
|
|
47
46
|
}, globalErrorHandler);
|
package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/SimpleLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,SAAS,CAAoB;IACtC,aAAa,CAAuB;IACpC,kBAAkB,CAAqB;IAE/C,YAAY,QAA2B;QACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,SAAuB,EAAE,QAAkB;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,QAAQ;aACL,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;aACpC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE;gBAC5C,kBAAkB,CAChB,MAAM,CAAC,KAAK;oBACV,IAAI,KAAK,CACP,8DAA8D,MAAM,GAAG,CACxE,CACJ,CAAC;aACH;QACH,CAAC,CAAC;aACD,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE/B,sFAAsF;QACtF,IAAI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE;YAC7C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ;iBACrC,sBAAsB,EAAE,EAAE;iBAC1B,IAAI,CAAC,GAAG,EAAE;gBACT,uFAAuF;gBACvF,2EAA2E;gBAC3E,
|
|
1
|
+
{"version":3,"file":"SimpleLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/SimpleLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAM7B;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,SAAS,CAAoB;IACtC,aAAa,CAAuB;IACpC,kBAAkB,CAAqB;IAE/C,YAAY,QAA2B;QACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrD,CAAC;IAEM,MAAM,CAAC,SAAuB,EAAE,QAAkB;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,QAAQ;aACL,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;aACpC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE;gBAC5C,kBAAkB,CAChB,MAAM,CAAC,KAAK;oBACV,IAAI,KAAK,CACP,8DAA8D,MAAM,GAAG,CACxE,CACJ,CAAC;aACH;QACH,CAAC,CAAC;aACD,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE/B,sFAAsF;QACtF,IAAI,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE;YAC7C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ;iBACrC,sBAAsB,EAAE,EAAE;iBAC1B,IAAI,CAAC,GAAG,EAAE;gBACT,uFAAuF;gBACvF,2EAA2E;gBAC3E,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;gBAC/C,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEzB,+BAA+B;YAC/B,IAAI,aAAa,IAAI,IAAI,EAAE;gBACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC5C;SACF;aAAM;YACL,KAAK,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,8CAA8C;QAC9C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ExportResult } from '@opentelemetry/core';\nimport {\n BindOnceFuture,\n ExportResultCode,\n globalErrorHandler,\n internal,\n} from '@opentelemetry/core';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport type { SdkLogRecord } from './SdkLogRecord';\nimport type { Context } from '@opentelemetry/api';\n\n/**\n * An implementation of the {@link LogRecordProcessor} interface that exports\n * each {@link LogRecord} as it is emitted.\n *\n * NOTE: This {@link LogRecordProcessor} exports every {@link LogRecord}\n * individually instead of batching them together, which can cause significant\n * performance overhead with most exporters. For production use, please consider\n * using the {@link BatchLogRecordProcessor} instead.\n */\nexport class SimpleLogRecordProcessor implements LogRecordProcessor {\n private readonly _exporter: LogRecordExporter;\n private _shutdownOnce: BindOnceFuture<void>;\n private _unresolvedExports: Set<Promise<void>>;\n\n constructor(exporter: LogRecordExporter) {\n this._exporter = exporter;\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n this._unresolvedExports = new Set<Promise<void>>();\n }\n\n public onEmit(logRecord: SdkLogRecord, _context?: Context): void {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n\n const doExport = () =>\n internal\n ._export(this._exporter, [logRecord])\n .then((result: ExportResult) => {\n if (result.code !== ExportResultCode.SUCCESS) {\n globalErrorHandler(\n result.error ??\n new Error(\n `SimpleLogRecordProcessor: log record export failed (status ${result})`\n )\n );\n }\n })\n .catch(globalErrorHandler);\n\n // Avoid scheduling a promise to make the behavior more predictable and easier to test\n if (logRecord.resource.asyncAttributesPending) {\n const exportPromise = logRecord.resource\n .waitForAsyncAttributes?.()\n .then(() => {\n // Using TS Non-null assertion operator because exportPromise could not be null in here\n // if waitForAsyncAttributes is not present this code will never be reached\n this._unresolvedExports.delete(exportPromise!);\n return doExport();\n }, globalErrorHandler);\n\n // store the unresolved exports\n if (exportPromise != null) {\n this._unresolvedExports.add(exportPromise);\n }\n } else {\n void doExport();\n }\n }\n\n public async forceFlush(): Promise<void> {\n // await unresolved resources before resolving\n await Promise.all(Array.from(this._unresolvedExports));\n }\n\n public shutdown(): Promise<void> {\n return this._shutdownOnce.call();\n }\n\n private _shutdown(): Promise<void> {\n return this._exporter.shutdown();\n }\n}\n"]}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import type { LogAttributes } from '@opentelemetry/api-logs';
|
|
1
2
|
import type { InstrumentationScope } from '@opentelemetry/core';
|
|
3
|
+
export type LogInstrumentationScope = InstrumentationScope & {
|
|
4
|
+
readonly attributes?: LogAttributes;
|
|
5
|
+
readonly droppedAttributesCount?: number;
|
|
6
|
+
};
|
|
2
7
|
/**
|
|
3
8
|
* Converting the instrumentation scope object to a unique identifier string.
|
|
4
9
|
* @param scope - The instrumentation scope to convert
|
|
5
10
|
* @returns A unique string identifier for the scope
|
|
6
11
|
*/
|
|
7
|
-
export declare function getInstrumentationScopeKey(scope:
|
|
12
|
+
export declare function getInstrumentationScopeKey(scope: LogInstrumentationScope): string;
|
|
8
13
|
//# sourceMappingURL=utils.d.ts.map
|