@openclaw/diagnostics-otel 2026.9.4 → 2026.9.6
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/assets/activity.svg +40 -0
- package/assets/icon.png +0 -0
- package/dist/{runtime-api-B9-DLHbi.js → .setup/runtime-api-D5Sze_rR.mjs} +3 -2
- package/dist/index.js +1 -1
- package/dist/runtime-api.js +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/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/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 +4 -4
- package/node_modules/@opentelemetry/context-async-hooks/README.md +43 -1
- package/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.d.ts +19 -0
- package/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.js +52 -0
- package/node_modules/@opentelemetry/context-async-hooks/build/src/AsyncLocalStorageContextManager.js.map +1 -1
- package/node_modules/@opentelemetry/context-async-hooks/build/src/types.d.ts +12 -0
- package/node_modules/@opentelemetry/{sdk-logs/build/src/export/SdkLogRecord.js → context-async-hooks/build/src/types.js} +1 -1
- package/node_modules/@opentelemetry/context-async-hooks/build/src/types.js.map +1 -0
- 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 +5 -3
- 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/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/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 +4 -4
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/README.md +8 -2
- 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/node_modules/@opentelemetry/otlp-exporter-base/README.md +30 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/otlp-transformer/package.json +10 -10
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-logs-otlp-proto/package.json +8 -8
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/README.md +8 -2
- 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/node_modules/@opentelemetry/exporter-metrics-otlp-http/README.md +8 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/exporter-metrics-otlp-http/package.json +10 -10
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/README.md +30 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/otlp-transformer/package.json +10 -10
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-trace/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/package.json +9 -9
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/README.md +6 -0
- 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/node_modules/@opentelemetry/otlp-exporter-base/README.md +30 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.d.ts +20 -8
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-base-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-node-configuration.d.ts +18 -4
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/configuration/legacy-node-configuration.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-exporter-base/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/esnext/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.js +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.d.ts +3 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/otlp-transformer/package.json +10 -10
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/types.d.ts +9 -0
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/types.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace/package.json +7 -7
- package/node_modules/@opentelemetry/exporter-trace-otlp-proto/package.json +8 -8
- 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 +4 -4
- 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 +5 -5
- package/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/ServiceInstanceIdDetector.d.ts +1 -0
- package/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/ServiceInstanceIdDetector.js +6 -1
- package/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/ServiceInstanceIdDetector.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/platform/node/ServiceInstanceIdDetector.d.ts +1 -0
- package/node_modules/@opentelemetry/resources/build/esnext/detectors/platform/node/ServiceInstanceIdDetector.js +6 -1
- package/node_modules/@opentelemetry/resources/build/esnext/detectors/platform/node/ServiceInstanceIdDetector.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/platform/node/ServiceInstanceIdDetector.d.ts +1 -0
- package/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ServiceInstanceIdDetector.js +6 -1
- package/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ServiceInstanceIdDetector.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 +6 -6
- package/node_modules/@opentelemetry/sdk-logs/README.md +5 -0
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/MultiLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esm/MultiLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/NoopLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/NoopLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/{esnext/export/SdkLogRecord.d.ts → esm/export/ReadWriteLogRecord.d.ts} +19 -15
- package/node_modules/@opentelemetry/sdk-logs/build/{esnext/export/SdkLogRecord.js → esm/export/ReadWriteLogRecord.js} +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/ReadWriteLogRecord.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esm/index.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/LogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/LogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/MultiLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/MultiLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/NoopLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/NoopLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/{esm/export/SdkLogRecord.d.ts → esnext/export/ReadWriteLogRecord.d.ts} +19 -15
- package/node_modules/@opentelemetry/sdk-logs/build/{esm/export/SdkLogRecord.js → esnext/export/ReadWriteLogRecord.js} +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/ReadWriteLogRecord.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/index.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/LogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/MultiLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/src/MultiLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/NoopLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/NoopLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/{SdkLogRecord.d.ts → ReadWriteLogRecord.d.ts} +19 -15
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadWriteLogRecord.js +7 -0
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/ReadWriteLogRecord.js.map +1 -0
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/index.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 +9 -9
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js +3 -3
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/ExponentialHistogram.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/ExponentMapping.d.ts +0 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/ExponentMapping.js +3 -8
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/ExponentMapping.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/LogarithmMapping.js +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/LogarithmMapping.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/ieee754.d.ts +5 -14
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/ieee754.js +24 -23
- package/node_modules/@opentelemetry/sdk-metrics/build/esm/aggregator/exponential-histogram/mapping/ieee754.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/aggregator/ExponentialHistogram.js +3 -3
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/ExponentialHistogram.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/ExponentMapping.d.ts +0 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/ExponentMapping.js +3 -8
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/ExponentMapping.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/LogarithmMapping.js +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/LogarithmMapping.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/ieee754.d.ts +5 -14
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/ieee754.js +24 -23
- package/node_modules/@opentelemetry/sdk-metrics/build/esnext/aggregator/exponential-histogram/mapping/ieee754.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/aggregator/ExponentialHistogram.js +3 -3
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.d.ts +0 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.js +3 -8
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.js +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.d.ts +5 -14
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.js +26 -25
- package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.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 +7 -7
- 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/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/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/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/index.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/types.d.ts +9 -0
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/types.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/types.d.ts +9 -0
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/types.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.d.ts +2 -2
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js +2 -2
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/index.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/types.d.ts +9 -0
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/types.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/sdk-trace/package.json +7 -7
- package/node_modules/@opentelemetry/sdk-trace-base/package.json +9 -9
- package/openclaw.plugin.json +1 -1
- package/package.json +19 -17
- package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SdkLogRecord.js.map +0 -1
- package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SdkLogRecord.js.map +0 -1
- package/node_modules/@opentelemetry/sdk-logs/build/src/export/SdkLogRecord.js.map +0 -1
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, createNoopMeter, diag } from '@opentelemetry/api';\nimport {\n ExportResultCode,\n globalErrorHandler,\n BindOnceFuture,\n suppressTracing,\n} from '@opentelemetry/core';\n\nimport type { BatchLogRecordProcessorOptions } from '../types';\nimport type { SdkLogRecord } from './SdkLogRecord';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR } from '../semconv';\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 readonly _metrics: LogRecordProcessorMetrics;\n private _exportScheduledResolve!: () => void;\n\n constructor(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number,\n metrics: LogRecordProcessorMetrics\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 this._metrics = metrics;\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 this._metrics.finishLogs(logRecords.length, result.error);\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<\n T extends BatchLogRecordProcessorOptions,\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 private readonly _metrics: LogRecordProcessorMetrics;\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(options: T) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 1000;\n this._exportTimeoutMillis = options.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 const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n\n this._metrics = new LogRecordProcessorMetrics(\n OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR,\n meter,\n {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedLogRecords.length,\n }\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 this._metrics.dropLogs(1);\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 this._metrics.shutdown();\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 this._metrics\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 this._metrics\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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gDAAgD,EAAE,MAAM,YAAY,CAAC;AAE9E;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,UAAgC;IAEhC,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IACE,SAAS,CAAC,QAAQ,CAAC,sBAAsB;YACzC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EACzC;YACA,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC;SACpE;KACF;IAED,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3D,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACrC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,eAAe;IACF,gBAAgB,CAAgB;IAChC,uBAAuB,CAAgB;IACvC,QAAQ,CAA4B;IAC7C,uBAAuB,CAAc;IAE7C,YACE,QAA2B,EAC3B,UAAgC,EAChC,mBAA2B,EAC3B,OAAkC;QAElC,IAAI,CAAC,uBAAuB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACzD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CACzC,QAAQ,EACR,UAAU,EACV,mBAAmB,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,2EAA2E;IAC3E,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,QAA2B,EAC3B,UAAgC,EAChC,mBAA2B;QAE3B,IAAI;YACF,kDAAkD;YAClD,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAEnC,0DAA0D;YAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;gBAC/D,OAAO,IAAI,CAAC,kBAAkB,CAC5B,QAAQ,EACR,UAAU,EACV,mBAAmB,CACpB,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,mFAAmF;YACnF,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtB,sEAAsE;YACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAA2B,EAC3B,UAAgC,EAChC,mBAA2B;QAE3B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAExB,iEAAiE;YACjE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;gBACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1D,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE;oBAC5C,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,MAAM,CACJ,MAAM,CAAC,KAAK;wBACV,IAAI,KAAK,CAAC,mDAAmD,CAAC,CACjE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,sEAAsE;YACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAgB,2BAA2B;IAI9B,mBAAmB,CAAS;IAC5B,aAAa,CAAS;IACtB,qBAAqB,CAAS;IAC9B,oBAAoB,CAAS;IAC7B,SAAS,CAAoB;IAC7B,QAAQ,CAA4B;IAE7C,cAAc,GAA2B,IAAI,CAAC;IAC9C,mBAAmB,GAAyB,EAAE,CAAC;IAC/C,MAAM,CAAsC;IAC5C,aAAa,CAAuB;IACpC,SAAS,GAAY,KAAK,CAAC;IAEnC,YAAY,OAAU;QACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,IAAI,GAAG,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;QAClE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAEjE,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,IAAI,CACP,wIAAwI,CACzI,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC;SAC/C;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,oBAAoB;YACzC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,CAAC,CAAC,eAAe,EAAE,CAAC;QAEtB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAC3C,gDAAgD,EAChD,KAAK,EACL;YACE,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM;SACpD,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAA6B;QACzC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,qCAAqC;IAC7B,YAAY,CAAC,SAA6B;QAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;;;SAIK;IACG,KAAK,CAAC,SAAS;QACrB,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,uEAAuE;QACvE,yGAAyG;QACzG,IAAI,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,4CAA4C;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,qEAAqE;QACrE,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,wCAAwC;YACxC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,eAAe,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QAED,8DAA8D;QAC9D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,KAAK,CAAC;YACV,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC9C,KAAK,GAAG,OAAO,CAAC;gBAChB,OAAO,GAAG,EAAE,CAAC;aACd;iBAAM;gBACL,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACrD;YAED,MAAM,QAAQ,GAAG,IAAI,eAAe,CAClC,IAAI,CAAC,SAAS,EACd,KAAK,EACL,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,QAAQ,CACd,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;YAE/B,uEAAuE;YACvE,IAAI;gBACF,MAAM,QAAQ,CAAC,eAAe,CAAC;gBAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,QAAQ,CAAC,eAAe,CAAC;aAChC;YAAC,OAAO,CAAC,EAAE;gBACV,kBAAkB,CAAC,CAAC,CAAC,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;SACF;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACrE;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,UAAU,KAAK,IAAI,EAAE;YACvB,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,eAAe,CAClC,IAAI,CAAC,SAAS,EACd,UAAU,EACV,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAE/B,mCAAmC;QACnC,QAAQ,CAAC,eAAe;aACrB,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACzC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAChC,OAAO;SACR;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;SACR;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO;SACR;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAE/B,+CAA+C;QAC/C,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;IACH,CAAC;CAGF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context, createNoopMeter, diag } from '@opentelemetry/api';\nimport {\n ExportResultCode,\n globalErrorHandler,\n BindOnceFuture,\n suppressTracing,\n} from '@opentelemetry/core';\n\nimport type { BatchLogRecordProcessorOptions } from '../types';\nimport type { ReadWriteLogRecord } from './ReadWriteLogRecord';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR } from '../semconv';\n\n/**\n * Waits for all pending async resources in the log records to be resolved.\n */\nasync function waitForResources(\n logRecords: ReadWriteLogRecord[]\n): 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 readonly _metrics: LogRecordProcessorMetrics;\n private _exportScheduledResolve!: () => void;\n\n constructor(\n exporter: LogRecordExporter,\n logRecords: ReadWriteLogRecord[],\n exportTimeoutMillis: number,\n metrics: LogRecordProcessorMetrics\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 this._metrics = metrics;\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: ReadWriteLogRecord[],\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: ReadWriteLogRecord[],\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 this._metrics.finishLogs(logRecords.length, result.error);\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<\n T extends BatchLogRecordProcessorOptions,\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 private readonly _metrics: LogRecordProcessorMetrics;\n\n private _currentExport: ExportOperation | null = null;\n private _finishedLogRecords: ReadWriteLogRecord[] = [];\n private _timer: NodeJS.Timeout | number | undefined;\n private _shutdownOnce: BindOnceFuture<void>;\n private _flushing: boolean = false;\n\n constructor(options: T) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 1000;\n this._exportTimeoutMillis = options.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 const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n\n this._metrics = new LogRecordProcessorMetrics(\n OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR,\n meter,\n {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedLogRecords.length,\n }\n );\n }\n\n public onEmit(logRecord: ReadWriteLogRecord): 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: ReadWriteLogRecord) {\n if (this._finishedLogRecords.length >= this._maxQueueSize) {\n this._metrics.dropLogs(1);\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 this._metrics.shutdown();\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 this._metrics\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(): ReadWriteLogRecord[] | 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 this._metrics\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,11 +1,11 @@
|
|
|
1
1
|
import type { InstrumentationScope } from '@opentelemetry/core';
|
|
2
2
|
import type { Context } from '@opentelemetry/api';
|
|
3
3
|
import type { LogRecordProcessor } from '../LogRecordProcessor';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ReadWriteLogRecord } from '../export/ReadWriteLogRecord';
|
|
5
5
|
import type { SeverityNumber } from '@opentelemetry/api-logs';
|
|
6
6
|
export declare class NoopLogRecordProcessor implements LogRecordProcessor {
|
|
7
7
|
forceFlush(): Promise<void>;
|
|
8
|
-
onEmit(_logRecord:
|
|
8
|
+
onEmit(_logRecord: ReadWriteLogRecord, _context: Context): void;
|
|
9
9
|
shutdown(): Promise<void>;
|
|
10
10
|
enabled(_options: {
|
|
11
11
|
context: Context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/NoopLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,OAAO,sBAAsB;IAC1B,UAAU;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"NoopLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/NoopLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,OAAO,sBAAsB;IAC1B,UAAU;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAA8B,EAAE,QAAiB,IAAS,CAAC;IAElE,QAAQ;QACb,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,OAAO,CAAC,QAKd;QACC,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type { Context } from '@opentelemetry/api';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport type { ReadWriteLogRecord } from '../export/ReadWriteLogRecord';\nimport type { SeverityNumber } from '@opentelemetry/api-logs';\n\nexport class NoopLogRecordProcessor implements LogRecordProcessor {\n public forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n\n public onEmit(_logRecord: ReadWriteLogRecord, _context: Context): void {}\n\n public shutdown(): Promise<void> {\n return Promise.resolve();\n }\n\n public enabled(_options: {\n context: Context;\n instrumentationScope: InstrumentationScope;\n severityNumber?: SeverityNumber;\n eventName?: string;\n }): boolean {\n return false;\n }\n}\n"]}
|
|
@@ -9,9 +9,9 @@ import type { Resource } from '@opentelemetry/resources';
|
|
|
9
9
|
* @remarks
|
|
10
10
|
* This interface is **not intended to be implemented by users**.
|
|
11
11
|
* To produce logs, use {@link Logger#emit}. To consume logs, implement {@link LogRecordProcessor#onEmit}.
|
|
12
|
-
*
|
|
12
|
+
* ReadWriteLogRecord instances are created and managed by the SDK.
|
|
13
13
|
*/
|
|
14
|
-
export interface
|
|
14
|
+
export interface ReadWriteLogRecord {
|
|
15
15
|
hrTime: HrTime;
|
|
16
16
|
hrTimeObserved: HrTime;
|
|
17
17
|
spanContext?: SpanContext;
|
|
@@ -34,38 +34,42 @@ export interface SdkLogRecord {
|
|
|
34
34
|
* Sets a single attribute on the log record.
|
|
35
35
|
* @param key The attribute key.
|
|
36
36
|
* @param value The attribute value.
|
|
37
|
-
* @returns The updated
|
|
37
|
+
* @returns The updated ReadWriteLogRecord.
|
|
38
38
|
*/
|
|
39
|
-
setAttribute(key: string, value?: AnyValue):
|
|
39
|
+
setAttribute(key: string, value?: AnyValue): ReadWriteLogRecord;
|
|
40
40
|
/**
|
|
41
41
|
* Sets multiple attributes on the log record.
|
|
42
42
|
* @param attributes The attributes to set.
|
|
43
|
-
* @returns The updated
|
|
43
|
+
* @returns The updated ReadWriteLogRecord.
|
|
44
44
|
*/
|
|
45
|
-
setAttributes(attributes: LogAttributes):
|
|
45
|
+
setAttributes(attributes: LogAttributes): ReadWriteLogRecord;
|
|
46
46
|
/**
|
|
47
47
|
* Sets the body of the log record.
|
|
48
48
|
* @param body The log body.
|
|
49
|
-
* @returns The updated
|
|
49
|
+
* @returns The updated ReadWriteLogRecord.
|
|
50
50
|
*/
|
|
51
|
-
setBody(body: LogBody):
|
|
51
|
+
setBody(body: LogBody): ReadWriteLogRecord;
|
|
52
52
|
/**
|
|
53
53
|
* Sets the event name for the log record.
|
|
54
54
|
* @param eventName The event name.
|
|
55
|
-
* @returns The updated
|
|
55
|
+
* @returns The updated ReadWriteLogRecord.
|
|
56
56
|
*/
|
|
57
|
-
setEventName(eventName: string):
|
|
57
|
+
setEventName(eventName: string): ReadWriteLogRecord;
|
|
58
58
|
/**
|
|
59
59
|
* Sets the severity number for the log record.
|
|
60
60
|
* @param severityNumber The severity number.
|
|
61
|
-
* @returns The updated
|
|
61
|
+
* @returns The updated ReadWriteLogRecord.
|
|
62
62
|
*/
|
|
63
|
-
setSeverityNumber(severityNumber: SeverityNumber):
|
|
63
|
+
setSeverityNumber(severityNumber: SeverityNumber): ReadWriteLogRecord;
|
|
64
64
|
/**
|
|
65
65
|
* Sets the severity text (log level) for the log record.
|
|
66
66
|
* @param severityText The severity text.
|
|
67
|
-
* @returns The updated
|
|
67
|
+
* @returns The updated ReadWriteLogRecord.
|
|
68
68
|
*/
|
|
69
|
-
setSeverityText(severityText: string):
|
|
69
|
+
setSeverityText(severityText: string): ReadWriteLogRecord;
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated - please use {@link ReadWriteLogRecord} instead.
|
|
73
|
+
*/
|
|
74
|
+
export type SdkLogRecord = ReadWriteLogRecord;
|
|
75
|
+
//# sourceMappingURL=ReadWriteLogRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadWriteLogRecord.js","sourceRoot":"","sources":["../../../src/export/ReadWriteLogRecord.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 * ReadWriteLogRecord instances are created and managed by the SDK.\n */\nexport interface ReadWriteLogRecord {\n hrTime: HrTime;\n hrTimeObserved: HrTime;\n 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 ReadWriteLogRecord.\n */\n setAttribute(key: string, value?: AnyValue): ReadWriteLogRecord;\n\n /**\n * Sets multiple attributes on the log record.\n * @param attributes The attributes to set.\n * @returns The updated ReadWriteLogRecord.\n */\n setAttributes(attributes: LogAttributes): ReadWriteLogRecord;\n\n /**\n * Sets the body of the log record.\n * @param body The log body.\n * @returns The updated ReadWriteLogRecord.\n */\n setBody(body: LogBody): ReadWriteLogRecord;\n\n /**\n * Sets the event name for the log record.\n * @param eventName The event name.\n * @returns The updated ReadWriteLogRecord.\n */\n setEventName(eventName: string): ReadWriteLogRecord;\n\n /**\n * Sets the severity number for the log record.\n * @param severityNumber The severity number.\n * @returns The updated ReadWriteLogRecord.\n */\n setSeverityNumber(severityNumber: SeverityNumber): ReadWriteLogRecord;\n\n /**\n * Sets the severity text (log level) for the log record.\n * @param severityText The severity text.\n * @returns The updated ReadWriteLogRecord.\n */\n setSeverityText(severityText: string): ReadWriteLogRecord;\n}\n\n/**\n * @deprecated - please use {@link ReadWriteLogRecord} instead.\n */\nexport type SdkLogRecord = ReadWriteLogRecord;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogRecordProcessor } from '../LogRecordProcessor';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ReadWriteLogRecord } from './ReadWriteLogRecord';
|
|
3
3
|
import type { Context } from '@opentelemetry/api';
|
|
4
4
|
import type { SimpleLogRecordProcessorOptions } from '../types';
|
|
5
5
|
/**
|
|
@@ -17,7 +17,7 @@ export declare class SimpleLogRecordProcessor implements LogRecordProcessor {
|
|
|
17
17
|
private _shutdownOnce;
|
|
18
18
|
private _unresolvedExports;
|
|
19
19
|
constructor(options: SimpleLogRecordProcessorOptions);
|
|
20
|
-
onEmit(logRecord:
|
|
20
|
+
onEmit(logRecord: ReadWriteLogRecord, _context?: Context): void;
|
|
21
21
|
forceFlush(): Promise<void>;
|
|
22
22
|
shutdown(): Promise<void>;
|
|
23
23
|
private _shutdown;
|
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;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,8CAA8C,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAIxE;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,SAAS,CAAoB;IAC7B,QAAQ,CAA4B;IAC7C,aAAa,CAAuB;IACpC,kBAAkB,CAAqB;IAE/C,YAAY,OAAwC;QAClD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEnD,MAAM,KAAK,GAAG,OAAO,EAAE,oBAAoB;YACzC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAC3C,8CAA8C,EAC9C,KAAK,CACN,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"SimpleLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/SimpleLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,8CAA8C,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAIxE;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,SAAS,CAAoB;IAC7B,QAAQ,CAA4B;IAC7C,aAAa,CAAuB;IACpC,kBAAkB,CAAqB;IAE/C,YAAY,OAAwC;QAClD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEnD,MAAM,KAAK,GAAG,OAAO,EAAE,oBAAoB;YACzC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAC3C,8CAA8C,EAC9C,KAAK,CACN,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAA6B,EAAE,QAAkB;QAC7D,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,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,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,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,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 { createNoopMeter } from '@opentelemetry/api';\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 { ReadWriteLogRecord } from './ReadWriteLogRecord';\nimport { OTEL_COMPONENT_TYPE_VALUE_SIMPLE_LOG_PROCESSOR } from '../semconv';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport type { Context } from '@opentelemetry/api';\nimport type { SimpleLogRecordProcessorOptions } from '../types';\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 readonly _metrics: LogRecordProcessorMetrics;\n private _shutdownOnce: BindOnceFuture<void>;\n private _unresolvedExports: Set<Promise<void>>;\n\n constructor(options: SimpleLogRecordProcessorOptions) {\n this._exporter = options.exporter;\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n this._unresolvedExports = new Set<Promise<void>>();\n\n const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n this._metrics = new LogRecordProcessorMetrics(\n OTEL_COMPONENT_TYPE_VALUE_SIMPLE_LOG_PROCESSOR,\n meter\n );\n }\n\n public onEmit(logRecord: ReadWriteLogRecord, _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 this._metrics.finishLogs(1, result.error);\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 this._metrics.shutdown();\n return this._exporter.shutdown();\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { ForceFlushOptions, LoggerProviderConfig, LoggerProviderOptions, LoggerConfig, LoggerConfigurator, LogRecordLimits, LogRecordProcessorOptions, BatchLogRecordProcessorOptions, BatchLogRecordProcessorBrowserOptions, } from './types';
|
|
2
2
|
export { LoggerProvider } from './LoggerProvider';
|
|
3
|
-
export type { SdkLogRecord } from './export/
|
|
3
|
+
export type { ReadWriteLogRecord, SdkLogRecord, } from './export/ReadWriteLogRecord';
|
|
4
4
|
export type { LogRecordProcessor } from './LogRecordProcessor';
|
|
5
5
|
export type { ReadableLogRecord } from './export/ReadableLogRecord';
|
|
6
6
|
export { ConsoleLogRecordExporter } from './export/ConsoleLogRecordExporter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,wBAAwB,GAEzB,MAAM,8BAA8B,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport type {\n ForceFlushOptions,\n LoggerProviderConfig,\n LoggerProviderOptions,\n LoggerConfig,\n LoggerConfigurator,\n LogRecordLimits,\n LogRecordProcessorOptions,\n BatchLogRecordProcessorOptions,\n BatchLogRecordProcessorBrowserOptions,\n} from './types';\nexport { LoggerProvider } from './LoggerProvider';\nexport type {\n ReadWriteLogRecord,\n SdkLogRecord,\n} from './export/ReadWriteLogRecord';\nexport type { LogRecordProcessor } from './LogRecordProcessor';\nexport type { ReadableLogRecord } from './export/ReadableLogRecord';\nexport { ConsoleLogRecordExporter } from './export/ConsoleLogRecordExporter';\nexport type { LogRecordExporter } from './export/LogRecordExporter';\nexport { SimpleLogRecordProcessor } from './export/SimpleLogRecordProcessor';\nexport { InMemoryLogRecordExporter } from './export/InMemoryLogRecordExporter';\nexport { BatchLogRecordProcessor } from './platform';\nexport {\n createLoggerConfigurator,\n type LoggerPattern,\n} from './config/LoggerConfigurators';\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.222.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.222.0';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Context } from '@opentelemetry/api';
|
|
2
2
|
import type { InstrumentationScope } from '@opentelemetry/core';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ReadWriteLogRecord } from './export/ReadWriteLogRecord';
|
|
4
4
|
import type { SeverityNumber } from '@opentelemetry/api-logs';
|
|
5
5
|
import type { ForceFlushOptions } from './types';
|
|
6
6
|
export interface LogRecordProcessor {
|
|
@@ -13,7 +13,7 @@ export interface LogRecordProcessor {
|
|
|
13
13
|
* @param logRecord the ReadWriteLogRecord that just emitted.
|
|
14
14
|
* @param context the current Context, or an empty Context if the Logger was obtained with include_trace_context=false
|
|
15
15
|
*/
|
|
16
|
-
onEmit(logRecord:
|
|
16
|
+
onEmit(logRecord: ReadWriteLogRecord, context?: Context): void;
|
|
17
17
|
/**
|
|
18
18
|
* Shuts down the processor. Called when SDK is shut down. This is an
|
|
19
19
|
* opportunity for processor to do any cleanup required.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogRecordProcessor.js","sourceRoot":"","sources":["../../src/LogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type {
|
|
1
|
+
{"version":3,"file":"LogRecordProcessor.js","sourceRoot":"","sources":["../../src/LogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type { ReadWriteLogRecord } from './export/ReadWriteLogRecord';\nimport type { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { ForceFlushOptions } from './types';\n\nexport interface LogRecordProcessor {\n /**\n * Forces to export all finished log records\n */\n forceFlush(options?: ForceFlushOptions): Promise<void>;\n\n /**\n * Called when a {@link LogRecord} is emit\n * @param logRecord the ReadWriteLogRecord that just emitted.\n * @param context the current Context, or an empty Context if the Logger was obtained with include_trace_context=false\n */\n onEmit(logRecord: ReadWriteLogRecord, context?: Context): void;\n\n /**\n * Shuts down the processor. Called when SDK is shut down. This is an\n * opportunity for processor to do any cleanup required.\n */\n shutdown(): Promise<void>;\n\n /**\n * Tells if the logger is enabled for the given context, severity number and event\n * name if provided.\n * @param options\n */\n enabled?(options: {\n context: Context;\n instrumentationScope: InstrumentationScope;\n severityNumber?: SeverityNumber;\n eventName?: string;\n }): boolean;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InstrumentationScope } from '@opentelemetry/core';
|
|
2
2
|
import type { Context } from '@opentelemetry/api';
|
|
3
3
|
import type { LogRecordProcessor } from './LogRecordProcessor';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ReadWriteLogRecord } from './export/ReadWriteLogRecord';
|
|
5
5
|
import type { SeverityNumber } from '@opentelemetry/api-logs';
|
|
6
6
|
import type { ForceFlushOptions } from './types';
|
|
7
7
|
/**
|
|
@@ -12,7 +12,7 @@ export declare class MultiLogRecordProcessor implements LogRecordProcessor {
|
|
|
12
12
|
readonly processors: LogRecordProcessor[];
|
|
13
13
|
constructor(processors: LogRecordProcessor[]);
|
|
14
14
|
forceFlush(options?: ForceFlushOptions): Promise<void>;
|
|
15
|
-
onEmit(logRecord:
|
|
15
|
+
onEmit(logRecord: ReadWriteLogRecord, context?: Context): void;
|
|
16
16
|
shutdown(): Promise<void>;
|
|
17
17
|
enabled(options: {
|
|
18
18
|
context: Context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiLogRecordProcessor.js","sourceRoot":"","sources":["../../src/MultiLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAClB,UAAU,CAAuB;IACjD,YAAY,UAAgC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA2B;QACjD,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC;QAChD,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAC9B,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CACjD,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"MultiLogRecordProcessor.js","sourceRoot":"","sources":["../../src/MultiLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAClB,UAAU,CAAuB;IACjD,YAAY,UAAgC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA2B;QACjD,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC;QAChD,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAC9B,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CACjD,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAA6B,EAAE,OAAiB;QAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CACnC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CACtC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,OAAO,CAAC,OAKd;QACC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACpD,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 { InstrumentationScope } from '@opentelemetry/core';\nimport { callWithTimeout } from '@opentelemetry/core';\nimport type { Context } from '@opentelemetry/api';\nimport type { LogRecordProcessor } from './LogRecordProcessor';\nimport type { ReadWriteLogRecord } from './export/ReadWriteLogRecord';\nimport type { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { ForceFlushOptions } from './types';\n\n/**\n * Implementation of the {@link LogRecordProcessor} that simply forwards all\n * received events to a list of {@link LogRecordProcessor}s.\n */\nexport class MultiLogRecordProcessor implements LogRecordProcessor {\n public readonly processors: LogRecordProcessor[];\n constructor(processors: LogRecordProcessor[]) {\n this.processors = processors;\n }\n\n public async forceFlush(options?: ForceFlushOptions): Promise<void> {\n const timeout = options?.timeoutMillis ?? 30000;\n await Promise.all(\n this.processors.map(processor =>\n callWithTimeout(processor.forceFlush(), timeout)\n )\n );\n }\n\n public onEmit(logRecord: ReadWriteLogRecord, context?: Context): void {\n this.processors.forEach(processors =>\n processors.onEmit(logRecord, context)\n );\n }\n\n public async shutdown(): Promise<void> {\n await Promise.all(this.processors.map(processor => processor.shutdown()));\n }\n\n public enabled(options: {\n context: Context;\n instrumentationScope: InstrumentationScope;\n severityNumber?: SeverityNumber;\n eventName?: string;\n }): boolean {\n for (const processor of this.processors) {\n if (!processor.enabled || processor.enabled(options)) {\n return true;\n }\n }\n return false;\n }\n}\n"]}
|
package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BatchLogRecordProcessorOptions } from '../types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ReadWriteLogRecord } from './ReadWriteLogRecord';
|
|
3
3
|
import type { LogRecordProcessor } from '../LogRecordProcessor';
|
|
4
4
|
export declare abstract class BatchLogRecordProcessorBase<T extends BatchLogRecordProcessorOptions> implements LogRecordProcessor {
|
|
5
5
|
private readonly _maxExportBatchSize;
|
|
@@ -14,7 +14,7 @@ export declare abstract class BatchLogRecordProcessorBase<T extends BatchLogReco
|
|
|
14
14
|
private _shutdownOnce;
|
|
15
15
|
private _flushing;
|
|
16
16
|
constructor(options: T);
|
|
17
|
-
onEmit(logRecord:
|
|
17
|
+
onEmit(logRecord: ReadWriteLogRecord): void;
|
|
18
18
|
forceFlush(): Promise<void>;
|
|
19
19
|
/** Add a LogRecord in the buffer. */
|
|
20
20
|
private _addToBuffer;
|
package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchLogRecordProcessorBase.js","sourceRoot":"","sources":["../../../src/export/BatchLogRecordProcessorBase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gDAAgD,EAAE,MAAM,YAAY,CAAC;AAE9E;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,UAA0B;IACxD,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IACE,SAAS,CAAC,QAAQ,CAAC,sBAAsB;YACzC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EACzC;YACA,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC;SACpE;KACF;IAED,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3D,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACrC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,eAAe;IACF,gBAAgB,CAAgB;IAChC,uBAAuB,CAAgB;IACvC,QAAQ,CAA4B;IAC7C,uBAAuB,CAAc;IAE7C,YACE,QAA2B,EAC3B,UAA0B,EAC1B,mBAA2B,EAC3B,OAAkC;QAElC,IAAI,CAAC,uBAAuB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACzD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CACzC,QAAQ,EACR,UAAU,EACV,mBAAmB,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,2EAA2E;IAC3E,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,QAA2B,EAC3B,UAA0B,EAC1B,mBAA2B;QAE3B,IAAI;YACF,kDAAkD;YAClD,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAEnC,0DAA0D;YAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;gBAC/D,OAAO,IAAI,CAAC,kBAAkB,CAC5B,QAAQ,EACR,UAAU,EACV,mBAAmB,CACpB,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,mFAAmF;YACnF,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtB,sEAAsE;YACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAA2B,EAC3B,UAA0B,EAC1B,mBAA2B;QAE3B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAExB,iEAAiE;YACjE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;gBACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1D,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE;oBAC5C,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,MAAM,CACJ,MAAM,CAAC,KAAK;wBACV,IAAI,KAAK,CAAC,mDAAmD,CAAC,CACjE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,sEAAsE;YACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAgB,2BAA2B;IAI9B,mBAAmB,CAAS;IAC5B,aAAa,CAAS;IACtB,qBAAqB,CAAS;IAC9B,oBAAoB,CAAS;IAC7B,SAAS,CAAoB;IAC7B,QAAQ,CAA4B;IAE7C,cAAc,GAA2B,IAAI,CAAC;IAC9C,mBAAmB,GAAmB,EAAE,CAAC;IACzC,MAAM,CAAsC;IAC5C,aAAa,CAAuB;IACpC,SAAS,GAAY,KAAK,CAAC;IAEnC,YAAY,OAAU;QACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,IAAI,GAAG,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;QAClE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAEjE,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,IAAI,CACP,wIAAwI,CACzI,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC;SAC/C;QAED,MAAM,KAAK,GAAG,OAAO,EAAE,oBAAoB;YACzC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,CAAC,CAAC,eAAe,EAAE,CAAC;QAEtB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAC3C,gDAAgD,EAChD,KAAK,EACL;YACE,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM;SACpD,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAAuB;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,qCAAqC;IAC7B,YAAY,CAAC,SAAuB;QAC1C,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;;;SAIK;IACG,KAAK,CAAC,SAAS;QACrB,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,uEAAuE;QACvE,yGAAyG;QACzG,IAAI,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAE9B,4CAA4C;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,qEAAqE;QACrE,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACrC,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,wCAAwC;YACxC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,eAAe,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QAED,8DAA8D;QAC9D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,KAAK,CAAC;YACV,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC9C,KAAK,GAAG,OAAO,CAAC;gBAChB,OAAO,GAAG,EAAE,CAAC;aACd;iBAAM;gBACL,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACrD;YAED,MAAM,QAAQ,GAAG,IAAI,eAAe,CAClC,IAAI,CAAC,SAAS,EACd,KAAK,EACL,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,QAAQ,CACd,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;YAE/B,uEAAuE;YACvE,IAAI;gBACF,MAAM,QAAQ,CAAC,eAAe,CAAC;gBAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,QAAQ,CAAC,eAAe,CAAC;aAChC;YAAC,OAAO,CAAC,EAAE;gBACV,kBAAkB,CAAC,CAAC,CAAC,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;SACF;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACvC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACrE;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,UAAU,KAAK,IAAI,EAAE;YACvB,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,eAAe,CAClC,IAAI,CAAC,SAAS,EACd,UAAU,EACV,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAE/B,mCAAmC;QACnC,QAAQ,CAAC,eAAe;aACrB,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACzC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAChC,OAAO;SACR;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;SACR;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO;SACR;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAE/B,+CAA+C;QAC/C,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SACzB;IACH,CAAC;CAGF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context, createNoopMeter, diag } from '@opentelemetry/api';\nimport {\n ExportResultCode,\n globalErrorHandler,\n BindOnceFuture,\n suppressTracing,\n} from '@opentelemetry/core';\n\nimport type { BatchLogRecordProcessorOptions } from '../types';\nimport type { SdkLogRecord } from './SdkLogRecord';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR } from '../semconv';\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 readonly _metrics: LogRecordProcessorMetrics;\n private _exportScheduledResolve!: () => void;\n\n constructor(\n exporter: LogRecordExporter,\n logRecords: SdkLogRecord[],\n exportTimeoutMillis: number,\n metrics: LogRecordProcessorMetrics\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 this._metrics = metrics;\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 this._metrics.finishLogs(logRecords.length, result.error);\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<\n T extends BatchLogRecordProcessorOptions,\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 private readonly _metrics: LogRecordProcessorMetrics;\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(options: T) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 1000;\n this._exportTimeoutMillis = options.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 const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n\n this._metrics = new LogRecordProcessorMetrics(\n OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR,\n meter,\n {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedLogRecords.length,\n }\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 this._metrics.dropLogs(1);\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 this._metrics.shutdown();\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 this._metrics\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 this._metrics\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, createNoopMeter, diag } from '@opentelemetry/api';\nimport {\n ExportResultCode,\n globalErrorHandler,\n BindOnceFuture,\n suppressTracing,\n} from '@opentelemetry/core';\n\nimport type { BatchLogRecordProcessorOptions } from '../types';\nimport type { ReadWriteLogRecord } from './ReadWriteLogRecord';\nimport type { LogRecordExporter } from './LogRecordExporter';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR } from '../semconv';\n\n/**\n * Waits for all pending async resources in the log records to be resolved.\n */\nasync function waitForResources(\n logRecords: ReadWriteLogRecord[]\n): 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 readonly _metrics: LogRecordProcessorMetrics;\n private _exportScheduledResolve!: () => void;\n\n constructor(\n exporter: LogRecordExporter,\n logRecords: ReadWriteLogRecord[],\n exportTimeoutMillis: number,\n metrics: LogRecordProcessorMetrics\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 this._metrics = metrics;\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: ReadWriteLogRecord[],\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: ReadWriteLogRecord[],\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 this._metrics.finishLogs(logRecords.length, result.error);\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<\n T extends BatchLogRecordProcessorOptions,\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 private readonly _metrics: LogRecordProcessorMetrics;\n\n private _currentExport: ExportOperation | null = null;\n private _finishedLogRecords: ReadWriteLogRecord[] = [];\n private _timer: NodeJS.Timeout | number | undefined;\n private _shutdownOnce: BindOnceFuture<void>;\n private _flushing: boolean = false;\n\n constructor(options: T) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 1000;\n this._exportTimeoutMillis = options.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 const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n\n this._metrics = new LogRecordProcessorMetrics(\n OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR,\n meter,\n {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedLogRecords.length,\n }\n );\n }\n\n public onEmit(logRecord: ReadWriteLogRecord): 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: ReadWriteLogRecord) {\n if (this._finishedLogRecords.length >= this._maxQueueSize) {\n this._metrics.dropLogs(1);\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 this._metrics.shutdown();\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 this._metrics\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(): ReadWriteLogRecord[] | 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 this._metrics\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"]}
|
package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/NoopLogRecordProcessor.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { InstrumentationScope } from '@opentelemetry/core';
|
|
2
2
|
import type { Context } from '@opentelemetry/api';
|
|
3
3
|
import type { LogRecordProcessor } from '../LogRecordProcessor';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ReadWriteLogRecord } from '../export/ReadWriteLogRecord';
|
|
5
5
|
import type { SeverityNumber } from '@opentelemetry/api-logs';
|
|
6
6
|
export declare class NoopLogRecordProcessor implements LogRecordProcessor {
|
|
7
7
|
forceFlush(): Promise<void>;
|
|
8
|
-
onEmit(_logRecord:
|
|
8
|
+
onEmit(_logRecord: ReadWriteLogRecord, _context: Context): void;
|
|
9
9
|
shutdown(): Promise<void>;
|
|
10
10
|
enabled(_options: {
|
|
11
11
|
context: Context;
|
package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/NoopLogRecordProcessor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/NoopLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,OAAO,sBAAsB;IAC1B,UAAU;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"NoopLogRecordProcessor.js","sourceRoot":"","sources":["../../../src/export/NoopLogRecordProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,OAAO,sBAAsB;IAC1B,UAAU;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAA8B,EAAE,QAAiB,IAAS,CAAC;IAElE,QAAQ;QACb,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,OAAO,CAAC,QAKd;QACC,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type { Context } from '@opentelemetry/api';\nimport type { LogRecordProcessor } from '../LogRecordProcessor';\nimport type { ReadWriteLogRecord } from '../export/ReadWriteLogRecord';\nimport type { SeverityNumber } from '@opentelemetry/api-logs';\n\nexport class NoopLogRecordProcessor implements LogRecordProcessor {\n public forceFlush(): Promise<void> {\n return Promise.resolve();\n }\n\n public onEmit(_logRecord: ReadWriteLogRecord, _context: Context): void {}\n\n public shutdown(): Promise<void> {\n return Promise.resolve();\n }\n\n public enabled(_options: {\n context: Context;\n instrumentationScope: InstrumentationScope;\n severityNumber?: SeverityNumber;\n eventName?: string;\n }): boolean {\n return false;\n }\n}\n"]}
|
|
@@ -9,9 +9,9 @@ import type { Resource } from '@opentelemetry/resources';
|
|
|
9
9
|
* @remarks
|
|
10
10
|
* This interface is **not intended to be implemented by users**.
|
|
11
11
|
* To produce logs, use {@link Logger#emit}. To consume logs, implement {@link LogRecordProcessor#onEmit}.
|
|
12
|
-
*
|
|
12
|
+
* ReadWriteLogRecord instances are created and managed by the SDK.
|
|
13
13
|
*/
|
|
14
|
-
export interface
|
|
14
|
+
export interface ReadWriteLogRecord {
|
|
15
15
|
hrTime: HrTime;
|
|
16
16
|
hrTimeObserved: HrTime;
|
|
17
17
|
spanContext?: SpanContext;
|
|
@@ -34,38 +34,42 @@ export interface SdkLogRecord {
|
|
|
34
34
|
* Sets a single attribute on the log record.
|
|
35
35
|
* @param key The attribute key.
|
|
36
36
|
* @param value The attribute value.
|
|
37
|
-
* @returns The updated
|
|
37
|
+
* @returns The updated ReadWriteLogRecord.
|
|
38
38
|
*/
|
|
39
|
-
setAttribute(key: string, value?: AnyValue):
|
|
39
|
+
setAttribute(key: string, value?: AnyValue): ReadWriteLogRecord;
|
|
40
40
|
/**
|
|
41
41
|
* Sets multiple attributes on the log record.
|
|
42
42
|
* @param attributes The attributes to set.
|
|
43
|
-
* @returns The updated
|
|
43
|
+
* @returns The updated ReadWriteLogRecord.
|
|
44
44
|
*/
|
|
45
|
-
setAttributes(attributes: LogAttributes):
|
|
45
|
+
setAttributes(attributes: LogAttributes): ReadWriteLogRecord;
|
|
46
46
|
/**
|
|
47
47
|
* Sets the body of the log record.
|
|
48
48
|
* @param body The log body.
|
|
49
|
-
* @returns The updated
|
|
49
|
+
* @returns The updated ReadWriteLogRecord.
|
|
50
50
|
*/
|
|
51
|
-
setBody(body: LogBody):
|
|
51
|
+
setBody(body: LogBody): ReadWriteLogRecord;
|
|
52
52
|
/**
|
|
53
53
|
* Sets the event name for the log record.
|
|
54
54
|
* @param eventName The event name.
|
|
55
|
-
* @returns The updated
|
|
55
|
+
* @returns The updated ReadWriteLogRecord.
|
|
56
56
|
*/
|
|
57
|
-
setEventName(eventName: string):
|
|
57
|
+
setEventName(eventName: string): ReadWriteLogRecord;
|
|
58
58
|
/**
|
|
59
59
|
* Sets the severity number for the log record.
|
|
60
60
|
* @param severityNumber The severity number.
|
|
61
|
-
* @returns The updated
|
|
61
|
+
* @returns The updated ReadWriteLogRecord.
|
|
62
62
|
*/
|
|
63
|
-
setSeverityNumber(severityNumber: SeverityNumber):
|
|
63
|
+
setSeverityNumber(severityNumber: SeverityNumber): ReadWriteLogRecord;
|
|
64
64
|
/**
|
|
65
65
|
* Sets the severity text (log level) for the log record.
|
|
66
66
|
* @param severityText The severity text.
|
|
67
|
-
* @returns The updated
|
|
67
|
+
* @returns The updated ReadWriteLogRecord.
|
|
68
68
|
*/
|
|
69
|
-
setSeverityText(severityText: string):
|
|
69
|
+
setSeverityText(severityText: string): ReadWriteLogRecord;
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated - please use {@link ReadWriteLogRecord} instead.
|
|
73
|
+
*/
|
|
74
|
+
export type SdkLogRecord = ReadWriteLogRecord;
|
|
75
|
+
//# sourceMappingURL=ReadWriteLogRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadWriteLogRecord.js","sourceRoot":"","sources":["../../../src/export/ReadWriteLogRecord.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 * ReadWriteLogRecord instances are created and managed by the SDK.\n */\nexport interface ReadWriteLogRecord {\n hrTime: HrTime;\n hrTimeObserved: HrTime;\n 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 ReadWriteLogRecord.\n */\n setAttribute(key: string, value?: AnyValue): ReadWriteLogRecord;\n\n /**\n * Sets multiple attributes on the log record.\n * @param attributes The attributes to set.\n * @returns The updated ReadWriteLogRecord.\n */\n setAttributes(attributes: LogAttributes): ReadWriteLogRecord;\n\n /**\n * Sets the body of the log record.\n * @param body The log body.\n * @returns The updated ReadWriteLogRecord.\n */\n setBody(body: LogBody): ReadWriteLogRecord;\n\n /**\n * Sets the event name for the log record.\n * @param eventName The event name.\n * @returns The updated ReadWriteLogRecord.\n */\n setEventName(eventName: string): ReadWriteLogRecord;\n\n /**\n * Sets the severity number for the log record.\n * @param severityNumber The severity number.\n * @returns The updated ReadWriteLogRecord.\n */\n setSeverityNumber(severityNumber: SeverityNumber): ReadWriteLogRecord;\n\n /**\n * Sets the severity text (log level) for the log record.\n * @param severityText The severity text.\n * @returns The updated ReadWriteLogRecord.\n */\n setSeverityText(severityText: string): ReadWriteLogRecord;\n}\n\n/**\n * @deprecated - please use {@link ReadWriteLogRecord} instead.\n */\nexport type SdkLogRecord = ReadWriteLogRecord;\n"]}
|
package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogRecordProcessor } from '../LogRecordProcessor';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ReadWriteLogRecord } from './ReadWriteLogRecord';
|
|
3
3
|
import type { Context } from '@opentelemetry/api';
|
|
4
4
|
import type { SimpleLogRecordProcessorOptions } from '../types';
|
|
5
5
|
/**
|
|
@@ -17,7 +17,7 @@ export declare class SimpleLogRecordProcessor implements LogRecordProcessor {
|
|
|
17
17
|
private _shutdownOnce;
|
|
18
18
|
private _unresolvedExports;
|
|
19
19
|
constructor(options: SimpleLogRecordProcessorOptions);
|
|
20
|
-
onEmit(logRecord:
|
|
20
|
+
onEmit(logRecord: ReadWriteLogRecord, _context?: Context): void;
|
|
21
21
|
forceFlush(): Promise<void>;
|
|
22
22
|
shutdown(): Promise<void>;
|
|
23
23
|
private _shutdown;
|