@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExponentMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/ExponentMapping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACT,MAAM,CAAS;IAEhC,YAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC5C;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE1C,
|
|
1
|
+
{"version":3,"file":"ExponentMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/ExponentMapping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACT,MAAM,CAAS;IAEhC,YAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC5C;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE1C,uEAAuE;QACvE,+BAA+B;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAa;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,MAAM,IAAI,YAAY,CACpB,cAAc,KAAK,iCAAiC,QAAQ,EAAE,CAC/D,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,MAAM,IAAI,YAAY,CACpB,aAAa,KAAK,iCAAiC,QAAQ,EAAE,CAC9D,CAAC;SACH;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAEO,4BAA4B;QAClC,IAAI,KAAK,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,KAAK,EAAE,CAAC;SACT;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,4BAA4B;QAClC,OAAO,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC;IACpD,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as ieee754 from './ieee754';\nimport * as util from '../util';\nimport type { Mapping } from './types';\nimport { MappingError } from './types';\n\n/**\n * ExponentMapping implements exponential mapping functions for\n * scales <=0. For scales > 0 LogarithmMapping should be used.\n */\nexport class ExponentMapping implements Mapping {\n private readonly _shift: number;\n\n constructor(scale: number) {\n this._shift = -scale;\n }\n\n /**\n * Maps positive floating point values to indexes corresponding to scale\n * @param value\n * @returns {number} index for provided value at the current scale\n */\n mapToIndex(value: number): number {\n if (value < ieee754.MIN_VALUE) {\n return this._minNormalLowerBoundaryIndex();\n }\n\n const exp = ieee754.getNormalBase2(value);\n\n // An exact power of two sits on a bucket boundary; correct by -1 so it\n // falls into the lower bucket.\n const correction = ieee754.isPowerOfTwo(value) ? -1 : 0;\n\n return (exp + correction) >> this._shift;\n }\n\n /**\n * Returns the lower bucket boundary for the given index for scale\n *\n * @param index\n * @returns {number}\n */\n lowerBoundary(index: number): number {\n const minIndex = this._minNormalLowerBoundaryIndex();\n if (index < minIndex) {\n throw new MappingError(\n `underflow: ${index} is < minimum lower boundary: ${minIndex}`\n );\n }\n const maxIndex = this._maxNormalLowerBoundaryIndex();\n if (index > maxIndex) {\n throw new MappingError(\n `overflow: ${index} is > maximum lower boundary: ${maxIndex}`\n );\n }\n\n return util.ldexp(1, index << this._shift);\n }\n\n /**\n * The scale used by this mapping\n * @returns {number}\n */\n get scale(): number {\n if (this._shift === 0) {\n return 0;\n }\n return -this._shift;\n }\n\n private _minNormalLowerBoundaryIndex(): number {\n let index = ieee754.MIN_NORMAL_EXPONENT >> this._shift;\n if (this._shift < 2) {\n index--;\n }\n\n return index;\n }\n\n private _maxNormalLowerBoundaryIndex(): number {\n return ieee754.MAX_NORMAL_EXPONENT >> this._shift;\n }\n}\n"]}
|
|
@@ -28,7 +28,7 @@ export class LogarithmMapping {
|
|
|
28
28
|
return this._minNormalLowerBoundaryIndex() - 1;
|
|
29
29
|
}
|
|
30
30
|
// exact power of two special case
|
|
31
|
-
if (ieee754.
|
|
31
|
+
if (ieee754.isPowerOfTwo(value)) {
|
|
32
32
|
const exp = ieee754.getNormalBase2(value);
|
|
33
33
|
return (exp << this._scale) - 1;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogarithmMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/LogarithmMapping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACV,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,cAAc,CAAS;IAExC,YAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9B,OAAO,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;SAChD;QAED,kCAAkC;QAClC,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"LogarithmMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/LogarithmMapping.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as ieee754 from './ieee754';\nimport * as util from '../util';\nimport type { Mapping } from './types';\nimport { MappingError } from './types';\n\n/**\n * LogarithmMapping implements exponential mapping functions for scale > 0.\n * For scales <= 0 the exponent mapping should be used.\n */\nexport class LogarithmMapping implements Mapping {\n private readonly _scale: number;\n private readonly _scaleFactor: number;\n private readonly _inverseFactor: number;\n\n constructor(scale: number) {\n this._scale = scale;\n this._scaleFactor = util.ldexp(Math.LOG2E, scale);\n this._inverseFactor = util.ldexp(Math.LN2, -scale);\n }\n\n /**\n * Maps positive floating point values to indexes corresponding to scale\n * @param value\n * @returns {number} index for provided value at the current scale\n */\n mapToIndex(value: number): number {\n if (value <= ieee754.MIN_VALUE) {\n return this._minNormalLowerBoundaryIndex() - 1;\n }\n\n // exact power of two special case\n if (ieee754.isPowerOfTwo(value)) {\n const exp = ieee754.getNormalBase2(value);\n return (exp << this._scale) - 1;\n }\n\n // non-power of two cases. use Math.floor to round the scaled logarithm\n const index = Math.floor(Math.log(value) * this._scaleFactor);\n const maxIndex = this._maxNormalLowerBoundaryIndex();\n if (index >= maxIndex) {\n return maxIndex;\n }\n\n return index;\n }\n\n /**\n * Returns the lower bucket boundary for the given index for scale\n *\n * @param index\n * @returns {number}\n */\n lowerBoundary(index: number): number {\n const maxIndex = this._maxNormalLowerBoundaryIndex();\n if (index >= maxIndex) {\n if (index === maxIndex) {\n return 2 * Math.exp((index - (1 << this._scale)) / this._scaleFactor);\n }\n throw new MappingError(\n `overflow: ${index} is > maximum lower boundary: ${maxIndex}`\n );\n }\n\n const minIndex = this._minNormalLowerBoundaryIndex();\n if (index <= minIndex) {\n if (index === minIndex) {\n return ieee754.MIN_VALUE;\n } else if (index === minIndex - 1) {\n return Math.exp((index + (1 << this._scale)) / this._scaleFactor) / 2;\n }\n throw new MappingError(\n `overflow: ${index} is < minimum lower boundary: ${minIndex}`\n );\n }\n\n return Math.exp(index * this._inverseFactor);\n }\n\n /**\n * The scale used by this mapping\n * @returns {number}\n */\n get scale(): number {\n return this._scale;\n }\n\n private _minNormalLowerBoundaryIndex(): number {\n return ieee754.MIN_NORMAL_EXPONENT << this._scale;\n }\n\n private _maxNormalLowerBoundaryIndex(): number {\n return ((ieee754.MAX_NORMAL_EXPONENT + 1) << this._scale) - 1;\n }\n}\n"]}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The functions and constants in this file allow us to interact
|
|
3
|
-
* with the internal representation of an IEEE 64-bit floating point
|
|
4
|
-
* number. We need to work with all 64-bits, thus, care needs to be
|
|
5
|
-
* taken when working with Javascript's bitwise operators (<<, >>, &,
|
|
6
|
-
* |, etc) as they truncate operands to 32-bits. In order to work around
|
|
7
|
-
* this we work with the 64-bits as two 32-bit halves, perform bitwise
|
|
8
|
-
* operations on them independently, and combine the results (if needed).
|
|
9
|
-
*/
|
|
10
|
-
export declare const SIGNIFICAND_WIDTH = 52;
|
|
11
1
|
/**
|
|
12
2
|
* MIN_NORMAL_EXPONENT is the minimum exponent of a normalized
|
|
13
3
|
* floating point: -1022.
|
|
@@ -33,9 +23,10 @@ export declare const MIN_VALUE: number;
|
|
|
33
23
|
*/
|
|
34
24
|
export declare function getNormalBase2(value: number): number;
|
|
35
25
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* @
|
|
26
|
+
* isPowerOfTwo reports whether value is an exact power of two, e.g. its 52-bit
|
|
27
|
+
* significand is all zeros. Only valid for positive, finite values.
|
|
28
|
+
* @param {number} value - the floating point number to test
|
|
29
|
+
* @returns {boolean} true if value is an exact power of two
|
|
39
30
|
*/
|
|
40
|
-
export declare function
|
|
31
|
+
export declare function isPowerOfTwo(value: number): boolean;
|
|
41
32
|
//# sourceMappingURL=ieee754.d.ts.map
|
|
@@ -8,10 +8,9 @@
|
|
|
8
8
|
* number. We need to work with all 64-bits, thus, care needs to be
|
|
9
9
|
* taken when working with Javascript's bitwise operators (<<, >>, &,
|
|
10
10
|
* |, etc) as they truncate operands to 32-bits. In order to work around
|
|
11
|
-
* this we work with the 64-bits as two 32-bit halves
|
|
12
|
-
* operations on
|
|
11
|
+
* this we work with the 64-bits as two 32-bit halves and perform bitwise
|
|
12
|
+
* operations on each half independently.
|
|
13
13
|
*/
|
|
14
|
-
export const SIGNIFICAND_WIDTH = 52;
|
|
15
14
|
/**
|
|
16
15
|
* EXPONENT_MASK is set to 1 for the hi 32-bits of an IEEE 754
|
|
17
16
|
* floating point exponent: 0x7ff00000.
|
|
@@ -41,6 +40,19 @@ export const MAX_NORMAL_EXPONENT = EXPONENT_BIAS;
|
|
|
41
40
|
* MIN_VALUE is the smallest normal number
|
|
42
41
|
*/
|
|
43
42
|
export const MIN_VALUE = Math.pow(2, -1022);
|
|
43
|
+
// A single DataView, allocated once and reused. Sharing the buffer is safe
|
|
44
|
+
// because every read below is synchronous.
|
|
45
|
+
const dv = new DataView(new ArrayBuffer(8));
|
|
46
|
+
/**
|
|
47
|
+
* floatBits writes value into the shared buffer and returns its two 32-bit
|
|
48
|
+
* halves.
|
|
49
|
+
* @param {number} value - the floating point number to read
|
|
50
|
+
* @returns {{hi: number, lo: number}} the high and low 32-bit halves
|
|
51
|
+
*/
|
|
52
|
+
function floatBits(value) {
|
|
53
|
+
dv.setFloat64(0, value);
|
|
54
|
+
return { hi: dv.getUint32(0), lo: dv.getUint32(4) };
|
|
55
|
+
}
|
|
44
56
|
/**
|
|
45
57
|
* getNormalBase2 extracts the normalized base-2 fractional exponent.
|
|
46
58
|
* This returns k for the equation f x 2**k where f is
|
|
@@ -51,28 +63,17 @@ export const MIN_VALUE = Math.pow(2, -1022);
|
|
|
51
63
|
* @returns {number} the normalized base-2 exponent
|
|
52
64
|
*/
|
|
53
65
|
export function getNormalBase2(value) {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
// access the raw 64-bit float as 32-bit uints
|
|
57
|
-
const hiBits = dv.getUint32(0);
|
|
58
|
-
const expBits = (hiBits & EXPONENT_MASK) >> 20;
|
|
59
|
-
return expBits - EXPONENT_BIAS;
|
|
66
|
+
const { hi } = floatBits(value);
|
|
67
|
+
return ((hi & EXPONENT_MASK) >> 20) - EXPONENT_BIAS;
|
|
60
68
|
}
|
|
61
69
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* @
|
|
70
|
+
* isPowerOfTwo reports whether value is an exact power of two, e.g. its 52-bit
|
|
71
|
+
* significand is all zeros. Only valid for positive, finite values.
|
|
72
|
+
* @param {number} value - the floating point number to test
|
|
73
|
+
* @returns {boolean} true if value is an exact power of two
|
|
65
74
|
*/
|
|
66
|
-
export function
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
// access the raw 64-bit float as two 32-bit uints
|
|
70
|
-
const hiBits = dv.getUint32(0);
|
|
71
|
-
const loBits = dv.getUint32(4);
|
|
72
|
-
// extract the significand bits from the hi bits and left shift 32 places note:
|
|
73
|
-
// we can't use the native << operator as it will truncate the result to 32-bits
|
|
74
|
-
const significandHiBits = (hiBits & SIGNIFICAND_MASK) * Math.pow(2, 32);
|
|
75
|
-
// combine the hi and lo bits and return
|
|
76
|
-
return significandHiBits + loBits;
|
|
75
|
+
export function isPowerOfTwo(value) {
|
|
76
|
+
const { hi, lo } = floatBits(value);
|
|
77
|
+
return (hi & SIGNIFICAND_MASK) === 0 && lo === 0;
|
|
77
78
|
}
|
|
78
79
|
//# sourceMappingURL=ieee754.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ieee754.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/ieee754.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AAEH
|
|
1
|
+
{"version":3,"file":"ieee754.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/ieee754.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;;GAGG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAE5C,2EAA2E;AAC3E,2CAA2C;AAC3C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5C;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAa;IAC9B,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxB,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * The functions and constants in this file allow us to interact\n * with the internal representation of an IEEE 64-bit floating point\n * number. We need to work with all 64-bits, thus, care needs to be\n * taken when working with Javascript's bitwise operators (<<, >>, &,\n * |, etc) as they truncate operands to 32-bits. In order to work around\n * this we work with the 64-bits as two 32-bit halves and perform bitwise\n * operations on each half independently.\n */\n\n/**\n * EXPONENT_MASK is set to 1 for the hi 32-bits of an IEEE 754\n * floating point exponent: 0x7ff00000.\n */\nconst EXPONENT_MASK = 0x7ff00000;\n\n/**\n * SIGNIFICAND_MASK is the mask for the significand portion of the hi 32-bits\n * of an IEEE 754 double-precision floating-point value: 0xfffff\n */\nconst SIGNIFICAND_MASK = 0xfffff;\n\n/**\n * EXPONENT_BIAS is the exponent bias specified for encoding\n * the IEEE 754 double-precision floating point exponent: 1023\n */\nconst EXPONENT_BIAS = 1023;\n\n/**\n * MIN_NORMAL_EXPONENT is the minimum exponent of a normalized\n * floating point: -1022.\n */\nexport const MIN_NORMAL_EXPONENT = -EXPONENT_BIAS + 1;\n\n/**\n * MAX_NORMAL_EXPONENT is the maximum exponent of a normalized\n * floating point: 1023.\n */\nexport const MAX_NORMAL_EXPONENT = EXPONENT_BIAS;\n\n/**\n * MIN_VALUE is the smallest normal number\n */\nexport const MIN_VALUE = Math.pow(2, -1022);\n\n// A single DataView, allocated once and reused. Sharing the buffer is safe\n// because every read below is synchronous.\nconst dv = new DataView(new ArrayBuffer(8));\n\n/**\n * floatBits writes value into the shared buffer and returns its two 32-bit\n * halves.\n * @param {number} value - the floating point number to read\n * @returns {{hi: number, lo: number}} the high and low 32-bit halves\n */\nfunction floatBits(value: number): { hi: number; lo: number } {\n dv.setFloat64(0, value);\n return { hi: dv.getUint32(0), lo: dv.getUint32(4) };\n}\n\n/**\n * getNormalBase2 extracts the normalized base-2 fractional exponent.\n * This returns k for the equation f x 2**k where f is\n * in the range [1, 2). Note that this function is not called for\n * subnormal numbers.\n * @param {number} value - the value to determine normalized base-2 fractional\n * exponent for\n * @returns {number} the normalized base-2 exponent\n */\nexport function getNormalBase2(value: number): number {\n const { hi } = floatBits(value);\n return ((hi & EXPONENT_MASK) >> 20) - EXPONENT_BIAS;\n}\n\n/**\n * isPowerOfTwo reports whether value is an exact power of two, e.g. its 52-bit\n * significand is all zeros. Only valid for positive, finite values.\n * @param {number} value - the floating point number to test\n * @returns {boolean} true if value is an exact power of two\n */\nexport function isPowerOfTwo(value: number): boolean {\n const { hi, lo } = floatBits(value);\n return (hi & SIGNIFICAND_MASK) === 0 && lo === 0;\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.
|
|
1
|
+
export declare const VERSION = "2.11.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,QAAQ,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 = '2.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,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 = '2.11.0';\n"]}
|
package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js
CHANGED
|
@@ -155,9 +155,9 @@ class ExponentialHistogramAccumulation {
|
|
|
155
155
|
* @param increment
|
|
156
156
|
*/
|
|
157
157
|
updateByIncrement(value, increment) {
|
|
158
|
-
// NaN
|
|
159
|
-
//
|
|
160
|
-
if (Number.
|
|
158
|
+
// Drop NaN and ±Infinity: they belong in no bucket, are not zero, and would
|
|
159
|
+
// corrupt sum/min/max.
|
|
160
|
+
if (!Number.isFinite(value)) {
|
|
161
161
|
return;
|
|
162
162
|
}
|
|
163
163
|
if (value > this._max) {
|
package/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExponentialHistogram.js","sourceRoot":"","sources":["../../../src/aggregator/ExponentialHistogram.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n Accumulation,\n AccumulationRecord,\n Aggregator,\n ExponentialHistogram,\n} from './types';\nimport { AggregatorKind } from './types';\nimport type { ExponentialHistogramMetricData } from '../export/MetricData';\nimport { DataPointType, InstrumentType } from '../export/MetricData';\nimport type { HrTime } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Maybe } from '../utils';\nimport type { AggregationTemporality } from '../export/AggregationTemporality';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport { Buckets } from './exponential-histogram/Buckets';\nimport { getMapping } from './exponential-histogram/mapping/getMapping';\nimport type { Mapping } from './exponential-histogram/mapping/types';\nimport { nextGreaterSquare } from './exponential-histogram/util';\n\n/**\n * Internal value type for ExponentialHistogramAggregation.\n * Differs from the exported type as undefined sum/min/max complicate arithmetic\n * performed by this aggregation, but are required to be undefined in the exported types.\n */\ninterface InternalHistogram extends ExponentialHistogram {\n hasMinMax: boolean;\n min: number;\n max: number;\n sum: number;\n}\n\n// HighLow is a utility class used for computing a common scale for\n// two exponential histogram accumulations\nclass HighLow {\n static combine(h1: HighLow, h2: HighLow): HighLow {\n return new HighLow(Math.min(h1.low, h2.low), Math.max(h1.high, h2.high));\n }\n\n public low: number;\n public high: number;\n constructor(low: number, high: number) {\n this.low = low;\n this.high = high;\n }\n}\n\nconst MAX_SCALE = 20;\nconst DEFAULT_MAX_SIZE = 160;\nconst MIN_MAX_SIZE = 2;\n\nexport class ExponentialHistogramAccumulation implements Accumulation {\n public startTime;\n private _maxSize;\n private _recordMinMax;\n private _sum;\n private _count;\n private _zeroCount;\n private _min;\n private _max;\n private _positive;\n private _negative;\n private _mapping;\n\n constructor(\n startTime: HrTime,\n maxSize = DEFAULT_MAX_SIZE,\n recordMinMax = true,\n sum = 0,\n count = 0,\n zeroCount = 0,\n min = Number.POSITIVE_INFINITY,\n max = Number.NEGATIVE_INFINITY,\n positive = new Buckets(),\n negative = new Buckets(),\n mapping: Mapping = getMapping(MAX_SCALE)\n ) {\n this.startTime = startTime;\n this._maxSize = maxSize;\n this._recordMinMax = recordMinMax;\n this._sum = sum;\n this._count = count;\n this._zeroCount = zeroCount;\n this._min = min;\n this._max = max;\n this._positive = positive;\n this._negative = negative;\n this._mapping = mapping;\n\n if (this._maxSize < MIN_MAX_SIZE) {\n diag.warn(`Exponential Histogram Max Size set to ${this._maxSize}, \\\n changing to the minimum size of: ${MIN_MAX_SIZE}`);\n this._maxSize = MIN_MAX_SIZE;\n }\n }\n\n /**\n * record updates a histogram with a single count\n * @param {Number} value\n */\n record(value: number) {\n this.updateByIncrement(value, 1);\n }\n\n /**\n * Sets the start time for this accumulation\n * @param {HrTime} startTime\n */\n setStartTime(startTime: HrTime): void {\n this.startTime = startTime;\n }\n\n /**\n * Returns the datapoint representation of this accumulation\n * @param {HrTime} startTime\n */\n toPointValue(): InternalHistogram {\n return {\n hasMinMax: this._recordMinMax,\n min: this.min,\n max: this.max,\n sum: this.sum,\n positive: {\n offset: this.positive.offset,\n bucketCounts: this.positive.counts(),\n },\n negative: {\n offset: this.negative.offset,\n bucketCounts: this.negative.counts(),\n },\n count: this.count,\n scale: this.scale,\n zeroCount: this.zeroCount,\n };\n }\n\n /**\n * @returns {Number} The sum of values recorded by this accumulation\n */\n get sum(): number {\n return this._sum;\n }\n\n /**\n * @returns {Number} The minimum value recorded by this accumulation\n */\n get min(): number {\n return this._min;\n }\n\n /**\n * @returns {Number} The maximum value recorded by this accumulation\n */\n get max(): number {\n return this._max;\n }\n\n /**\n * @returns {Number} The count of values recorded by this accumulation\n */\n get count(): number {\n return this._count;\n }\n\n /**\n * @returns {Number} The number of 0 values recorded by this accumulation\n */\n get zeroCount(): number {\n return this._zeroCount;\n }\n\n /**\n * @returns {Number} The scale used by this accumulation\n */\n get scale(): number {\n if (this._count === this._zeroCount) {\n // all zeros! scale doesn't matter, use zero\n return 0;\n }\n return this._mapping.scale;\n }\n\n /**\n * positive holds the positive values\n * @returns {Buckets}\n */\n get positive(): Buckets {\n return this._positive;\n }\n\n /**\n * negative holds the negative values by their absolute value\n * @returns {Buckets}\n */\n get negative(): Buckets {\n return this._negative;\n }\n\n /**\n * updateByIncr supports updating a histogram with a non-negative\n * increment.\n * @param value\n * @param increment\n */\n updateByIncrement(value: number, increment: number) {\n // NaN does not fall into any bucket, is not zero and should not be counted,\n // NaN is never greater than max nor less than min, therefore return as there's nothing for us to do.\n if (Number.isNaN(value)) {\n return;\n }\n\n if (value > this._max) {\n this._max = value;\n }\n if (value < this._min) {\n this._min = value;\n }\n\n this._count += increment;\n\n if (value === 0) {\n this._zeroCount += increment;\n return;\n }\n\n this._sum += value * increment;\n\n if (value > 0) {\n this._updateBuckets(this._positive, value, increment);\n } else {\n this._updateBuckets(this._negative, -value, increment);\n }\n }\n\n /**\n * merge combines data from previous value into self\n * @param {ExponentialHistogramAccumulation} previous\n */\n merge(previous: ExponentialHistogramAccumulation) {\n if (this._count === 0) {\n this._min = previous.min;\n this._max = previous.max;\n } else if (previous.count !== 0) {\n if (previous.min < this.min) {\n this._min = previous.min;\n }\n if (previous.max > this.max) {\n this._max = previous.max;\n }\n }\n\n this.startTime = previous.startTime;\n this._sum += previous.sum;\n this._count += previous.count;\n this._zeroCount += previous.zeroCount;\n\n const minScale = this._minScale(previous);\n\n this._downscale(this.scale - minScale);\n\n this._mergeBuckets(this.positive, previous, previous.positive, minScale);\n this._mergeBuckets(this.negative, previous, previous.negative, minScale);\n }\n\n /**\n * diff subtracts other from self\n * @param {ExponentialHistogramAccumulation} other\n */\n diff(other: ExponentialHistogramAccumulation) {\n this._min = Infinity;\n this._max = -Infinity;\n this._sum -= other.sum;\n this._count -= other.count;\n this._zeroCount -= other.zeroCount;\n\n const minScale = this._minScale(other);\n\n this._downscale(this.scale - minScale);\n\n this._diffBuckets(this.positive, other, other.positive, minScale);\n this._diffBuckets(this.negative, other, other.negative, minScale);\n }\n\n /**\n * clone returns a deep copy of self\n * @returns {ExponentialHistogramAccumulation}\n */\n clone(): ExponentialHistogramAccumulation {\n return new ExponentialHistogramAccumulation(\n this.startTime,\n this._maxSize,\n this._recordMinMax,\n this._sum,\n this._count,\n this._zeroCount,\n this._min,\n this._max,\n this.positive.clone(),\n this.negative.clone(),\n this._mapping\n );\n }\n\n /**\n * _updateBuckets maps the incoming value to a bucket index for the current\n * scale. If the bucket index is outside of the range of the backing array,\n * it will rescale the backing array and update the mapping for the new scale.\n */\n private _updateBuckets(buckets: Buckets, value: number, increment: number) {\n let index = this._mapping.mapToIndex(value);\n\n // rescale the mapping if needed\n let rescalingNeeded = false;\n let high = 0;\n let low = 0;\n\n if (buckets.length === 0) {\n buckets.indexStart = index;\n buckets.indexEnd = buckets.indexStart;\n buckets.indexBase = buckets.indexStart;\n } else if (\n index < buckets.indexStart &&\n buckets.indexEnd - index >= this._maxSize\n ) {\n rescalingNeeded = true;\n low = index;\n high = buckets.indexEnd;\n } else if (\n index > buckets.indexEnd &&\n index - buckets.indexStart >= this._maxSize\n ) {\n rescalingNeeded = true;\n low = buckets.indexStart;\n high = index;\n }\n\n // rescale and compute index at new scale\n if (rescalingNeeded) {\n const change = this._changeScale(high, low);\n this._downscale(change);\n index = this._mapping.mapToIndex(value);\n }\n\n this._incrementIndexBy(buckets, index, increment);\n }\n\n /**\n * _incrementIndexBy increments the count of the bucket specified by `index`.\n * If the index is outside of the range [buckets.indexStart, buckets.indexEnd]\n * the boundaries of the backing array will be adjusted and more buckets will\n * be added if needed.\n */\n private _incrementIndexBy(\n buckets: Buckets,\n index: number,\n increment: number\n ) {\n if (increment === 0) {\n // nothing to do for a zero increment, can happen during a merge operation\n return;\n }\n\n if (buckets.length === 0) {\n buckets.indexStart = buckets.indexEnd = buckets.indexBase = index;\n }\n\n if (index < buckets.indexStart) {\n const span = buckets.indexEnd - index;\n if (span >= buckets.backing.length) {\n this._grow(buckets, span + 1);\n }\n buckets.indexStart = index;\n } else if (index > buckets.indexEnd) {\n const span = index - buckets.indexStart;\n if (span >= buckets.backing.length) {\n this._grow(buckets, span + 1);\n }\n buckets.indexEnd = index;\n }\n\n let bucketIndex = index - buckets.indexBase;\n if (bucketIndex < 0) {\n bucketIndex += buckets.backing.length;\n }\n buckets.incrementBucket(bucketIndex, increment);\n }\n\n /**\n * grow resizes the backing array by doubling in size up to maxSize.\n * This extends the array with a bunch of zeros and copies the\n * existing counts to the same position.\n */\n private _grow(buckets: Buckets, needed: number) {\n const size = buckets.backing.length;\n const bias = buckets.indexBase - buckets.indexStart;\n const oldPositiveLimit = size - bias;\n let newSize = nextGreaterSquare(needed);\n if (newSize > this._maxSize) {\n newSize = this._maxSize;\n }\n const newPositiveLimit = newSize - bias;\n buckets.backing.growTo(newSize, oldPositiveLimit, newPositiveLimit);\n }\n\n /**\n * _changeScale computes how much downscaling is needed by shifting the\n * high and low values until they are separated by no more than size.\n */\n private _changeScale(high: number, low: number): number {\n let change = 0;\n while (high - low >= this._maxSize) {\n high >>= 1;\n low >>= 1;\n change++;\n }\n return change;\n }\n\n /**\n * _downscale subtracts `change` from the current mapping scale.\n */\n private _downscale(change: number) {\n if (change === 0) {\n return;\n }\n if (change < 0) {\n // Note: this should be impossible. If we get here it's because\n // there is a bug in the implementation.\n throw new Error(`impossible change of scale: ${this.scale}`);\n }\n const newScale = this._mapping.scale - change;\n\n this._positive.downscale(change);\n this._negative.downscale(change);\n\n this._mapping = getMapping(newScale);\n }\n\n /**\n * _minScale is used by diff and merge to compute an ideal combined scale\n */\n private _minScale(other: ExponentialHistogramAccumulation): number {\n const minScale = Math.min(this.scale, other.scale);\n\n const highLowPos = HighLow.combine(\n this._highLowAtScale(this.positive, this.scale, minScale),\n this._highLowAtScale(other.positive, other.scale, minScale)\n );\n\n const highLowNeg = HighLow.combine(\n this._highLowAtScale(this.negative, this.scale, minScale),\n this._highLowAtScale(other.negative, other.scale, minScale)\n );\n\n return Math.min(\n minScale - this._changeScale(highLowPos.high, highLowPos.low),\n minScale - this._changeScale(highLowNeg.high, highLowNeg.low)\n );\n }\n\n /**\n * _highLowAtScale is used by diff and merge to compute an ideal combined scale.\n */\n private _highLowAtScale(\n buckets: Buckets,\n currentScale: number,\n newScale: number\n ): HighLow {\n if (buckets.length === 0) {\n return new HighLow(0, -1);\n }\n const shift = currentScale - newScale;\n return new HighLow(buckets.indexStart >> shift, buckets.indexEnd >> shift);\n }\n\n /**\n * _mergeBuckets translates index values from another histogram and\n * adds the values into the corresponding buckets of this histogram.\n */\n private _mergeBuckets(\n ours: Buckets,\n other: ExponentialHistogramAccumulation,\n theirs: Buckets,\n scale: number\n ) {\n const theirOffset = theirs.offset;\n const theirChange = other.scale - scale;\n\n for (let i = 0; i < theirs.length; i++) {\n this._incrementIndexBy(\n ours,\n (theirOffset + i) >> theirChange,\n theirs.at(i)\n );\n }\n }\n\n /**\n * _diffBuckets translates index values from another histogram and\n * subtracts the values in the corresponding buckets of this histogram.\n */\n private _diffBuckets(\n ours: Buckets,\n other: ExponentialHistogramAccumulation,\n theirs: Buckets,\n scale: number\n ) {\n const theirOffset = theirs.offset;\n const theirChange = other.scale - scale;\n\n for (let i = 0; i < theirs.length; i++) {\n const ourIndex = (theirOffset + i) >> theirChange;\n let bucketIndex = ourIndex - ours.indexBase;\n if (bucketIndex < 0) {\n bucketIndex += ours.backing.length;\n }\n ours.decrementBucket(bucketIndex, theirs.at(i));\n }\n\n ours.trim();\n }\n}\n\n/**\n * Aggregator for ExponentialHistogramAccumulations\n */\nexport class ExponentialHistogramAggregator\n implements Aggregator<ExponentialHistogramAccumulation>\n{\n public kind: AggregatorKind.EXPONENTIAL_HISTOGRAM =\n AggregatorKind.EXPONENTIAL_HISTOGRAM;\n\n readonly _maxSize: number;\n private readonly _recordMinMax: boolean;\n /**\n * @param _maxSize Maximum number of buckets for each of the positive\n * and negative ranges, exclusive of the zero-bucket.\n * @param _recordMinMax If set to true, min and max will be recorded.\n * Otherwise, min and max will not be recorded.\n */\n constructor(maxSize: number, recordMinMax: boolean) {\n this._maxSize = maxSize;\n this._recordMinMax = recordMinMax;\n }\n\n createAccumulation(startTime: HrTime) {\n return new ExponentialHistogramAccumulation(\n startTime,\n this._maxSize,\n this._recordMinMax\n );\n }\n\n /**\n * Return the result of the merge of two exponential histogram accumulations.\n */\n merge(\n previous: ExponentialHistogramAccumulation,\n delta: ExponentialHistogramAccumulation\n ): ExponentialHistogramAccumulation {\n const result = delta.clone();\n result.merge(previous);\n\n return result;\n }\n\n /**\n * Returns a new DELTA aggregation by comparing two cumulative measurements.\n */\n diff(\n previous: ExponentialHistogramAccumulation,\n current: ExponentialHistogramAccumulation\n ): ExponentialHistogramAccumulation {\n const result = current.clone();\n result.diff(previous);\n\n return result;\n }\n\n toMetricData(\n descriptor: InstrumentDescriptor,\n aggregationTemporality: AggregationTemporality,\n accumulationByAttributes: AccumulationRecord<ExponentialHistogramAccumulation>[],\n endTime: HrTime\n ): Maybe<ExponentialHistogramMetricData> {\n return {\n descriptor,\n aggregationTemporality,\n dataPointType: DataPointType.EXPONENTIAL_HISTOGRAM,\n dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => {\n const pointValue = accumulation.toPointValue();\n\n // determine if instrument allows negative values.\n const allowsNegativeValues =\n descriptor.type === InstrumentType.GAUGE ||\n descriptor.type === InstrumentType.UP_DOWN_COUNTER ||\n descriptor.type === InstrumentType.OBSERVABLE_GAUGE ||\n descriptor.type === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER;\n\n return {\n attributes,\n startTime: accumulation.startTime,\n endTime,\n value: {\n min: pointValue.hasMinMax ? pointValue.min : undefined,\n max: pointValue.hasMinMax ? pointValue.max : undefined,\n sum: !allowsNegativeValues ? pointValue.sum : undefined,\n positive: {\n offset: pointValue.positive.offset,\n bucketCounts: pointValue.positive.bucketCounts,\n },\n negative: {\n offset: pointValue.negative.offset,\n bucketCounts: pointValue.negative.bucketCounts,\n },\n count: pointValue.count,\n scale: pointValue.scale,\n zeroCount: pointValue.zeroCount,\n },\n };\n }),\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ExponentialHistogram.js","sourceRoot":"","sources":["../../../src/aggregator/ExponentialHistogram.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n Accumulation,\n AccumulationRecord,\n Aggregator,\n ExponentialHistogram,\n} from './types';\nimport { AggregatorKind } from './types';\nimport type { ExponentialHistogramMetricData } from '../export/MetricData';\nimport { DataPointType, InstrumentType } from '../export/MetricData';\nimport type { HrTime } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Maybe } from '../utils';\nimport type { AggregationTemporality } from '../export/AggregationTemporality';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport { Buckets } from './exponential-histogram/Buckets';\nimport { getMapping } from './exponential-histogram/mapping/getMapping';\nimport type { Mapping } from './exponential-histogram/mapping/types';\nimport { nextGreaterSquare } from './exponential-histogram/util';\n\n/**\n * Internal value type for ExponentialHistogramAggregation.\n * Differs from the exported type as undefined sum/min/max complicate arithmetic\n * performed by this aggregation, but are required to be undefined in the exported types.\n */\ninterface InternalHistogram extends ExponentialHistogram {\n hasMinMax: boolean;\n min: number;\n max: number;\n sum: number;\n}\n\n// HighLow is a utility class used for computing a common scale for\n// two exponential histogram accumulations\nclass HighLow {\n static combine(h1: HighLow, h2: HighLow): HighLow {\n return new HighLow(Math.min(h1.low, h2.low), Math.max(h1.high, h2.high));\n }\n\n public low: number;\n public high: number;\n constructor(low: number, high: number) {\n this.low = low;\n this.high = high;\n }\n}\n\nconst MAX_SCALE = 20;\nconst DEFAULT_MAX_SIZE = 160;\nconst MIN_MAX_SIZE = 2;\n\nexport class ExponentialHistogramAccumulation implements Accumulation {\n public startTime;\n private _maxSize;\n private _recordMinMax;\n private _sum;\n private _count;\n private _zeroCount;\n private _min;\n private _max;\n private _positive;\n private _negative;\n private _mapping;\n\n constructor(\n startTime: HrTime,\n maxSize = DEFAULT_MAX_SIZE,\n recordMinMax = true,\n sum = 0,\n count = 0,\n zeroCount = 0,\n min = Number.POSITIVE_INFINITY,\n max = Number.NEGATIVE_INFINITY,\n positive = new Buckets(),\n negative = new Buckets(),\n mapping: Mapping = getMapping(MAX_SCALE)\n ) {\n this.startTime = startTime;\n this._maxSize = maxSize;\n this._recordMinMax = recordMinMax;\n this._sum = sum;\n this._count = count;\n this._zeroCount = zeroCount;\n this._min = min;\n this._max = max;\n this._positive = positive;\n this._negative = negative;\n this._mapping = mapping;\n\n if (this._maxSize < MIN_MAX_SIZE) {\n diag.warn(`Exponential Histogram Max Size set to ${this._maxSize}, \\\n changing to the minimum size of: ${MIN_MAX_SIZE}`);\n this._maxSize = MIN_MAX_SIZE;\n }\n }\n\n /**\n * record updates a histogram with a single count\n * @param {Number} value\n */\n record(value: number) {\n this.updateByIncrement(value, 1);\n }\n\n /**\n * Sets the start time for this accumulation\n * @param {HrTime} startTime\n */\n setStartTime(startTime: HrTime): void {\n this.startTime = startTime;\n }\n\n /**\n * Returns the datapoint representation of this accumulation\n * @param {HrTime} startTime\n */\n toPointValue(): InternalHistogram {\n return {\n hasMinMax: this._recordMinMax,\n min: this.min,\n max: this.max,\n sum: this.sum,\n positive: {\n offset: this.positive.offset,\n bucketCounts: this.positive.counts(),\n },\n negative: {\n offset: this.negative.offset,\n bucketCounts: this.negative.counts(),\n },\n count: this.count,\n scale: this.scale,\n zeroCount: this.zeroCount,\n };\n }\n\n /**\n * @returns {Number} The sum of values recorded by this accumulation\n */\n get sum(): number {\n return this._sum;\n }\n\n /**\n * @returns {Number} The minimum value recorded by this accumulation\n */\n get min(): number {\n return this._min;\n }\n\n /**\n * @returns {Number} The maximum value recorded by this accumulation\n */\n get max(): number {\n return this._max;\n }\n\n /**\n * @returns {Number} The count of values recorded by this accumulation\n */\n get count(): number {\n return this._count;\n }\n\n /**\n * @returns {Number} The number of 0 values recorded by this accumulation\n */\n get zeroCount(): number {\n return this._zeroCount;\n }\n\n /**\n * @returns {Number} The scale used by this accumulation\n */\n get scale(): number {\n if (this._count === this._zeroCount) {\n // all zeros! scale doesn't matter, use zero\n return 0;\n }\n return this._mapping.scale;\n }\n\n /**\n * positive holds the positive values\n * @returns {Buckets}\n */\n get positive(): Buckets {\n return this._positive;\n }\n\n /**\n * negative holds the negative values by their absolute value\n * @returns {Buckets}\n */\n get negative(): Buckets {\n return this._negative;\n }\n\n /**\n * updateByIncr supports updating a histogram with a non-negative\n * increment.\n * @param value\n * @param increment\n */\n updateByIncrement(value: number, increment: number) {\n // Drop NaN and ±Infinity: they belong in no bucket, are not zero, and would\n // corrupt sum/min/max.\n if (!Number.isFinite(value)) {\n return;\n }\n\n if (value > this._max) {\n this._max = value;\n }\n if (value < this._min) {\n this._min = value;\n }\n\n this._count += increment;\n\n if (value === 0) {\n this._zeroCount += increment;\n return;\n }\n\n this._sum += value * increment;\n\n if (value > 0) {\n this._updateBuckets(this._positive, value, increment);\n } else {\n this._updateBuckets(this._negative, -value, increment);\n }\n }\n\n /**\n * merge combines data from previous value into self\n * @param {ExponentialHistogramAccumulation} previous\n */\n merge(previous: ExponentialHistogramAccumulation) {\n if (this._count === 0) {\n this._min = previous.min;\n this._max = previous.max;\n } else if (previous.count !== 0) {\n if (previous.min < this.min) {\n this._min = previous.min;\n }\n if (previous.max > this.max) {\n this._max = previous.max;\n }\n }\n\n this.startTime = previous.startTime;\n this._sum += previous.sum;\n this._count += previous.count;\n this._zeroCount += previous.zeroCount;\n\n const minScale = this._minScale(previous);\n\n this._downscale(this.scale - minScale);\n\n this._mergeBuckets(this.positive, previous, previous.positive, minScale);\n this._mergeBuckets(this.negative, previous, previous.negative, minScale);\n }\n\n /**\n * diff subtracts other from self\n * @param {ExponentialHistogramAccumulation} other\n */\n diff(other: ExponentialHistogramAccumulation) {\n this._min = Infinity;\n this._max = -Infinity;\n this._sum -= other.sum;\n this._count -= other.count;\n this._zeroCount -= other.zeroCount;\n\n const minScale = this._minScale(other);\n\n this._downscale(this.scale - minScale);\n\n this._diffBuckets(this.positive, other, other.positive, minScale);\n this._diffBuckets(this.negative, other, other.negative, minScale);\n }\n\n /**\n * clone returns a deep copy of self\n * @returns {ExponentialHistogramAccumulation}\n */\n clone(): ExponentialHistogramAccumulation {\n return new ExponentialHistogramAccumulation(\n this.startTime,\n this._maxSize,\n this._recordMinMax,\n this._sum,\n this._count,\n this._zeroCount,\n this._min,\n this._max,\n this.positive.clone(),\n this.negative.clone(),\n this._mapping\n );\n }\n\n /**\n * _updateBuckets maps the incoming value to a bucket index for the current\n * scale. If the bucket index is outside of the range of the backing array,\n * it will rescale the backing array and update the mapping for the new scale.\n */\n private _updateBuckets(buckets: Buckets, value: number, increment: number) {\n let index = this._mapping.mapToIndex(value);\n\n // rescale the mapping if needed\n let rescalingNeeded = false;\n let high = 0;\n let low = 0;\n\n if (buckets.length === 0) {\n buckets.indexStart = index;\n buckets.indexEnd = buckets.indexStart;\n buckets.indexBase = buckets.indexStart;\n } else if (\n index < buckets.indexStart &&\n buckets.indexEnd - index >= this._maxSize\n ) {\n rescalingNeeded = true;\n low = index;\n high = buckets.indexEnd;\n } else if (\n index > buckets.indexEnd &&\n index - buckets.indexStart >= this._maxSize\n ) {\n rescalingNeeded = true;\n low = buckets.indexStart;\n high = index;\n }\n\n // rescale and compute index at new scale\n if (rescalingNeeded) {\n const change = this._changeScale(high, low);\n this._downscale(change);\n index = this._mapping.mapToIndex(value);\n }\n\n this._incrementIndexBy(buckets, index, increment);\n }\n\n /**\n * _incrementIndexBy increments the count of the bucket specified by `index`.\n * If the index is outside of the range [buckets.indexStart, buckets.indexEnd]\n * the boundaries of the backing array will be adjusted and more buckets will\n * be added if needed.\n */\n private _incrementIndexBy(\n buckets: Buckets,\n index: number,\n increment: number\n ) {\n if (increment === 0) {\n // nothing to do for a zero increment, can happen during a merge operation\n return;\n }\n\n if (buckets.length === 0) {\n buckets.indexStart = buckets.indexEnd = buckets.indexBase = index;\n }\n\n if (index < buckets.indexStart) {\n const span = buckets.indexEnd - index;\n if (span >= buckets.backing.length) {\n this._grow(buckets, span + 1);\n }\n buckets.indexStart = index;\n } else if (index > buckets.indexEnd) {\n const span = index - buckets.indexStart;\n if (span >= buckets.backing.length) {\n this._grow(buckets, span + 1);\n }\n buckets.indexEnd = index;\n }\n\n let bucketIndex = index - buckets.indexBase;\n if (bucketIndex < 0) {\n bucketIndex += buckets.backing.length;\n }\n buckets.incrementBucket(bucketIndex, increment);\n }\n\n /**\n * grow resizes the backing array by doubling in size up to maxSize.\n * This extends the array with a bunch of zeros and copies the\n * existing counts to the same position.\n */\n private _grow(buckets: Buckets, needed: number) {\n const size = buckets.backing.length;\n const bias = buckets.indexBase - buckets.indexStart;\n const oldPositiveLimit = size - bias;\n let newSize = nextGreaterSquare(needed);\n if (newSize > this._maxSize) {\n newSize = this._maxSize;\n }\n const newPositiveLimit = newSize - bias;\n buckets.backing.growTo(newSize, oldPositiveLimit, newPositiveLimit);\n }\n\n /**\n * _changeScale computes how much downscaling is needed by shifting the\n * high and low values until they are separated by no more than size.\n */\n private _changeScale(high: number, low: number): number {\n let change = 0;\n while (high - low >= this._maxSize) {\n high >>= 1;\n low >>= 1;\n change++;\n }\n return change;\n }\n\n /**\n * _downscale subtracts `change` from the current mapping scale.\n */\n private _downscale(change: number) {\n if (change === 0) {\n return;\n }\n if (change < 0) {\n // Note: this should be impossible. If we get here it's because\n // there is a bug in the implementation.\n throw new Error(`impossible change of scale: ${this.scale}`);\n }\n const newScale = this._mapping.scale - change;\n\n this._positive.downscale(change);\n this._negative.downscale(change);\n\n this._mapping = getMapping(newScale);\n }\n\n /**\n * _minScale is used by diff and merge to compute an ideal combined scale\n */\n private _minScale(other: ExponentialHistogramAccumulation): number {\n const minScale = Math.min(this.scale, other.scale);\n\n const highLowPos = HighLow.combine(\n this._highLowAtScale(this.positive, this.scale, minScale),\n this._highLowAtScale(other.positive, other.scale, minScale)\n );\n\n const highLowNeg = HighLow.combine(\n this._highLowAtScale(this.negative, this.scale, minScale),\n this._highLowAtScale(other.negative, other.scale, minScale)\n );\n\n return Math.min(\n minScale - this._changeScale(highLowPos.high, highLowPos.low),\n minScale - this._changeScale(highLowNeg.high, highLowNeg.low)\n );\n }\n\n /**\n * _highLowAtScale is used by diff and merge to compute an ideal combined scale.\n */\n private _highLowAtScale(\n buckets: Buckets,\n currentScale: number,\n newScale: number\n ): HighLow {\n if (buckets.length === 0) {\n return new HighLow(0, -1);\n }\n const shift = currentScale - newScale;\n return new HighLow(buckets.indexStart >> shift, buckets.indexEnd >> shift);\n }\n\n /**\n * _mergeBuckets translates index values from another histogram and\n * adds the values into the corresponding buckets of this histogram.\n */\n private _mergeBuckets(\n ours: Buckets,\n other: ExponentialHistogramAccumulation,\n theirs: Buckets,\n scale: number\n ) {\n const theirOffset = theirs.offset;\n const theirChange = other.scale - scale;\n\n for (let i = 0; i < theirs.length; i++) {\n this._incrementIndexBy(\n ours,\n (theirOffset + i) >> theirChange,\n theirs.at(i)\n );\n }\n }\n\n /**\n * _diffBuckets translates index values from another histogram and\n * subtracts the values in the corresponding buckets of this histogram.\n */\n private _diffBuckets(\n ours: Buckets,\n other: ExponentialHistogramAccumulation,\n theirs: Buckets,\n scale: number\n ) {\n const theirOffset = theirs.offset;\n const theirChange = other.scale - scale;\n\n for (let i = 0; i < theirs.length; i++) {\n const ourIndex = (theirOffset + i) >> theirChange;\n let bucketIndex = ourIndex - ours.indexBase;\n if (bucketIndex < 0) {\n bucketIndex += ours.backing.length;\n }\n ours.decrementBucket(bucketIndex, theirs.at(i));\n }\n\n ours.trim();\n }\n}\n\n/**\n * Aggregator for ExponentialHistogramAccumulations\n */\nexport class ExponentialHistogramAggregator\n implements Aggregator<ExponentialHistogramAccumulation>\n{\n public kind: AggregatorKind.EXPONENTIAL_HISTOGRAM =\n AggregatorKind.EXPONENTIAL_HISTOGRAM;\n\n readonly _maxSize: number;\n private readonly _recordMinMax: boolean;\n /**\n * @param _maxSize Maximum number of buckets for each of the positive\n * and negative ranges, exclusive of the zero-bucket.\n * @param _recordMinMax If set to true, min and max will be recorded.\n * Otherwise, min and max will not be recorded.\n */\n constructor(maxSize: number, recordMinMax: boolean) {\n this._maxSize = maxSize;\n this._recordMinMax = recordMinMax;\n }\n\n createAccumulation(startTime: HrTime) {\n return new ExponentialHistogramAccumulation(\n startTime,\n this._maxSize,\n this._recordMinMax\n );\n }\n\n /**\n * Return the result of the merge of two exponential histogram accumulations.\n */\n merge(\n previous: ExponentialHistogramAccumulation,\n delta: ExponentialHistogramAccumulation\n ): ExponentialHistogramAccumulation {\n const result = delta.clone();\n result.merge(previous);\n\n return result;\n }\n\n /**\n * Returns a new DELTA aggregation by comparing two cumulative measurements.\n */\n diff(\n previous: ExponentialHistogramAccumulation,\n current: ExponentialHistogramAccumulation\n ): ExponentialHistogramAccumulation {\n const result = current.clone();\n result.diff(previous);\n\n return result;\n }\n\n toMetricData(\n descriptor: InstrumentDescriptor,\n aggregationTemporality: AggregationTemporality,\n accumulationByAttributes: AccumulationRecord<ExponentialHistogramAccumulation>[],\n endTime: HrTime\n ): Maybe<ExponentialHistogramMetricData> {\n return {\n descriptor,\n aggregationTemporality,\n dataPointType: DataPointType.EXPONENTIAL_HISTOGRAM,\n dataPoints: accumulationByAttributes.map(([attributes, accumulation]) => {\n const pointValue = accumulation.toPointValue();\n\n // determine if instrument allows negative values.\n const allowsNegativeValues =\n descriptor.type === InstrumentType.GAUGE ||\n descriptor.type === InstrumentType.UP_DOWN_COUNTER ||\n descriptor.type === InstrumentType.OBSERVABLE_GAUGE ||\n descriptor.type === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER;\n\n return {\n attributes,\n startTime: accumulation.startTime,\n endTime,\n value: {\n min: pointValue.hasMinMax ? pointValue.min : undefined,\n max: pointValue.hasMinMax ? pointValue.max : undefined,\n sum: !allowsNegativeValues ? pointValue.sum : undefined,\n positive: {\n offset: pointValue.positive.offset,\n bucketCounts: pointValue.positive.bucketCounts,\n },\n negative: {\n offset: pointValue.negative.offset,\n bucketCounts: pointValue.negative.bucketCounts,\n },\n count: pointValue.count,\n scale: pointValue.scale,\n zeroCount: pointValue.zeroCount,\n },\n };\n }),\n };\n }\n}\n"]}
|
|
@@ -27,11 +27,9 @@ class ExponentMapping {
|
|
|
27
27
|
return this._minNormalLowerBoundaryIndex();
|
|
28
28
|
}
|
|
29
29
|
const exp = ieee754.getNormalBase2(value);
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
// operators do not support
|
|
34
|
-
const correction = this._rightShift(ieee754.getSignificand(value) - 1, ieee754.SIGNIFICAND_WIDTH);
|
|
30
|
+
// An exact power of two sits on a bucket boundary; correct by -1 so it
|
|
31
|
+
// falls into the lower bucket.
|
|
32
|
+
const correction = ieee754.isPowerOfTwo(value) ? -1 : 0;
|
|
35
33
|
return (exp + correction) >> this._shift;
|
|
36
34
|
}
|
|
37
35
|
/**
|
|
@@ -71,9 +69,6 @@ class ExponentMapping {
|
|
|
71
69
|
_maxNormalLowerBoundaryIndex() {
|
|
72
70
|
return ieee754.MAX_NORMAL_EXPONENT >> this._shift;
|
|
73
71
|
}
|
|
74
|
-
_rightShift(value, shift) {
|
|
75
|
-
return Math.floor(value * Math.pow(2, -shift));
|
|
76
|
-
}
|
|
77
72
|
}
|
|
78
73
|
exports.ExponentMapping = ExponentMapping;
|
|
79
74
|
//# sourceMappingURL=ExponentMapping.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExponentMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/ExponentMapping.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,qCAAqC;AACrC,gCAAgC;AAEhC,mCAAuC;AAEvC;;;GAGG;AACH,MAAa,eAAe;IACT,MAAM,CAAS;IAEhC,YAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC5C;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE1C,
|
|
1
|
+
{"version":3,"file":"ExponentMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/ExponentMapping.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,qCAAqC;AACrC,gCAAgC;AAEhC,mCAAuC;AAEvC;;;GAGG;AACH,MAAa,eAAe;IACT,MAAM,CAAS;IAEhC,YAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC5C;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE1C,uEAAuE;QACvE,+BAA+B;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAa;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,MAAM,IAAI,oBAAY,CACpB,cAAc,KAAK,iCAAiC,QAAQ,EAAE,CAC/D,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrD,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,MAAM,IAAI,oBAAY,CACpB,aAAa,KAAK,iCAAiC,QAAQ,EAAE,CAC9D,CAAC;SACH;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAEO,4BAA4B;QAClC,IAAI,KAAK,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,KAAK,EAAE,CAAC;SACT;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,4BAA4B;QAClC,OAAO,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC;IACpD,CAAC;CACF;AAxED,0CAwEC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as ieee754 from './ieee754';\nimport * as util from '../util';\nimport type { Mapping } from './types';\nimport { MappingError } from './types';\n\n/**\n * ExponentMapping implements exponential mapping functions for\n * scales <=0. For scales > 0 LogarithmMapping should be used.\n */\nexport class ExponentMapping implements Mapping {\n private readonly _shift: number;\n\n constructor(scale: number) {\n this._shift = -scale;\n }\n\n /**\n * Maps positive floating point values to indexes corresponding to scale\n * @param value\n * @returns {number} index for provided value at the current scale\n */\n mapToIndex(value: number): number {\n if (value < ieee754.MIN_VALUE) {\n return this._minNormalLowerBoundaryIndex();\n }\n\n const exp = ieee754.getNormalBase2(value);\n\n // An exact power of two sits on a bucket boundary; correct by -1 so it\n // falls into the lower bucket.\n const correction = ieee754.isPowerOfTwo(value) ? -1 : 0;\n\n return (exp + correction) >> this._shift;\n }\n\n /**\n * Returns the lower bucket boundary for the given index for scale\n *\n * @param index\n * @returns {number}\n */\n lowerBoundary(index: number): number {\n const minIndex = this._minNormalLowerBoundaryIndex();\n if (index < minIndex) {\n throw new MappingError(\n `underflow: ${index} is < minimum lower boundary: ${minIndex}`\n );\n }\n const maxIndex = this._maxNormalLowerBoundaryIndex();\n if (index > maxIndex) {\n throw new MappingError(\n `overflow: ${index} is > maximum lower boundary: ${maxIndex}`\n );\n }\n\n return util.ldexp(1, index << this._shift);\n }\n\n /**\n * The scale used by this mapping\n * @returns {number}\n */\n get scale(): number {\n if (this._shift === 0) {\n return 0;\n }\n return -this._shift;\n }\n\n private _minNormalLowerBoundaryIndex(): number {\n let index = ieee754.MIN_NORMAL_EXPONENT >> this._shift;\n if (this._shift < 2) {\n index--;\n }\n\n return index;\n }\n\n private _maxNormalLowerBoundaryIndex(): number {\n return ieee754.MAX_NORMAL_EXPONENT >> this._shift;\n }\n}\n"]}
|
|
@@ -31,7 +31,7 @@ class LogarithmMapping {
|
|
|
31
31
|
return this._minNormalLowerBoundaryIndex() - 1;
|
|
32
32
|
}
|
|
33
33
|
// exact power of two special case
|
|
34
|
-
if (ieee754.
|
|
34
|
+
if (ieee754.isPowerOfTwo(value)) {
|
|
35
35
|
const exp = ieee754.getNormalBase2(value);
|
|
36
36
|
return (exp << this._scale) - 1;
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogarithmMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/LogarithmMapping.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,qCAAqC;AACrC,gCAAgC;AAEhC,mCAAuC;AAEvC;;;GAGG;AACH,MAAa,gBAAgB;IACV,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,cAAc,CAAS;IAExC,YAAY,KAAa;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9B,OAAO,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;SAChD;QAED,kCAAkC;QAClC,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"LogarithmMapping.js","sourceRoot":"","sources":["../../../../../src/aggregator/exponential-histogram/mapping/LogarithmMapping.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as ieee754 from './ieee754';\nimport * as util from '../util';\nimport type { Mapping } from './types';\nimport { MappingError } from './types';\n\n/**\n * LogarithmMapping implements exponential mapping functions for scale > 0.\n * For scales <= 0 the exponent mapping should be used.\n */\nexport class LogarithmMapping implements Mapping {\n private readonly _scale: number;\n private readonly _scaleFactor: number;\n private readonly _inverseFactor: number;\n\n constructor(scale: number) {\n this._scale = scale;\n this._scaleFactor = util.ldexp(Math.LOG2E, scale);\n this._inverseFactor = util.ldexp(Math.LN2, -scale);\n }\n\n /**\n * Maps positive floating point values to indexes corresponding to scale\n * @param value\n * @returns {number} index for provided value at the current scale\n */\n mapToIndex(value: number): number {\n if (value <= ieee754.MIN_VALUE) {\n return this._minNormalLowerBoundaryIndex() - 1;\n }\n\n // exact power of two special case\n if (ieee754.isPowerOfTwo(value)) {\n const exp = ieee754.getNormalBase2(value);\n return (exp << this._scale) - 1;\n }\n\n // non-power of two cases. use Math.floor to round the scaled logarithm\n const index = Math.floor(Math.log(value) * this._scaleFactor);\n const maxIndex = this._maxNormalLowerBoundaryIndex();\n if (index >= maxIndex) {\n return maxIndex;\n }\n\n return index;\n }\n\n /**\n * Returns the lower bucket boundary for the given index for scale\n *\n * @param index\n * @returns {number}\n */\n lowerBoundary(index: number): number {\n const maxIndex = this._maxNormalLowerBoundaryIndex();\n if (index >= maxIndex) {\n if (index === maxIndex) {\n return 2 * Math.exp((index - (1 << this._scale)) / this._scaleFactor);\n }\n throw new MappingError(\n `overflow: ${index} is > maximum lower boundary: ${maxIndex}`\n );\n }\n\n const minIndex = this._minNormalLowerBoundaryIndex();\n if (index <= minIndex) {\n if (index === minIndex) {\n return ieee754.MIN_VALUE;\n } else if (index === minIndex - 1) {\n return Math.exp((index + (1 << this._scale)) / this._scaleFactor) / 2;\n }\n throw new MappingError(\n `overflow: ${index} is < minimum lower boundary: ${minIndex}`\n );\n }\n\n return Math.exp(index * this._inverseFactor);\n }\n\n /**\n * The scale used by this mapping\n * @returns {number}\n */\n get scale(): number {\n return this._scale;\n }\n\n private _minNormalLowerBoundaryIndex(): number {\n return ieee754.MIN_NORMAL_EXPONENT << this._scale;\n }\n\n private _maxNormalLowerBoundaryIndex(): number {\n return ((ieee754.MAX_NORMAL_EXPONENT + 1) << this._scale) - 1;\n }\n}\n"]}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The functions and constants in this file allow us to interact
|
|
3
|
-
* with the internal representation of an IEEE 64-bit floating point
|
|
4
|
-
* number. We need to work with all 64-bits, thus, care needs to be
|
|
5
|
-
* taken when working with Javascript's bitwise operators (<<, >>, &,
|
|
6
|
-
* |, etc) as they truncate operands to 32-bits. In order to work around
|
|
7
|
-
* this we work with the 64-bits as two 32-bit halves, perform bitwise
|
|
8
|
-
* operations on them independently, and combine the results (if needed).
|
|
9
|
-
*/
|
|
10
|
-
export declare const SIGNIFICAND_WIDTH = 52;
|
|
11
1
|
/**
|
|
12
2
|
* MIN_NORMAL_EXPONENT is the minimum exponent of a normalized
|
|
13
3
|
* floating point: -1022.
|
|
@@ -33,9 +23,10 @@ export declare const MIN_VALUE: number;
|
|
|
33
23
|
*/
|
|
34
24
|
export declare function getNormalBase2(value: number): number;
|
|
35
25
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* @
|
|
26
|
+
* isPowerOfTwo reports whether value is an exact power of two, e.g. its 52-bit
|
|
27
|
+
* significand is all zeros. Only valid for positive, finite values.
|
|
28
|
+
* @param {number} value - the floating point number to test
|
|
29
|
+
* @returns {boolean} true if value is an exact power of two
|
|
39
30
|
*/
|
|
40
|
-
export declare function
|
|
31
|
+
export declare function isPowerOfTwo(value: number): boolean;
|
|
41
32
|
//# sourceMappingURL=ieee754.d.ts.map
|
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.isPowerOfTwo = exports.getNormalBase2 = exports.MIN_VALUE = exports.MAX_NORMAL_EXPONENT = exports.MIN_NORMAL_EXPONENT = void 0;
|
|
8
8
|
/**
|
|
9
9
|
* The functions and constants in this file allow us to interact
|
|
10
10
|
* with the internal representation of an IEEE 64-bit floating point
|
|
11
11
|
* number. We need to work with all 64-bits, thus, care needs to be
|
|
12
12
|
* taken when working with Javascript's bitwise operators (<<, >>, &,
|
|
13
13
|
* |, etc) as they truncate operands to 32-bits. In order to work around
|
|
14
|
-
* this we work with the 64-bits as two 32-bit halves
|
|
15
|
-
* operations on
|
|
14
|
+
* this we work with the 64-bits as two 32-bit halves and perform bitwise
|
|
15
|
+
* operations on each half independently.
|
|
16
16
|
*/
|
|
17
|
-
exports.SIGNIFICAND_WIDTH = 52;
|
|
18
17
|
/**
|
|
19
18
|
* EXPONENT_MASK is set to 1 for the hi 32-bits of an IEEE 754
|
|
20
19
|
* floating point exponent: 0x7ff00000.
|
|
@@ -44,6 +43,19 @@ exports.MAX_NORMAL_EXPONENT = EXPONENT_BIAS;
|
|
|
44
43
|
* MIN_VALUE is the smallest normal number
|
|
45
44
|
*/
|
|
46
45
|
exports.MIN_VALUE = Math.pow(2, -1022);
|
|
46
|
+
// A single DataView, allocated once and reused. Sharing the buffer is safe
|
|
47
|
+
// because every read below is synchronous.
|
|
48
|
+
const dv = new DataView(new ArrayBuffer(8));
|
|
49
|
+
/**
|
|
50
|
+
* floatBits writes value into the shared buffer and returns its two 32-bit
|
|
51
|
+
* halves.
|
|
52
|
+
* @param {number} value - the floating point number to read
|
|
53
|
+
* @returns {{hi: number, lo: number}} the high and low 32-bit halves
|
|
54
|
+
*/
|
|
55
|
+
function floatBits(value) {
|
|
56
|
+
dv.setFloat64(0, value);
|
|
57
|
+
return { hi: dv.getUint32(0), lo: dv.getUint32(4) };
|
|
58
|
+
}
|
|
47
59
|
/**
|
|
48
60
|
* getNormalBase2 extracts the normalized base-2 fractional exponent.
|
|
49
61
|
* This returns k for the equation f x 2**k where f is
|
|
@@ -54,30 +66,19 @@ exports.MIN_VALUE = Math.pow(2, -1022);
|
|
|
54
66
|
* @returns {number} the normalized base-2 exponent
|
|
55
67
|
*/
|
|
56
68
|
function getNormalBase2(value) {
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
// access the raw 64-bit float as 32-bit uints
|
|
60
|
-
const hiBits = dv.getUint32(0);
|
|
61
|
-
const expBits = (hiBits & EXPONENT_MASK) >> 20;
|
|
62
|
-
return expBits - EXPONENT_BIAS;
|
|
69
|
+
const { hi } = floatBits(value);
|
|
70
|
+
return ((hi & EXPONENT_MASK) >> 20) - EXPONENT_BIAS;
|
|
63
71
|
}
|
|
64
72
|
exports.getNormalBase2 = getNormalBase2;
|
|
65
73
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* @
|
|
74
|
+
* isPowerOfTwo reports whether value is an exact power of two, e.g. its 52-bit
|
|
75
|
+
* significand is all zeros. Only valid for positive, finite values.
|
|
76
|
+
* @param {number} value - the floating point number to test
|
|
77
|
+
* @returns {boolean} true if value is an exact power of two
|
|
69
78
|
*/
|
|
70
|
-
function
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
// access the raw 64-bit float as two 32-bit uints
|
|
74
|
-
const hiBits = dv.getUint32(0);
|
|
75
|
-
const loBits = dv.getUint32(4);
|
|
76
|
-
// extract the significand bits from the hi bits and left shift 32 places note:
|
|
77
|
-
// we can't use the native << operator as it will truncate the result to 32-bits
|
|
78
|
-
const significandHiBits = (hiBits & SIGNIFICAND_MASK) * Math.pow(2, 32);
|
|
79
|
-
// combine the hi and lo bits and return
|
|
80
|
-
return significandHiBits + loBits;
|
|
79
|
+
function isPowerOfTwo(value) {
|
|
80
|
+
const { hi, lo } = floatBits(value);
|
|
81
|
+
return (hi & SIGNIFICAND_MASK) === 0 && lo === 0;
|
|
81
82
|
}
|
|
82
|
-
exports.
|
|
83
|
+
exports.isPowerOfTwo = isPowerOfTwo;
|
|
83
84
|
//# sourceMappingURL=ieee754.js.map
|