@equinor/fusion-framework-vite-plugin-spa 5.2.0 → 5.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -3
- package/dist/{create-legacy-browser-delegate-B4z_676L.js → create-legacy-browser-delegate-4GII-R4B.js} +41 -141
- package/dist/create-legacy-browser-delegate-4GII-R4B.js.map +1 -0
- package/dist/{enable-dev-server-tracing-DaQc5M9V.js → enable-dev-server-tracing-GfRoCLxu.js} +313 -223
- package/dist/enable-dev-server-tracing-GfRoCLxu.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/html/bootstrap.js +139 -13
- package/dist/html/bootstrap.js.map +1 -1
- package/dist/{index-BO_d5C6N.js → index-CiqJ1Og1.js} +3 -3
- package/dist/{index-BO_d5C6N.js.map → index-CiqJ1Og1.js.map} +1 -1
- package/dist/{index-CDpTfyge.js → index-glg6-DFO.js} +2 -2
- package/dist/{index-CDpTfyge.js.map → index-glg6-DFO.js.map} +1 -1
- package/dist/{module-Xg35JJRU.js → module-BR47HvRl.js} +733 -297
- package/dist/module-BR47HvRl.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/html/html.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +12 -12
- package/dist/create-legacy-browser-delegate-B4z_676L.js.map +0 -1
- package/dist/enable-dev-server-tracing-DaQc5M9V.js.map +0 -1
- package/dist/module-Xg35JJRU.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { B as BaseTelemetryAdapter } from './TelemetryAdapter-B6JH_RXA.js';
|
|
2
|
-
import { h as createResource, f as createInstrumentationScope, j as toAttributes,
|
|
2
|
+
import { h as createResource, f as createInstrumentationScope, j as toAttributes, _ as toAnyValue, d as diag, J as JSON_ENCODER, O as OTLPExporterBase, k as createLegacyOtlpBrowserExportDelegate, Q as timeInputToHrTime, t as trace, a as isSpanContextValid, v as ATTR_EXCEPTION_MESSAGE, A as ATTR_EXCEPTION_TYPE, w as ATTR_EXCEPTION_STACKTRACE, x as context, T as TraceFlags, E as createNoopMeter, H as defaultResource, B as BindOnceFuture, $ as createNoopLogger, y as globalErrorHandler, F as suppressTracing, G as ExportResultCode, Z as resourceFromAttributes } from './create-legacy-browser-delegate-4GII-R4B.js';
|
|
3
3
|
|
|
4
4
|
/*
|
|
5
5
|
* Copyright The OpenTelemetry Authors
|
|
@@ -914,7 +914,7 @@ class LoggerMetrics {
|
|
|
914
914
|
* SPDX-License-Identifier: Apache-2.0
|
|
915
915
|
*/
|
|
916
916
|
// this is autogenerated file, see scripts/version-update.js
|
|
917
|
-
const VERSION = '0.
|
|
917
|
+
const VERSION = '0.223.0';
|
|
918
918
|
|
|
919
919
|
/*
|
|
920
920
|
* Copyright The OpenTelemetry Authors
|
|
@@ -1567,4 +1567,4 @@ class OtlpAdapter extends BaseTelemetryAdapter {
|
|
|
1567
1567
|
}
|
|
1568
1568
|
|
|
1569
1569
|
export { OtlpAdapter };
|
|
1570
|
-
//# sourceMappingURL=index-
|
|
1570
|
+
//# sourceMappingURL=index-CiqJ1Og1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-BO_d5C6N.js","sources":["../../../../node_modules/.pnpm/@opentelemetry+core@2.11.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/utils/timeout.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.222.0/node_modules/@opentelemetry/api-logs/build/esm/types/LogRecord.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js","../../../../node_modules/.pnpm/@opentelemetry+exporter-logs-otlp-http@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+exporter-logs-otlp-http@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/platform/browser/OTLPLogExporter.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/export/NoopLogRecordProcessor.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/MultiLogRecordProcessor.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerMetrics.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/version.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/internal/LoggerProviderSharedState.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/export/LogRecordProcessorMetrics.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.222.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/platform/browser/export/BatchLogRecordProcessor.js","../../../modules/telemetry/dist/esm/adapters/otlp/OtlpAdapter.js"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Error that is thrown on timeouts.\n */\nexport class TimeoutError extends Error {\n constructor(message) {\n super(message);\n // manually adjust prototype to retain `instanceof` functionality when targeting ES5, see:\n // https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n/**\n * Adds a timeout to a promise and rejects if the specified timeout has elapsed. Also rejects if the specified promise\n * rejects, and resolves if the specified promise resolves.\n *\n * <p> NOTE: this operation will continue even after it throws a {@link TimeoutError}.\n *\n * @param promise promise to use with timeout.\n * @param timeout the timeout in milliseconds until the returned promise is rejected.\n */\nexport function callWithTimeout(promise, timeout) {\n let timeoutHandle;\n const timeoutPromise = new Promise(function timeoutFunction(_resolve, reject) {\n timeoutHandle = setTimeout(function timeoutHandler() {\n reject(new TimeoutError('Operation timed out.'));\n }, timeout);\n });\n return Promise.race([promise, timeoutPromise]).then(result => {\n clearTimeout(timeoutHandle);\n return result;\n }, reason => {\n clearTimeout(timeoutHandle);\n throw reason;\n });\n}\n//# sourceMappingURL=timeout.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @experimental this helper may receive breaking changes in minor versions, pin this package's version when using this constant\n */\nexport const LogsExporterMetricsHelper = {\n name: 'log',\n countItems: (request) => request.length,\n};\n//# sourceMappingURL=index.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport var SeverityNumber;\n(function (SeverityNumber) {\n SeverityNumber[SeverityNumber[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n SeverityNumber[SeverityNumber[\"TRACE\"] = 1] = \"TRACE\";\n SeverityNumber[SeverityNumber[\"TRACE2\"] = 2] = \"TRACE2\";\n SeverityNumber[SeverityNumber[\"TRACE3\"] = 3] = \"TRACE3\";\n SeverityNumber[SeverityNumber[\"TRACE4\"] = 4] = \"TRACE4\";\n SeverityNumber[SeverityNumber[\"DEBUG\"] = 5] = \"DEBUG\";\n SeverityNumber[SeverityNumber[\"DEBUG2\"] = 6] = \"DEBUG2\";\n SeverityNumber[SeverityNumber[\"DEBUG3\"] = 7] = \"DEBUG3\";\n SeverityNumber[SeverityNumber[\"DEBUG4\"] = 8] = \"DEBUG4\";\n SeverityNumber[SeverityNumber[\"INFO\"] = 9] = \"INFO\";\n SeverityNumber[SeverityNumber[\"INFO2\"] = 10] = \"INFO2\";\n SeverityNumber[SeverityNumber[\"INFO3\"] = 11] = \"INFO3\";\n SeverityNumber[SeverityNumber[\"INFO4\"] = 12] = \"INFO4\";\n SeverityNumber[SeverityNumber[\"WARN\"] = 13] = \"WARN\";\n SeverityNumber[SeverityNumber[\"WARN2\"] = 14] = \"WARN2\";\n SeverityNumber[SeverityNumber[\"WARN3\"] = 15] = \"WARN3\";\n SeverityNumber[SeverityNumber[\"WARN4\"] = 16] = \"WARN4\";\n SeverityNumber[SeverityNumber[\"ERROR\"] = 17] = \"ERROR\";\n SeverityNumber[SeverityNumber[\"ERROR2\"] = 18] = \"ERROR2\";\n SeverityNumber[SeverityNumber[\"ERROR3\"] = 19] = \"ERROR3\";\n SeverityNumber[SeverityNumber[\"ERROR4\"] = 20] = \"ERROR4\";\n SeverityNumber[SeverityNumber[\"FATAL\"] = 21] = \"FATAL\";\n SeverityNumber[SeverityNumber[\"FATAL2\"] = 22] = \"FATAL2\";\n SeverityNumber[SeverityNumber[\"FATAL3\"] = 23] = \"FATAL3\";\n SeverityNumber[SeverityNumber[\"FATAL4\"] = 24] = \"FATAL4\";\n})(SeverityNumber || (SeverityNumber = {}));\n//# sourceMappingURL=LogRecord.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { createInstrumentationScope, createResource, toAnyValue, toAttributes, } from '../common/internal';\nexport function createExportLogsServiceRequest(logRecords, encoder) {\n return {\n resourceLogs: logRecordsToResourceLogs(logRecords, encoder),\n };\n}\nfunction createResourceMap(logRecords) {\n const resourceMap = new Map();\n for (const record of logRecords) {\n const { resource, instrumentationScope } = record;\n let ismMap = resourceMap.get(resource);\n if (!ismMap) {\n ismMap = new Map();\n resourceMap.set(resource, ismMap);\n }\n let records = ismMap.get(instrumentationScope);\n if (!records) {\n records = [];\n ismMap.set(instrumentationScope, records);\n }\n records.push(record);\n }\n return resourceMap;\n}\nfunction logRecordsToResourceLogs(logRecords, encoder) {\n const resourceMap = createResourceMap(logRecords);\n return Array.from(resourceMap, ([resource, ismMap]) => {\n const processedResource = createResource(resource, encoder);\n return {\n resource: processedResource,\n scopeLogs: Array.from(ismMap, ([, scopeLogs]) => {\n return {\n scope: createInstrumentationScope(scopeLogs[0].instrumentationScope, encoder),\n logRecords: scopeLogs.map(log => toLogRecord(log, encoder)),\n schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl,\n };\n }),\n schemaUrl: processedResource.schemaUrl,\n };\n });\n}\nfunction toLogRecord(log, encoder) {\n return {\n timeUnixNano: encoder.encodeHrTime(log.hrTime),\n observedTimeUnixNano: encoder.encodeHrTime(log.hrTimeObserved),\n severityNumber: toSeverityNumber(log.severityNumber),\n severityText: log.severityText,\n body: toAnyValue(log.body, encoder),\n eventName: log.eventName,\n attributes: toAttributes(log.attributes, encoder),\n droppedAttributesCount: log.droppedAttributesCount,\n flags: log.spanContext?.traceFlags,\n traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId),\n spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId),\n };\n}\nfunction toSeverityNumber(severityNumber) {\n return severityNumber;\n}\n//# sourceMappingURL=internal.js.map","import { createExportLogsServiceRequest } from '../internal';\nimport { JSON_ENCODER } from '../../common/utils';\nimport { diag } from '@opentelemetry/api';\n/**\n * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant\n */\nexport const JsonLogsSerializer = {\n serializeRequest: (arg) => {\n const request = createExportLogsServiceRequest(arg, JSON_ENCODER);\n const encoder = new TextEncoder();\n return encoder.encode(JSON.stringify(request));\n },\n deserializeResponse: (arg) => {\n if (arg.length === 0) {\n return {};\n }\n const decoder = new TextDecoder();\n try {\n return JSON.parse(decoder.decode(arg));\n }\n catch (err) {\n diag.warn(`Failed to parse logs export response: ${err.message}. Returning empty response`);\n return {};\n }\n },\n};\n//# sourceMappingURL=logs.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * Enum value \"otlp_http_log_exporter\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * OTLP log record exporter over HTTP with protobuf serialization\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_LOG_EXPORTER = 'otlp_http_log_exporter';\n//# sourceMappingURL=semconv.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { OTLPExporterBase } from '@opentelemetry/otlp-exporter-base';\nimport { JsonLogsSerializer, LogsExporterMetricsHelper, } from '@opentelemetry/otlp-transformer';\nimport { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http';\nimport { OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_LOG_EXPORTER } from '../../semconv';\n/**\n * Collector Logs Exporter for Web\n */\nexport class OTLPLogExporter extends OTLPExporterBase {\n constructor(config = {}) {\n super(createLegacyOtlpBrowserExportDelegate(config, JsonLogsSerializer, OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_LOG_EXPORTER, LogsExporterMetricsHelper, config.selfObsMeterProvider, 'v1/logs', { 'Content-Type': 'application/json' }));\n }\n}\n//# sourceMappingURL=OTLPLogExporter.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\n/**\n * Validates if a value is a valid AnyValue for Log Attributes according to OpenTelemetry spec.\n * Log Attributes support a superset of standard Attributes and must support:\n * - Scalar values: string, boolean, signed 64-bit integer, or double precision floating point\n * - Byte arrays (Uint8Array)\n * - Arrays of any values (heterogeneous arrays allowed)\n * - Maps from string to any value (nested objects)\n * - Empty values (null/undefined)\n *\n * @param val - The value to validate\n * @returns true if the value is a valid AnyValue, false otherwise\n */\nexport function isLogAttributeValue(val) {\n return isLogAttributeValueInternal(val, new WeakSet());\n}\nfunction isLogAttributeValueInternal(val, visited) {\n // null and undefined are explicitly allowed\n if (val == null) {\n return true;\n }\n // Scalar values\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n return true;\n }\n // Byte arrays\n if (val instanceof Uint8Array) {\n return true;\n }\n // For objects and arrays, check for circular references\n if (typeof val === 'object') {\n if (visited.has(val)) {\n // Circular reference detected - reject it\n return false;\n }\n visited.add(val);\n // Arrays (can contain any AnyValue, including heterogeneous)\n if (Array.isArray(val)) {\n for (const item of val) {\n if (!isLogAttributeValueInternal(item, visited)) {\n return false;\n }\n }\n return true;\n }\n // Only accept plain objects (not built-in objects like Date, RegExp, Error, etc.)\n // Check if it's a plain object by verifying its constructor is Object or it has no constructor\n const obj = val;\n if (obj.constructor !== Object && obj.constructor !== undefined) {\n return false;\n }\n // Objects/Maps (including empty objects)\n // All object properties must be valid AnyValues\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) &&\n !isLogAttributeValueInternal(obj[key], visited)) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\nexport var AddAttributeDecision;\n(function (AddAttributeDecision) {\n AddAttributeDecision[AddAttributeDecision[\"DROP_INVALID\"] = 0] = \"DROP_INVALID\";\n AddAttributeDecision[AddAttributeDecision[\"DROP_LIMIT_REACHED\"] = 1] = \"DROP_LIMIT_REACHED\";\n AddAttributeDecision[AddAttributeDecision[\"ADD_NEW\"] = 2] = \"ADD_NEW\";\n AddAttributeDecision[AddAttributeDecision[\"ADD_OVERWRITE_EXISTING\"] = 3] = \"ADD_OVERWRITE_EXISTING\";\n})(AddAttributeDecision || (AddAttributeDecision = {}));\nexport function addAttribute(attributes, limits, currentAttributesCount, key, value) {\n if (key.length === 0) {\n diag.warn(`Invalid attribute key: ${key}`);\n return AddAttributeDecision.DROP_INVALID;\n }\n if (!isLogAttributeValue(value)) {\n diag.warn(`Invalid attribute value set for key: ${key}`);\n return AddAttributeDecision.DROP_INVALID;\n }\n const isNewKey = !Object.prototype.hasOwnProperty.call(attributes, key);\n if (isNewKey && currentAttributesCount >= limits.attributeCountLimit) {\n return AddAttributeDecision.DROP_LIMIT_REACHED;\n }\n attributes[key] = truncateToSize(value, limits.attributeValueLengthLimit);\n if (isNewKey) {\n return AddAttributeDecision.ADD_NEW;\n }\n return AddAttributeDecision.ADD_OVERWRITE_EXISTING;\n}\nfunction truncateToSize(value, limit) {\n // Check limit\n if (limit <= 0) {\n // Negative values are invalid, so do not truncate\n diag.warn(`Attribute value limit must be positive, got ${limit}`);\n return value;\n }\n // null/undefined - no truncation needed\n if (value == null) {\n return value;\n }\n // String\n if (typeof value === 'string') {\n if (value.length <= limit) {\n return value;\n }\n return value.substring(0, limit);\n }\n // Byte arrays - no truncation needed\n if (value instanceof Uint8Array) {\n return value;\n }\n // Arrays (can contain any AnyValue types)\n if (Array.isArray(value)) {\n return value.map(val => truncateToSize(val, limit));\n }\n // Objects/Maps - recursively truncate nested values\n if (typeof value === 'object') {\n const truncatedObj = {};\n for (const [k, v] of Object.entries(value)) {\n truncatedObj[k] = truncateToSize(v, limit);\n }\n return truncatedObj;\n }\n // Other types (number, boolean), no need to apply value length limit\n return value;\n}\n/**\n * Normalize attributes for use on the instrumentation scope. Drops invalid attributes and keeps track of\n * how many were dropped.\n *\n * @param limits\n * @param attributes\n */\nexport function normalizeScopeAttributes(limits, attributes) {\n if (attributes == null) {\n return {};\n }\n const normalizedAttributes = {};\n let currentAttributesCount = 0;\n let droppedAttributesCount = 0;\n for (const [key, value] of Object.entries(attributes)) {\n const decision = addAttribute(normalizedAttributes, limits, currentAttributesCount, key, value);\n if (decision === AddAttributeDecision.ADD_NEW) {\n currentAttributesCount += 1;\n }\n else if (decision === AddAttributeDecision.DROP_INVALID) {\n droppedAttributesCount += 1;\n }\n else if (decision === AddAttributeDecision.DROP_LIMIT_REACHED) {\n droppedAttributesCount += 1;\n }\n else {\n // do nothing\n }\n }\n return {\n attributes: currentAttributesCount > 0 ? normalizedAttributes : undefined,\n droppedAttributesCount,\n };\n}\n//# sourceMappingURL=validation.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as api from '@opentelemetry/api';\nimport { timeInputToHrTime } from '@opentelemetry/core';\nimport { ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, } from '@opentelemetry/semantic-conventions';\nimport { addAttribute, AddAttributeDecision } from './utils/validation';\nexport class LogRecordImpl {\n resource;\n instrumentationScope;\n attributes = {};\n _hrTime;\n _hrTimeObserved;\n _spanContext;\n _severityText;\n _severityNumber;\n _body;\n _eventName;\n _attributesCount = 0;\n _droppedAttributesCount = 0;\n _isReadonly = false;\n _logRecordLimits;\n get hrTime() {\n return this._hrTime;\n }\n set hrTime(hrTime) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._hrTime = hrTime;\n }\n get hrTimeObserved() {\n return this._hrTimeObserved;\n }\n set hrTimeObserved(hrTimeObserved) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._hrTimeObserved = hrTimeObserved;\n }\n get spanContext() {\n return this._spanContext;\n }\n set spanContext(spanContext) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._spanContext = spanContext;\n }\n set severityText(severityText) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityText = severityText;\n }\n get severityText() {\n return this._severityText;\n }\n set severityNumber(severityNumber) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityNumber = severityNumber;\n }\n get severityNumber() {\n return this._severityNumber;\n }\n set body(body) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._body = body;\n }\n get body() {\n return this._body;\n }\n get eventName() {\n return this._eventName;\n }\n set eventName(eventName) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._eventName = eventName;\n }\n get droppedAttributesCount() {\n return this._droppedAttributesCount;\n }\n constructor(_sharedState, instrumentationScope, logRecord) {\n const { timestamp, observedTimestamp, eventName, severityNumber, severityText, body, attributes = {}, exception, context, } = logRecord;\n const now = Date.now();\n this._hrTime = timeInputToHrTime(timestamp ?? now);\n this._hrTimeObserved = timeInputToHrTime(observedTimestamp ?? now);\n if (context) {\n const spanContext = api.trace.getSpanContext(context);\n if (spanContext && api.isSpanContextValid(spanContext)) {\n this._spanContext = spanContext;\n }\n }\n this.severityNumber = severityNumber;\n this.severityText = severityText;\n this.body = body;\n this.resource = _sharedState.resource;\n this.instrumentationScope = instrumentationScope;\n this._logRecordLimits = _sharedState.logRecordLimits;\n this._eventName = eventName;\n this.setAttributes(attributes);\n if (exception != null) {\n this._setException(exception);\n }\n }\n setAttribute(key, value) {\n if (this._isLogRecordReadonly()) {\n return this;\n }\n const decision = addAttribute(this.attributes, this._logRecordLimits, this._attributesCount, key, value);\n if (decision === AddAttributeDecision.DROP_LIMIT_REACHED) {\n this._droppedAttributesCount++;\n if (this._droppedAttributesCount === 1) {\n // Only warn once per LogRecord to avoid log spam\n api.diag.warn('Dropping extra attributes.');\n }\n }\n else if (decision === AddAttributeDecision.ADD_NEW) {\n this._attributesCount++;\n }\n return this;\n }\n setAttributes(attributes) {\n for (const [k, v] of Object.entries(attributes)) {\n this.setAttribute(k, v);\n }\n return this;\n }\n setBody(body) {\n this.body = body;\n return this;\n }\n setEventName(eventName) {\n this.eventName = eventName;\n return this;\n }\n setSeverityNumber(severityNumber) {\n this.severityNumber = severityNumber;\n return this;\n }\n setSeverityText(severityText) {\n this.severityText = severityText;\n return this;\n }\n /**\n * @internal\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n _makeReadonly() {\n this._isReadonly = true;\n }\n _setException(exception) {\n let hasMinimumAttributes = false;\n if (typeof exception === 'string' || typeof exception === 'number') {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, String(exception));\n }\n hasMinimumAttributes = true;\n }\n else if (exception && typeof exception === 'object') {\n const exceptionObj = exception;\n if (exceptionObj.code) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.code.toString());\n }\n hasMinimumAttributes = true;\n }\n else if (exceptionObj.name) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.name);\n }\n hasMinimumAttributes = true;\n }\n if (exceptionObj.message) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, exceptionObj.message);\n }\n hasMinimumAttributes = true;\n }\n if (exceptionObj.stack) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_STACKTRACE)) {\n this.setAttribute(ATTR_EXCEPTION_STACKTRACE, exceptionObj.stack);\n }\n hasMinimumAttributes = true;\n }\n }\n if (!hasMinimumAttributes) {\n api.diag.warn(`Failed to record an exception ${exception}`);\n }\n }\n _isLogRecordReadonly() {\n if (this._isReadonly) {\n api.diag.warn('Can not execute the operation on emitted log record');\n }\n return this._isReadonly;\n }\n}\n//# sourceMappingURL=LogRecordImpl.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { context, trace, TraceFlags, isSpanContextValid, } from '@opentelemetry/api';\nimport { LogRecordImpl } from './LogRecordImpl';\nexport class Logger {\n _instrumentationScope;\n _sharedState;\n _loggerConfig;\n constructor(instrumentationScope, sharedState) {\n this._instrumentationScope = instrumentationScope;\n this._sharedState = sharedState;\n // Cache the logger configuration at construction time\n // Since we don't support re-configuration, this avoids map lookups\n // and string allocations on each emit() call\n this._loggerConfig = this._sharedState.getLoggerConfig(this._instrumentationScope);\n }\n emit(logRecord) {\n const currentContext = logRecord.context || context.active();\n if (!this.enabled(logRecord)) {\n return;\n }\n /**\n * If a Logger was obtained with include_trace_context=true,\n * the LogRecords it emits MUST automatically include the Trace Context from the active Context,\n * if Context has not been explicitly set.\n */\n const logRecordInstance = new LogRecordImpl(this._sharedState, this._instrumentationScope, {\n context: currentContext,\n ...logRecord,\n });\n this._sharedState.loggerMetrics.emitLog();\n /**\n * the explicitly passed Context,\n * the current Context, or an empty Context if the Logger was obtained with include_trace_context=false\n */\n this._sharedState.activeProcessor.onEmit(logRecordInstance, currentContext);\n /**\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n logRecordInstance._makeReadonly();\n }\n enabled(options) {\n if (this._sharedState.hasShutdown) {\n return false;\n }\n const loggerConfig = this._loggerConfig;\n if (loggerConfig.disabled) {\n return false;\n }\n // Severity number given and lower than the min configured\n const severityNumber = options?.severityNumber;\n if (typeof severityNumber === 'number' &&\n severityNumber !== SeverityNumber.UNSPECIFIED &&\n severityNumber < loggerConfig.minimumSeverity) {\n return false;\n }\n const currentContext = options?.context || context.active();\n // Trace based: the context (given or the active) has a unsampled Span\n if (loggerConfig.traceBased) {\n const spanContext = trace.getSpanContext(currentContext);\n if (spanContext && isSpanContextValid(spanContext)) {\n const isSampled = (spanContext.traceFlags & TraceFlags.SAMPLED) === TraceFlags.SAMPLED;\n if (!isSampled) {\n return false;\n }\n }\n }\n // Lastly check if there is any enabled processor\n const enabledOpts = {\n context: currentContext,\n instrumentationScope: this._instrumentationScope,\n severityNumber: options?.severityNumber,\n eventName: options?.eventName,\n };\n for (const processor of this._sharedState.processors) {\n if (!processor.enabled || processor.enabled(enabledOpts)) {\n return true;\n }\n }\n return false;\n }\n}\n//# sourceMappingURL=Logger.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport class NoopLogRecordProcessor {\n forceFlush() {\n return Promise.resolve();\n }\n onEmit(_logRecord, _context) { }\n shutdown() {\n return Promise.resolve();\n }\n enabled(_options) {\n return false;\n }\n}\n//# sourceMappingURL=NoopLogRecordProcessor.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { callWithTimeout } from '@opentelemetry/core';\n/**\n * Implementation of the {@link LogRecordProcessor} that simply forwards all\n * received events to a list of {@link LogRecordProcessor}s.\n */\nexport class MultiLogRecordProcessor {\n processors;\n constructor(processors) {\n this.processors = processors;\n }\n async forceFlush(options) {\n const timeout = options?.timeoutMillis ?? 30000;\n await Promise.all(this.processors.map(processor => callWithTimeout(processor.forceFlush(), timeout)));\n }\n onEmit(logRecord, context) {\n this.processors.forEach(processors => processors.onEmit(logRecord, context));\n }\n async shutdown() {\n await Promise.all(this.processors.map(processor => processor.shutdown()));\n }\n enabled(options) {\n for (const processor of this.processors) {\n if (!processor.enabled || processor.enabled(options)) {\n return true;\n }\n }\n return false;\n }\n}\n//# sourceMappingURL=MultiLogRecordProcessor.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Normalizes an AnyValue to a JSON-serializable [typeTag, payload] tuple.\n *\n * Using a type tag as the first element guarantees that two values can only\n * produce the same tuple when they have the same type AND the same data,\n * avoiding cross-type collisions such as:\n * - null vs NaN vs Infinity (all become JSON `null` via JSON.stringify)\n * - -0 vs 0 (both become JSON `0` via JSON.stringify)\n * - string \"null\" vs the value null\n *\n * Object keys are sorted so that attribute maps with the same entries but\n * different insertion orders produce the same key.\n */\nfunction normalizeAnyValue(value) {\n if (value === undefined) {\n return ['u', null];\n }\n if (value === null) {\n return ['n', null];\n }\n const valueType = typeof value;\n if (valueType === 'string') {\n return ['s', value];\n }\n if (valueType === 'boolean') {\n return ['b', value];\n }\n if (valueType === 'number') {\n if (Number.isNaN(value))\n return ['nan', null];\n if (value === Infinity)\n return ['inf', null];\n if (value === -Infinity)\n return ['-inf', null];\n if (Object.is(value, -0))\n return ['n0', null];\n return ['d', value];\n }\n if (value instanceof Uint8Array) {\n return ['bytes', Array.from(value)];\n }\n if (Array.isArray(value)) {\n return ['arr', value.map(normalizeAnyValue)];\n }\n // AnyValueMap — sort keys for insertion-order independence\n return [\n 'map',\n Object.entries(value)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([k, v]) => [k, normalizeAnyValue(v)]),\n ];\n}\n/**\n * Converting the instrumentation scope object to a unique identifier string.\n * @param scope - The instrumentation scope to convert\n * @returns A unique string identifier for the scope\n */\nexport function getInstrumentationScopeKey(scope) {\n return JSON.stringify([\n scope.name,\n scope.version || '',\n scope.schemaUrl || '',\n normalizeAnyValue(scope.attributes),\n // we include the dropped attributes count to avoid collisions between scopes with the same identifying\n // characteristics, but different dropped counts. While there still can be collisions this is the best we can do if\n // we want to resolve the same logger without relying on object identity.\n scope.droppedAttributesCount ?? 0,\n ]);\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * The number of logs submitted to enabled SDK Loggers.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_LOG_CREATED = 'otel.sdk.log.created';\n/**\n * The number of log records for which the processing has finished, either successful or failed.\n *\n * @note For successful processing, `error.type` **MUST NOT** be set. For failed processing, `error.type` **MUST** contain the failure cause.\n * For the SDK Simple and Batching Log Record Processor a log record is considered to be processed already when it has been submitted to the exporter,\n * not when the corresponding export call has finished.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_LOG_PROCESSED = 'otel.sdk.processor.log.processed';\n/**\n * The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold.\n *\n * @note Only applies to Log Record processors which use a queue, e.g. the SDK Batching Log Record Processor.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY = 'otel.sdk.processor.log.queue.capacity';\n/**\n * The number of log records in the queue of a given instance of an SDK log processor.\n *\n * @note Only applies to log record processors which use a queue, e.g. the SDK Batching Log Record Processor.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE = 'otel.sdk.processor.log.queue.size';\n/**\n * A name uniquely identifying the instance of the OpenTelemetry component within its containing SDK instance.\n *\n * @example otlp_grpc_span_exporter/0\n * @example custom-name\n *\n * @note Implementations **SHOULD** ensure a low cardinality for this attribute, even across application or SDK restarts.\n * E.g. implementations **MUST NOT** use UUIDs as values for this attribute.\n *\n * Implementations **MAY** achieve these goals by following a `<otel.component.type>/<instance-counter>` pattern, e.g. `batching_span_processor/0`.\n * Hereby `otel.component.type` refers to the corresponding attribute value of the component.\n *\n * The value of `instance-counter` **MAY** be automatically assigned by the component and uniqueness within the enclosing SDK instance **MUST** be guaranteed.\n * For example, `<instance-counter>` **MAY** be implemented by using a monotonically increasing counter (starting with `0`), which is incremented every time an\n * instance of the given component type is started.\n *\n * With this implementation, for example the first Batching Span Processor would have `batching_span_processor/0`\n * as `otel.component.name`, the second one `batching_span_processor/1` and so on.\n * These values will therefore be reused in the case of an application restart.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_COMPONENT_NAME = 'otel.component.name';\n/**\n * A name identifying the type of the OpenTelemetry component.\n *\n * @example batching_span_processor\n * @example com.example.MySpanExporter\n *\n * @note If none of the standardized values apply, implementations **SHOULD** use the language-defined name of the type.\n * E.g. for Java the fully qualified classname **SHOULD** be used in this case.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_COMPONENT_TYPE = 'otel.component.type';\n/**\n * Enum value \"batching_log_processor\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * The builtin SDK batching log record processor\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR = 'batching_log_processor';\n/**\n * Enum value \"simple_log_processor\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * The builtin SDK simple log record processor\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_SIMPLE_LOG_PROCESSOR = 'simple_log_processor';\n/**\n * Describes a class of error the operation ended with.\n *\n * @example timeout\n * @example java.net.UnknownHostException\n * @example server_certificate_invalid\n * @example 500\n *\n * @note The `error.type` **SHOULD** be predictable, and **SHOULD** have low cardinality.\n *\n * When `error.type` is set to a type (e.g., an exception type), its\n * canonical class name identifying the type within the artifact **SHOULD** be used.\n *\n * Instrumentations **SHOULD** document the list of errors they report.\n *\n * The cardinality of `error.type` within one instrumentation library **SHOULD** be low.\n * Telemetry consumers that aggregate data from multiple instrumentation libraries and applications\n * should be prepared for `error.type` to have high cardinality at query time when no\n * additional filters are applied.\n *\n * If the operation has completed successfully, instrumentations **SHOULD NOT** set `error.type`.\n *\n * If a specific domain defines its own set of error identifiers (such as HTTP or RPC status codes),\n * it's **RECOMMENDED** to:\n *\n * - Use a domain-specific attribute\n * - Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.\n */\nexport const ATTR_ERROR_TYPE = 'error.type';\n//# sourceMappingURL=semconv.js.map","import { METRIC_OTEL_SDK_LOG_CREATED } from './semconv';\n/**\n * Generates `otel.sdk.log.*` metrics.\n * https://opentelemetry.io/docs/specs/semconv/otel/sdk-metrics/#log-metrics\n */\nexport class LoggerMetrics {\n createdLogs;\n constructor(meter) {\n this.createdLogs = meter.createCounter(METRIC_OTEL_SDK_LOG_CREATED, {\n unit: '{log_record}',\n description: 'The number of logs submitted to enabled SDK Loggers.',\n });\n }\n emitLog() {\n this.createdLogs.add(1);\n }\n}\n//# sourceMappingURL=LoggerMetrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.222.0';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { createNoopMeter } from '@opentelemetry/api';\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { NoopLogRecordProcessor } from '../export/NoopLogRecordProcessor';\nimport { MultiLogRecordProcessor } from '../MultiLogRecordProcessor';\nimport { getInstrumentationScopeKey } from './utils';\nimport { LoggerMetrics } from '../LoggerMetrics';\nimport { VERSION } from '../version';\nconst DEFAULT_LOGGER_CONFIG = {\n disabled: false,\n minimumSeverity: SeverityNumber.UNSPECIFIED,\n traceBased: false,\n};\n/**\n * Default LoggerConfigurator that returns the default config for all loggers\n */\nexport const DEFAULT_LOGGER_CONFIGURATOR = () => ({\n ...DEFAULT_LOGGER_CONFIG,\n});\nexport class LoggerProviderSharedState {\n loggers = new Map();\n activeProcessor;\n registeredLogRecordProcessors = [];\n resource;\n logRecordLimits;\n processors;\n loggerMetrics;\n hasShutdown = false;\n _loggerConfigurator;\n _loggerConfigs = new Map();\n constructor(resource, logRecordLimits, processors, loggerConfigurator, meterProvider) {\n this.resource = resource;\n this.logRecordLimits = logRecordLimits;\n this.processors = processors;\n if (processors.length > 0) {\n this.registeredLogRecordProcessors = processors;\n this.activeProcessor = new MultiLogRecordProcessor(this.registeredLogRecordProcessors);\n }\n else {\n this.activeProcessor = new NoopLogRecordProcessor();\n }\n this._loggerConfigurator =\n loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR;\n const meter = meterProvider\n ? meterProvider.getMeter('@opentelemetry/sdk-logs', VERSION)\n : createNoopMeter();\n this.loggerMetrics = new LoggerMetrics(meter);\n }\n /**\n * Get the LoggerConfig for a given instrumentation scope.\n * Uses the LoggerConfigurator function to compute the config on first access\n * and caches the result.\n *\n * @experimental This feature is in development as per the OpenTelemetry specification.\n */\n getLoggerConfig(instrumentationScope) {\n const key = getInstrumentationScopeKey(instrumentationScope);\n // Return cached config if available\n let config = this._loggerConfigs.get(key);\n if (config) {\n return config;\n }\n // Compute config using the configurator\n // The configurator always returns a complete config\n config = this._loggerConfigurator(instrumentationScope);\n // Cache the result\n this._loggerConfigs.set(key, config);\n return config;\n }\n}\n//# sourceMappingURL=LoggerProviderSharedState.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\nimport { createNoopLogger } from '@opentelemetry/api-logs';\nimport { defaultResource } from '@opentelemetry/resources';\nimport { BindOnceFuture } from '@opentelemetry/core';\nimport { Logger } from './Logger';\nimport { DEFAULT_LOGGER_CONFIGURATOR, LoggerProviderSharedState, } from './internal/LoggerProviderSharedState';\nimport { getInstrumentationScopeKey, } from './internal/utils';\nimport { normalizeScopeAttributes } from './utils/validation';\nexport const DEFAULT_LOGGER_NAME = 'unknown';\nexport class LoggerProvider {\n _shutdownOnce;\n _sharedState;\n constructor(config = {}) {\n const mergedConfig = {\n resource: config.resource ?? defaultResource(),\n logRecordLimits: {\n attributeCountLimit: config.logRecordLimits?.attributeCountLimit ?? 128,\n attributeValueLengthLimit: config.logRecordLimits?.attributeValueLengthLimit ?? Infinity,\n },\n loggerConfigurator: config.loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR,\n processors: config.processors ?? [],\n meterProvider: config.meterProvider,\n };\n this._sharedState = new LoggerProviderSharedState(mergedConfig.resource, mergedConfig.logRecordLimits, mergedConfig.processors, mergedConfig.loggerConfigurator, mergedConfig.meterProvider);\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n }\n /**\n * Get a logger with the configuration of the LoggerProvider.\n */\n getLogger(name, version, options) {\n if (this._shutdownOnce.isCalled) {\n diag.warn('A shutdown LoggerProvider cannot provide a Logger');\n return createNoopLogger();\n }\n if (!name) {\n diag.warn('Logger requested without instrumentation scope name.');\n }\n const loggerName = name || DEFAULT_LOGGER_NAME;\n const instrumentationScope = {\n name: loggerName,\n version,\n schemaUrl: options?.schemaUrl,\n ...normalizeScopeAttributes(this._sharedState.logRecordLimits, options?.attributes),\n };\n const key = getInstrumentationScopeKey(instrumentationScope);\n if (!this._sharedState.loggers.has(key)) {\n this._sharedState.loggers.set(key, new Logger(instrumentationScope, this._sharedState));\n }\n return this._sharedState.loggers.get(key);\n }\n /**\n * Notifies all registered LogRecordProcessor to flush any buffered data.\n *\n * Returns a promise which is resolved when all flushes are complete.\n */\n forceFlush(options) {\n // do not flush after shutdown\n if (this._shutdownOnce.isCalled) {\n diag.warn('invalid attempt to force flush after LoggerProvider shutdown');\n return this._shutdownOnce.promise;\n }\n return this._sharedState.activeProcessor.forceFlush(options);\n }\n /**\n * Flush all buffered data and shut down the LoggerProvider and all registered\n * LogRecordProcessor.\n *\n * Returns a promise which is resolved when all flushes are complete.\n */\n shutdown() {\n if (this._shutdownOnce.isCalled) {\n diag.warn('shutdown may only be called once per LoggerProvider');\n return this._shutdownOnce.promise;\n }\n return this._shutdownOnce.call();\n }\n _shutdown() {\n this._sharedState.hasShutdown = true;\n return this._sharedState.activeProcessor.shutdown();\n }\n}\n//# sourceMappingURL=LoggerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ATTR_ERROR_TYPE, ATTR_OTEL_COMPONENT_NAME, ATTR_OTEL_COMPONENT_TYPE, METRIC_OTEL_SDK_PROCESSOR_LOG_PROCESSED, METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY, METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE, } from '../semconv';\nconst componentCounter = new Map();\nexport class LogRecordProcessorMetrics {\n processedLogs;\n queueSize;\n queueSizeCallback;\n standardAttrs;\n droppedAttrs;\n constructor(componentType, meter, queueConfig) {\n const counter = componentCounter.get(componentType) ?? 0;\n componentCounter.set(componentType, counter + 1);\n this.standardAttrs = {\n [ATTR_OTEL_COMPONENT_TYPE]: componentType,\n [ATTR_OTEL_COMPONENT_NAME]: `${componentType}/${counter}`,\n };\n this.droppedAttrs = {\n ...this.standardAttrs,\n [ATTR_ERROR_TYPE]: 'queue_full',\n };\n this.processedLogs = meter.createCounter(METRIC_OTEL_SDK_PROCESSOR_LOG_PROCESSED, {\n unit: '{log_record}',\n description: 'The number of log records for which the processing has finished, either successful or failed.',\n });\n if (queueConfig) {\n const { capacity, getQueueSize } = queueConfig;\n const queueCapacity = meter.createUpDownCounter(METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY, {\n unit: '{log_record}',\n description: 'The maximum number of log records the queue of a given instance of an SDK log processor can hold.',\n });\n queueCapacity.add(capacity, this.standardAttrs);\n this.queueSize = meter.createObservableUpDownCounter(METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE, {\n unit: '{log_record}',\n description: 'The number of log records in the queue of a given instance of an SDK log processor.',\n });\n this.queueSizeCallback = result => result.observe(getQueueSize(), this.standardAttrs);\n this.queueSize.addCallback(this.queueSizeCallback);\n }\n }\n dropLogs(count) {\n this.processedLogs.add(count, this.droppedAttrs);\n }\n finishLogs(count, error) {\n if (!error) {\n this.processedLogs.add(count, this.standardAttrs);\n return;\n }\n const attrs = {\n ...this.standardAttrs,\n [ATTR_ERROR_TYPE]: error.name,\n };\n this.processedLogs.add(count, attrs);\n }\n shutdown() {\n if (this.queueSize && this.queueSizeCallback) {\n this.queueSize.removeCallback(this.queueSizeCallback);\n }\n }\n}\n//# sourceMappingURL=LogRecordProcessorMetrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { context, createNoopMeter, diag } from '@opentelemetry/api';\nimport { ExportResultCode, globalErrorHandler, BindOnceFuture, suppressTracing, } from '@opentelemetry/core';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR } from '../semconv';\n/**\n * Waits for all pending async resources in the log records to be resolved.\n */\nasync function waitForResources(logRecords) {\n const pendingResources = [];\n for (let i = 0, len = logRecords.length; i < len; i++) {\n const logRecord = logRecords[i];\n if (logRecord.resource.asyncAttributesPending &&\n logRecord.resource.waitForAsyncAttributes) {\n pendingResources.push(logRecord.resource.waitForAsyncAttributes());\n }\n }\n if (pendingResources != null && pendingResources.length > 0) {\n await Promise.all(pendingResources);\n }\n}\n/**\n * Represents an export operation that handles the entire export workflow.\n */\nclass ExportOperation {\n _exportCompleted;\n _exportScheduledPromise;\n _metrics;\n _exportScheduledResolve;\n constructor(exporter, logRecords, exportTimeoutMillis, metrics) {\n this._exportScheduledPromise = new Promise(resolve => {\n this._exportScheduledResolve = resolve;\n });\n this._exportCompleted = this._executeExport(exporter, logRecords, exportTimeoutMillis);\n this._metrics = metrics;\n }\n /** Get the promise that resolves when the export completes */\n get exportCompleted() {\n return this._exportCompleted;\n }\n /** Get the promise that resolves when exporter.export() has been called */\n get exportScheduled() {\n return this._exportScheduledPromise;\n }\n async _executeExport(exporter, logRecords, exportTimeoutMillis) {\n try {\n // Wait for all pending resources before exporting\n await waitForResources(logRecords);\n // Export with timeout, wrapped in suppressTracing context\n await context.with(suppressTracing(context.active()), async () => {\n return this._exportWithTimeout(exporter, logRecords, exportTimeoutMillis);\n });\n }\n catch (e) {\n // ensure we never reject here, as we may call await after it has already resolved.\n globalErrorHandler(e);\n // resolve, as the error may have occurred before export was scheduled\n this._exportScheduledResolve();\n }\n }\n async _exportWithTimeout(exporter, logRecords, exportTimeoutMillis) {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error('Timeout'));\n }, exportTimeoutMillis);\n // Call exporter.export() and immediately resolve exportScheduled\n exporter.export(logRecords, result => {\n this._metrics.finishLogs(logRecords.length, result.error);\n clearTimeout(timer);\n if (result.code === ExportResultCode.SUCCESS) {\n resolve();\n }\n else {\n reject(result.error ??\n new Error('BatchLogRecordProcessor: log record export failed'));\n }\n });\n // Resolve exportScheduled immediately after calling exporter.export()\n this._exportScheduledResolve();\n });\n }\n}\nexport class BatchLogRecordProcessorBase {\n _maxExportBatchSize;\n _maxQueueSize;\n _scheduledDelayMillis;\n _exportTimeoutMillis;\n _exporter;\n _metrics;\n _currentExport = null;\n _finishedLogRecords = [];\n _timer;\n _shutdownOnce;\n _flushing = false;\n constructor(options) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 1000;\n this._exportTimeoutMillis = options.exportTimeoutMillis ?? 30000;\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n if (this._maxExportBatchSize > this._maxQueueSize) {\n diag.warn('BatchLogRecordProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize');\n this._maxExportBatchSize = this._maxQueueSize;\n }\n const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n this._metrics = new LogRecordProcessorMetrics(OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR, meter, {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedLogRecords.length,\n });\n }\n onEmit(logRecord) {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n this._addToBuffer(logRecord);\n }\n forceFlush() {\n if (this._shutdownOnce.isCalled) {\n return this._shutdownOnce.promise;\n }\n return this._flushAll();\n }\n /** Add a LogRecord in the buffer. */\n _addToBuffer(logRecord) {\n if (this._finishedLogRecords.length >= this._maxQueueSize) {\n this._metrics.dropLogs(1);\n return;\n }\n this._finishedLogRecords.push(logRecord);\n this._maybeStartTimer();\n }\n shutdown() {\n return this._shutdownOnce.call();\n }\n async _shutdown() {\n this.onShutdown();\n await this._flushAll();\n this._metrics.shutdown();\n await this._exporter.shutdown();\n }\n /**\n * Send all LogRecords to the exporter respecting the batch size limit\n * This function is used only on forceFlush or shutdown,\n * for all other cases _exportOneBatch should be used\n * */\n async _flushAll() {\n // Guard against concurrent flushes. Concurrent .forceFlush() calls will\n // return without waiting for the in-progress flush to finish.\n if (this._flushing) {\n return;\n }\n this._flushing = true;\n // Grab the current set of finished log records, because the spec says:\n // > ... for which the LogRecordProcessor had already received events prior to the call to ForceFlush ...\n let toFlush = this._finishedLogRecords;\n this._finishedLogRecords = [];\n // Clear timer to prevent concurrent exports\n this._clearTimer();\n // Wait for any in-progress export to complete. Capture the reference\n // into a local because `_exportOneBatch` may null out `this._currentExport`\n // from its completion handler while we are awaiting below.\n const inFlight = this._currentExport;\n if (inFlight !== null) {\n // speed up execution for current export\n await this._exporter.forceFlush();\n await inFlight.exportCompleted;\n this._currentExport = null;\n }\n // Now flush all batches sequentially to avoid race conditions\n while (toFlush.length > 0) {\n let batch;\n if (toFlush.length <= this._maxExportBatchSize) {\n batch = toFlush;\n toFlush = [];\n }\n else {\n batch = toFlush.splice(0, this._maxExportBatchSize);\n }\n const exportOp = new ExportOperation(this._exporter, batch, this._exportTimeoutMillis, this._metrics);\n this._currentExport = exportOp;\n // await export scheduled, then force flush exporter to speed up export\n try {\n await exportOp.exportScheduled;\n await this._exporter.forceFlush();\n await exportOp.exportCompleted;\n }\n catch (e) {\n globalErrorHandler(e);\n }\n finally {\n this._currentExport = null;\n }\n }\n this._flushing = false;\n this._maybeStartTimer();\n }\n /**\n * Extracts one batch from the buffer.\n * Returns null if buffer is empty.\n */\n _extractBatch() {\n if (this._finishedLogRecords.length === 0) {\n return null;\n }\n if (this._finishedLogRecords.length <= this._maxExportBatchSize) {\n const batch = this._finishedLogRecords;\n this._finishedLogRecords = [];\n return batch;\n }\n else {\n return this._finishedLogRecords.splice(0, this._maxExportBatchSize);\n }\n }\n _exportOneBatch() {\n this._clearTimer();\n const logRecords = this._extractBatch();\n if (logRecords === null) {\n return;\n }\n const exportOp = new ExportOperation(this._exporter, logRecords, this._exportTimeoutMillis, this._metrics);\n this._currentExport = exportOp;\n // Handle completion asynchronously\n exportOp.exportCompleted\n .then(() => {\n this._currentExport = null;\n this._maybeStartTimer();\n })\n .catch(error => {\n this._currentExport = null;\n globalErrorHandler(error);\n this._maybeStartTimer();\n });\n }\n _maybeStartTimer() {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n if (this._flushing) {\n return;\n }\n if (this._finishedLogRecords.length === 0) {\n return;\n }\n if (this._currentExport !== null) {\n return;\n }\n // If batch is full, export immediately\n if (this._finishedLogRecords.length >= this._maxExportBatchSize) {\n this._exportOneBatch();\n return;\n }\n // If timer is already set, don't set another one\n if (this._timer !== undefined) {\n return;\n }\n // Set timer for scheduled export\n this._timer = setTimeout(() => {\n this._timer = undefined;\n this._exportOneBatch();\n }, this._scheduledDelayMillis);\n // Unref timer so it doesn't keep process alive\n if (typeof this._timer !== 'number') {\n this._timer.unref();\n }\n }\n _clearTimer() {\n if (this._timer !== undefined) {\n clearTimeout(this._timer);\n this._timer = undefined;\n }\n }\n}\n//# sourceMappingURL=BatchLogRecordProcessorBase.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { BatchLogRecordProcessorBase } from '../../../export/BatchLogRecordProcessorBase';\nexport class BatchLogRecordProcessor extends BatchLogRecordProcessorBase {\n _visibilityChangeListener;\n _pageHideListener;\n constructor(options) {\n super(options);\n this._onInit(options);\n }\n onShutdown() {\n if (typeof document === 'undefined') {\n return;\n }\n if (this._visibilityChangeListener) {\n document.removeEventListener('visibilitychange', this._visibilityChangeListener);\n }\n if (this._pageHideListener) {\n document.removeEventListener('pagehide', this._pageHideListener);\n }\n }\n _onInit(options) {\n if (options.disableAutoFlushOnDocumentHide === true ||\n typeof document === 'undefined') {\n return;\n }\n this._visibilityChangeListener = () => {\n if (document.visibilityState === 'hidden') {\n void this.forceFlush();\n }\n };\n this._pageHideListener = () => {\n void this.forceFlush();\n };\n document.addEventListener('visibilitychange', this._visibilityChangeListener);\n // use 'pagehide' event as a fallback for Safari; see https://bugs.webkit.org/show_bug.cgi?id=116769\n document.addEventListener('pagehide', this._pageHideListener);\n }\n}\n//# sourceMappingURL=BatchLogRecordProcessor.js.map","import { BaseTelemetryAdapter } from '../../TelemetryAdapter.js';\nimport { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';\nimport { LoggerProvider, BatchLogRecordProcessor, } from '@opentelemetry/sdk-logs';\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { resourceFromAttributes } from '@opentelemetry/resources';\n/**\n * Exports Fusion telemetry as OTLP/HTTP log records using the standard OpenTelemetry SDK.\n *\n * Records include app identity and source attributes, and automatically inherit the active\n * OpenTelemetry trace/span context. No global logger provider or console patch is installed.\n * Collector failures are reported once without blocking initialization or app execution.\n *\n * @example\n * ```ts\n * import { OtlpAdapter } from '@equinor/fusion-framework-module-telemetry/otlp-adapter';\n *\n * enableTelemetry(configurator, {\n * configure: (builder) => builder.setAdapter('otlp', new OtlpAdapter({\n * url: 'http://localhost:4318/v1/logs',\n * })),\n * });\n * ```\n */\nexport class OtlpAdapter extends BaseTelemetryAdapter {\n /** Whether explicitly configured child adapters take precedence. */\n fallback;\n #reportedFailure = false;\n #logger;\n #provider;\n /**\n * Creates an OTLP adapter without contacting the collector.\n * @param options - Logs endpoint, optional service identity, and fallback precedence.\n */\n constructor(options) {\n super();\n this.fallback = options.fallback ?? false;\n const exporter = new OTLPLogExporter({ url: options.url, timeoutMillis: 5_000 });\n const reportingExporter = {\n export: (records, callback) => {\n exporter.export(records, (result) => {\n // Report once without replacing the SDK's failure result with a success.\n if (result.code !== 0 && !this.#reportedFailure) {\n this.#reportedFailure = true;\n console.warn('OTLP log delivery failed; telemetry is best effort.', result.error);\n }\n callback(result);\n });\n },\n forceFlush: () => exporter.forceFlush(),\n shutdown: () => exporter.shutdown(),\n };\n this.#provider = new LoggerProvider({\n resource: resourceFromAttributes({\n 'service.name': options.serviceName ?? 'fusion.telemetry',\n }),\n // Bootstrap emits bursts; batching avoids the exporter's concurrent-request limit.\n processors: [\n new BatchLogRecordProcessor({\n exporter: reportingExporter,\n scheduledDelayMillis: 1_000,\n maxExportBatchSize: 128,\n maxQueueSize: 2_048,\n }),\n ],\n });\n this.#logger = this.#provider.getLogger('fusion.telemetry');\n }\n /**\n * Flushes pending records and releases the SDK exporter without affecting global telemetry.\n * @returns Resolves after pending exports finish and the SDK provider shuts down.\n */\n shutdown() {\n return this.#provider.shutdown();\n }\n /**\n * Exports buffered records immediately, for deterministic tests and explicit lifecycle boundaries.\n * @returns Resolves when the SDK finishes exporting pending records.\n * @example\n * ```ts\n * await adapter.forceFlush();\n * ```\n */\n forceFlush() {\n return this.#provider.forceFlush();\n }\n /**\n * Exports a telemetry item as an OTLP LogRecord.\n * @param item - App or framework record, including inherited Fusion metadata.\n */\n _processItem(item) {\n const fusion = item.metadata?.fusion;\n const app = fusion && typeof fusion === 'object' && 'app' in fusion ? fusion.app : undefined;\n const appKey = app && typeof app === 'object' && 'key' in app && typeof app.key === 'string'\n ? app.key\n : undefined;\n const attributes = {\n source: appKey ? 'app' : 'framework',\n 'fusion.telemetry.type': item.type,\n 'fusion.telemetry.scope': item.scope,\n ...(appKey ? { 'fusion.app.key': appKey } : {}),\n };\n // OTLP attributes accept primitive values, not arbitrary application objects.\n for (const [key, value] of Object.entries(item.properties ?? {})) {\n // Preserve supported values without serializing circular application objects.\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n attributes[`fusion.properties.${key}`] = value;\n }\n }\n // Error instances do not serialize as useful OTLP attributes automatically.\n if ('exception' in item && item.exception instanceof Error) {\n attributes['exception.type'] = item.exception.name;\n attributes['exception.message'] = item.exception.message;\n attributes['exception.stacktrace'] = item.exception.stack;\n }\n // Keep metric values when representing Fusion metrics as OTLP log records.\n if ('value' in item && typeof item.value === 'number') {\n attributes['fusion.telemetry.value'] = item.value;\n }\n this.#logger.emit({\n body: item.name,\n attributes,\n severityNumber: [\n SeverityNumber.DEBUG,\n SeverityNumber.INFO,\n SeverityNumber.WARN,\n SeverityNumber.ERROR,\n SeverityNumber.FATAL,\n ][item.level],\n });\n }\n}\n//# sourceMappingURL=OtlpAdapter.js.map"],"names":["api.trace","api.isSpanContextValid","api.diag"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}
|
|
1
|
+
{"version":3,"file":"index-CiqJ1Og1.js","sources":["../../../../node_modules/.pnpm/@opentelemetry+core@2.12.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/esm/utils/timeout.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/index.js","../../../../node_modules/.pnpm/@opentelemetry+api-logs@0.223.0/node_modules/@opentelemetry/api-logs/build/esm/types/LogRecord.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js","../../../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js","../../../../node_modules/.pnpm/@opentelemetry+exporter-logs-otlp-http@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+exporter-logs-otlp-http@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/platform/browser/OTLPLogExporter.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/utils/validation.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/LogRecordImpl.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/export/NoopLogRecordProcessor.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/MultiLogRecordProcessor.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/internal/utils.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/semconv.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerMetrics.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/version.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/internal/LoggerProviderSharedState.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/export/LogRecordProcessorMetrics.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js","../../../../node_modules/.pnpm/@opentelemetry+sdk-logs@0.223.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/esm/platform/browser/export/BatchLogRecordProcessor.js","../../../modules/telemetry/dist/esm/adapters/otlp/OtlpAdapter.js"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Error that is thrown on timeouts.\n */\nexport class TimeoutError extends Error {\n constructor(message) {\n super(message);\n // manually adjust prototype to retain `instanceof` functionality when targeting ES5, see:\n // https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n/**\n * Adds a timeout to a promise and rejects if the specified timeout has elapsed. Also rejects if the specified promise\n * rejects, and resolves if the specified promise resolves.\n *\n * <p> NOTE: this operation will continue even after it throws a {@link TimeoutError}.\n *\n * @param promise promise to use with timeout.\n * @param timeout the timeout in milliseconds until the returned promise is rejected.\n */\nexport function callWithTimeout(promise, timeout) {\n let timeoutHandle;\n const timeoutPromise = new Promise(function timeoutFunction(_resolve, reject) {\n timeoutHandle = setTimeout(function timeoutHandler() {\n reject(new TimeoutError('Operation timed out.'));\n }, timeout);\n });\n return Promise.race([promise, timeoutPromise]).then(result => {\n clearTimeout(timeoutHandle);\n return result;\n }, reason => {\n clearTimeout(timeoutHandle);\n throw reason;\n });\n}\n//# sourceMappingURL=timeout.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * @experimental this helper may receive breaking changes in minor versions, pin this package's version when using this constant\n */\nexport const LogsExporterMetricsHelper = {\n name: 'log',\n countItems: (request) => request.length,\n};\n//# sourceMappingURL=index.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport var SeverityNumber;\n(function (SeverityNumber) {\n SeverityNumber[SeverityNumber[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n SeverityNumber[SeverityNumber[\"TRACE\"] = 1] = \"TRACE\";\n SeverityNumber[SeverityNumber[\"TRACE2\"] = 2] = \"TRACE2\";\n SeverityNumber[SeverityNumber[\"TRACE3\"] = 3] = \"TRACE3\";\n SeverityNumber[SeverityNumber[\"TRACE4\"] = 4] = \"TRACE4\";\n SeverityNumber[SeverityNumber[\"DEBUG\"] = 5] = \"DEBUG\";\n SeverityNumber[SeverityNumber[\"DEBUG2\"] = 6] = \"DEBUG2\";\n SeverityNumber[SeverityNumber[\"DEBUG3\"] = 7] = \"DEBUG3\";\n SeverityNumber[SeverityNumber[\"DEBUG4\"] = 8] = \"DEBUG4\";\n SeverityNumber[SeverityNumber[\"INFO\"] = 9] = \"INFO\";\n SeverityNumber[SeverityNumber[\"INFO2\"] = 10] = \"INFO2\";\n SeverityNumber[SeverityNumber[\"INFO3\"] = 11] = \"INFO3\";\n SeverityNumber[SeverityNumber[\"INFO4\"] = 12] = \"INFO4\";\n SeverityNumber[SeverityNumber[\"WARN\"] = 13] = \"WARN\";\n SeverityNumber[SeverityNumber[\"WARN2\"] = 14] = \"WARN2\";\n SeverityNumber[SeverityNumber[\"WARN3\"] = 15] = \"WARN3\";\n SeverityNumber[SeverityNumber[\"WARN4\"] = 16] = \"WARN4\";\n SeverityNumber[SeverityNumber[\"ERROR\"] = 17] = \"ERROR\";\n SeverityNumber[SeverityNumber[\"ERROR2\"] = 18] = \"ERROR2\";\n SeverityNumber[SeverityNumber[\"ERROR3\"] = 19] = \"ERROR3\";\n SeverityNumber[SeverityNumber[\"ERROR4\"] = 20] = \"ERROR4\";\n SeverityNumber[SeverityNumber[\"FATAL\"] = 21] = \"FATAL\";\n SeverityNumber[SeverityNumber[\"FATAL2\"] = 22] = \"FATAL2\";\n SeverityNumber[SeverityNumber[\"FATAL3\"] = 23] = \"FATAL3\";\n SeverityNumber[SeverityNumber[\"FATAL4\"] = 24] = \"FATAL4\";\n})(SeverityNumber || (SeverityNumber = {}));\n//# sourceMappingURL=LogRecord.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { createInstrumentationScope, createResource, toAnyValue, toAttributes, } from '../common/internal';\nexport function createExportLogsServiceRequest(logRecords, encoder) {\n return {\n resourceLogs: logRecordsToResourceLogs(logRecords, encoder),\n };\n}\nfunction createResourceMap(logRecords) {\n const resourceMap = new Map();\n for (const record of logRecords) {\n const { resource, instrumentationScope } = record;\n let ismMap = resourceMap.get(resource);\n if (!ismMap) {\n ismMap = new Map();\n resourceMap.set(resource, ismMap);\n }\n let records = ismMap.get(instrumentationScope);\n if (!records) {\n records = [];\n ismMap.set(instrumentationScope, records);\n }\n records.push(record);\n }\n return resourceMap;\n}\nfunction logRecordsToResourceLogs(logRecords, encoder) {\n const resourceMap = createResourceMap(logRecords);\n return Array.from(resourceMap, ([resource, ismMap]) => {\n const processedResource = createResource(resource, encoder);\n return {\n resource: processedResource,\n scopeLogs: Array.from(ismMap, ([, scopeLogs]) => {\n return {\n scope: createInstrumentationScope(scopeLogs[0].instrumentationScope, encoder),\n logRecords: scopeLogs.map(log => toLogRecord(log, encoder)),\n schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl,\n };\n }),\n schemaUrl: processedResource.schemaUrl,\n };\n });\n}\nfunction toLogRecord(log, encoder) {\n return {\n timeUnixNano: encoder.encodeHrTime(log.hrTime),\n observedTimeUnixNano: encoder.encodeHrTime(log.hrTimeObserved),\n severityNumber: toSeverityNumber(log.severityNumber),\n severityText: log.severityText,\n body: toAnyValue(log.body, encoder),\n eventName: log.eventName,\n attributes: toAttributes(log.attributes, encoder),\n droppedAttributesCount: log.droppedAttributesCount,\n flags: log.spanContext?.traceFlags,\n traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId),\n spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId),\n };\n}\nfunction toSeverityNumber(severityNumber) {\n return severityNumber;\n}\n//# sourceMappingURL=internal.js.map","import { createExportLogsServiceRequest } from '../internal';\nimport { JSON_ENCODER } from '../../common/utils';\nimport { diag } from '@opentelemetry/api';\n/**\n * @experimental this serializer may receive breaking changes in minor versions, pin this package's version when using this constant\n */\nexport const JsonLogsSerializer = {\n serializeRequest: (arg) => {\n const request = createExportLogsServiceRequest(arg, JSON_ENCODER);\n const encoder = new TextEncoder();\n return encoder.encode(JSON.stringify(request));\n },\n deserializeResponse: (arg) => {\n if (arg.length === 0) {\n return {};\n }\n const decoder = new TextDecoder();\n try {\n return JSON.parse(decoder.decode(arg));\n }\n catch (err) {\n diag.warn(`Failed to parse logs export response: ${err.message}. Returning empty response`);\n return {};\n }\n },\n};\n//# sourceMappingURL=logs.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * Enum value \"otlp_http_log_exporter\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * OTLP log record exporter over HTTP with protobuf serialization\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_LOG_EXPORTER = 'otlp_http_log_exporter';\n//# sourceMappingURL=semconv.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { OTLPExporterBase } from '@opentelemetry/otlp-exporter-base';\nimport { JsonLogsSerializer, LogsExporterMetricsHelper, } from '@opentelemetry/otlp-transformer';\nimport { createLegacyOtlpBrowserExportDelegate } from '@opentelemetry/otlp-exporter-base/browser-http';\nimport { OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_LOG_EXPORTER } from '../../semconv';\n/**\n * Collector Logs Exporter for Web\n */\nexport class OTLPLogExporter extends OTLPExporterBase {\n constructor(config = {}) {\n super(createLegacyOtlpBrowserExportDelegate(config, JsonLogsSerializer, OTEL_COMPONENT_TYPE_VALUE_OTLP_HTTP_LOG_EXPORTER, LogsExporterMetricsHelper, config.selfObsMeterProvider, 'v1/logs', { 'Content-Type': 'application/json' }));\n }\n}\n//# sourceMappingURL=OTLPLogExporter.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\n/**\n * Validates if a value is a valid AnyValue for Log Attributes according to OpenTelemetry spec.\n * Log Attributes support a superset of standard Attributes and must support:\n * - Scalar values: string, boolean, signed 64-bit integer, or double precision floating point\n * - Byte arrays (Uint8Array)\n * - Arrays of any values (heterogeneous arrays allowed)\n * - Maps from string to any value (nested objects)\n * - Empty values (null/undefined)\n *\n * @param val - The value to validate\n * @returns true if the value is a valid AnyValue, false otherwise\n */\nexport function isLogAttributeValue(val) {\n return isLogAttributeValueInternal(val, new WeakSet());\n}\nfunction isLogAttributeValueInternal(val, visited) {\n // null and undefined are explicitly allowed\n if (val == null) {\n return true;\n }\n // Scalar values\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n return true;\n }\n // Byte arrays\n if (val instanceof Uint8Array) {\n return true;\n }\n // For objects and arrays, check for circular references\n if (typeof val === 'object') {\n if (visited.has(val)) {\n // Circular reference detected - reject it\n return false;\n }\n visited.add(val);\n // Arrays (can contain any AnyValue, including heterogeneous)\n if (Array.isArray(val)) {\n for (const item of val) {\n if (!isLogAttributeValueInternal(item, visited)) {\n return false;\n }\n }\n return true;\n }\n // Only accept plain objects (not built-in objects like Date, RegExp, Error, etc.)\n // Check if it's a plain object by verifying its constructor is Object or it has no constructor\n const obj = val;\n if (obj.constructor !== Object && obj.constructor !== undefined) {\n return false;\n }\n // Objects/Maps (including empty objects)\n // All object properties must be valid AnyValues\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) &&\n !isLogAttributeValueInternal(obj[key], visited)) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\nexport var AddAttributeDecision;\n(function (AddAttributeDecision) {\n AddAttributeDecision[AddAttributeDecision[\"DROP_INVALID\"] = 0] = \"DROP_INVALID\";\n AddAttributeDecision[AddAttributeDecision[\"DROP_LIMIT_REACHED\"] = 1] = \"DROP_LIMIT_REACHED\";\n AddAttributeDecision[AddAttributeDecision[\"ADD_NEW\"] = 2] = \"ADD_NEW\";\n AddAttributeDecision[AddAttributeDecision[\"ADD_OVERWRITE_EXISTING\"] = 3] = \"ADD_OVERWRITE_EXISTING\";\n})(AddAttributeDecision || (AddAttributeDecision = {}));\nexport function addAttribute(attributes, limits, currentAttributesCount, key, value) {\n if (key.length === 0) {\n diag.warn(`Invalid attribute key: ${key}`);\n return AddAttributeDecision.DROP_INVALID;\n }\n if (!isLogAttributeValue(value)) {\n diag.warn(`Invalid attribute value set for key: ${key}`);\n return AddAttributeDecision.DROP_INVALID;\n }\n const isNewKey = !Object.prototype.hasOwnProperty.call(attributes, key);\n if (isNewKey && currentAttributesCount >= limits.attributeCountLimit) {\n return AddAttributeDecision.DROP_LIMIT_REACHED;\n }\n attributes[key] = truncateToSize(value, limits.attributeValueLengthLimit);\n if (isNewKey) {\n return AddAttributeDecision.ADD_NEW;\n }\n return AddAttributeDecision.ADD_OVERWRITE_EXISTING;\n}\nfunction truncateToSize(value, limit) {\n // Check limit\n if (limit <= 0) {\n // Negative values are invalid, so do not truncate\n diag.warn(`Attribute value limit must be positive, got ${limit}`);\n return value;\n }\n // null/undefined - no truncation needed\n if (value == null) {\n return value;\n }\n // String\n if (typeof value === 'string') {\n if (value.length <= limit) {\n return value;\n }\n return value.substring(0, limit);\n }\n // Byte arrays - no truncation needed\n if (value instanceof Uint8Array) {\n return value;\n }\n // Arrays (can contain any AnyValue types)\n if (Array.isArray(value)) {\n return value.map(val => truncateToSize(val, limit));\n }\n // Objects/Maps - recursively truncate nested values\n if (typeof value === 'object') {\n const truncatedObj = {};\n for (const [k, v] of Object.entries(value)) {\n truncatedObj[k] = truncateToSize(v, limit);\n }\n return truncatedObj;\n }\n // Other types (number, boolean), no need to apply value length limit\n return value;\n}\n/**\n * Normalize attributes for use on the instrumentation scope. Drops invalid attributes and keeps track of\n * how many were dropped.\n *\n * @param limits\n * @param attributes\n */\nexport function normalizeScopeAttributes(limits, attributes) {\n if (attributes == null) {\n return {};\n }\n const normalizedAttributes = {};\n let currentAttributesCount = 0;\n let droppedAttributesCount = 0;\n for (const [key, value] of Object.entries(attributes)) {\n const decision = addAttribute(normalizedAttributes, limits, currentAttributesCount, key, value);\n if (decision === AddAttributeDecision.ADD_NEW) {\n currentAttributesCount += 1;\n }\n else if (decision === AddAttributeDecision.DROP_INVALID) {\n droppedAttributesCount += 1;\n }\n else if (decision === AddAttributeDecision.DROP_LIMIT_REACHED) {\n droppedAttributesCount += 1;\n }\n else {\n // do nothing\n }\n }\n return {\n attributes: currentAttributesCount > 0 ? normalizedAttributes : undefined,\n droppedAttributesCount,\n };\n}\n//# sourceMappingURL=validation.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as api from '@opentelemetry/api';\nimport { timeInputToHrTime } from '@opentelemetry/core';\nimport { ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, } from '@opentelemetry/semantic-conventions';\nimport { addAttribute, AddAttributeDecision } from './utils/validation';\nexport class LogRecordImpl {\n resource;\n instrumentationScope;\n attributes = {};\n _hrTime;\n _hrTimeObserved;\n _spanContext;\n _severityText;\n _severityNumber;\n _body;\n _eventName;\n _attributesCount = 0;\n _droppedAttributesCount = 0;\n _isReadonly = false;\n _logRecordLimits;\n get hrTime() {\n return this._hrTime;\n }\n set hrTime(hrTime) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._hrTime = hrTime;\n }\n get hrTimeObserved() {\n return this._hrTimeObserved;\n }\n set hrTimeObserved(hrTimeObserved) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._hrTimeObserved = hrTimeObserved;\n }\n get spanContext() {\n return this._spanContext;\n }\n set spanContext(spanContext) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._spanContext = spanContext;\n }\n set severityText(severityText) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityText = severityText;\n }\n get severityText() {\n return this._severityText;\n }\n set severityNumber(severityNumber) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._severityNumber = severityNumber;\n }\n get severityNumber() {\n return this._severityNumber;\n }\n set body(body) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._body = body;\n }\n get body() {\n return this._body;\n }\n get eventName() {\n return this._eventName;\n }\n set eventName(eventName) {\n if (this._isLogRecordReadonly()) {\n return;\n }\n this._eventName = eventName;\n }\n get droppedAttributesCount() {\n return this._droppedAttributesCount;\n }\n constructor(_sharedState, instrumentationScope, logRecord) {\n const { timestamp, observedTimestamp, eventName, severityNumber, severityText, body, attributes = {}, exception, context, } = logRecord;\n const now = Date.now();\n this._hrTime = timeInputToHrTime(timestamp ?? now);\n this._hrTimeObserved = timeInputToHrTime(observedTimestamp ?? now);\n if (context) {\n const spanContext = api.trace.getSpanContext(context);\n if (spanContext && api.isSpanContextValid(spanContext)) {\n this._spanContext = spanContext;\n }\n }\n this.severityNumber = severityNumber;\n this.severityText = severityText;\n this.body = body;\n this.resource = _sharedState.resource;\n this.instrumentationScope = instrumentationScope;\n this._logRecordLimits = _sharedState.logRecordLimits;\n this._eventName = eventName;\n this.setAttributes(attributes);\n if (exception != null) {\n this._setException(exception);\n }\n }\n setAttribute(key, value) {\n if (this._isLogRecordReadonly()) {\n return this;\n }\n const decision = addAttribute(this.attributes, this._logRecordLimits, this._attributesCount, key, value);\n if (decision === AddAttributeDecision.DROP_LIMIT_REACHED) {\n this._droppedAttributesCount++;\n if (this._droppedAttributesCount === 1) {\n // Only warn once per LogRecord to avoid log spam\n api.diag.warn('Dropping extra attributes.');\n }\n }\n else if (decision === AddAttributeDecision.ADD_NEW) {\n this._attributesCount++;\n }\n return this;\n }\n setAttributes(attributes) {\n for (const [k, v] of Object.entries(attributes)) {\n this.setAttribute(k, v);\n }\n return this;\n }\n setBody(body) {\n this.body = body;\n return this;\n }\n setEventName(eventName) {\n this.eventName = eventName;\n return this;\n }\n setSeverityNumber(severityNumber) {\n this.severityNumber = severityNumber;\n return this;\n }\n setSeverityText(severityText) {\n this.severityText = severityText;\n return this;\n }\n /**\n * @internal\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n _makeReadonly() {\n this._isReadonly = true;\n }\n _setException(exception) {\n let hasMinimumAttributes = false;\n if (typeof exception === 'string' || typeof exception === 'number') {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, String(exception));\n }\n hasMinimumAttributes = true;\n }\n else if (exception && typeof exception === 'object') {\n const exceptionObj = exception;\n if (exceptionObj.code) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.code.toString());\n }\n hasMinimumAttributes = true;\n }\n else if (exceptionObj.name) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_TYPE)) {\n this.setAttribute(ATTR_EXCEPTION_TYPE, exceptionObj.name);\n }\n hasMinimumAttributes = true;\n }\n if (exceptionObj.message) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_MESSAGE)) {\n this.setAttribute(ATTR_EXCEPTION_MESSAGE, exceptionObj.message);\n }\n hasMinimumAttributes = true;\n }\n if (exceptionObj.stack) {\n if (!Object.hasOwn(this.attributes, ATTR_EXCEPTION_STACKTRACE)) {\n this.setAttribute(ATTR_EXCEPTION_STACKTRACE, exceptionObj.stack);\n }\n hasMinimumAttributes = true;\n }\n }\n if (!hasMinimumAttributes) {\n api.diag.warn(`Failed to record an exception ${exception}`);\n }\n }\n _isLogRecordReadonly() {\n if (this._isReadonly) {\n api.diag.warn('Can not execute the operation on emitted log record');\n }\n return this._isReadonly;\n }\n}\n//# sourceMappingURL=LogRecordImpl.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { context, trace, TraceFlags, isSpanContextValid, } from '@opentelemetry/api';\nimport { LogRecordImpl } from './LogRecordImpl';\nexport class Logger {\n _instrumentationScope;\n _sharedState;\n _loggerConfig;\n constructor(instrumentationScope, sharedState) {\n this._instrumentationScope = instrumentationScope;\n this._sharedState = sharedState;\n // Cache the logger configuration at construction time\n // Since we don't support re-configuration, this avoids map lookups\n // and string allocations on each emit() call\n this._loggerConfig = this._sharedState.getLoggerConfig(this._instrumentationScope);\n }\n emit(logRecord) {\n const currentContext = logRecord.context || context.active();\n if (!this.enabled(logRecord)) {\n return;\n }\n /**\n * If a Logger was obtained with include_trace_context=true,\n * the LogRecords it emits MUST automatically include the Trace Context from the active Context,\n * if Context has not been explicitly set.\n */\n const logRecordInstance = new LogRecordImpl(this._sharedState, this._instrumentationScope, {\n context: currentContext,\n ...logRecord,\n });\n this._sharedState.loggerMetrics.emitLog();\n /**\n * the explicitly passed Context,\n * the current Context, or an empty Context if the Logger was obtained with include_trace_context=false\n */\n this._sharedState.activeProcessor.onEmit(logRecordInstance, currentContext);\n /**\n * A LogRecordProcessor may freely modify logRecord for the duration of the OnEmit call.\n * If logRecord is needed after OnEmit returns (i.e. for asynchronous processing) only reads are permitted.\n */\n logRecordInstance._makeReadonly();\n }\n enabled(options) {\n if (this._sharedState.hasShutdown) {\n return false;\n }\n const loggerConfig = this._loggerConfig;\n if (loggerConfig.disabled) {\n return false;\n }\n // Severity number given and lower than the min configured\n const severityNumber = options?.severityNumber;\n if (typeof severityNumber === 'number' &&\n severityNumber !== SeverityNumber.UNSPECIFIED &&\n severityNumber < loggerConfig.minimumSeverity) {\n return false;\n }\n const currentContext = options?.context || context.active();\n // Trace based: the context (given or the active) has a unsampled Span\n if (loggerConfig.traceBased) {\n const spanContext = trace.getSpanContext(currentContext);\n if (spanContext && isSpanContextValid(spanContext)) {\n const isSampled = (spanContext.traceFlags & TraceFlags.SAMPLED) === TraceFlags.SAMPLED;\n if (!isSampled) {\n return false;\n }\n }\n }\n // Lastly check if there is any enabled processor\n const enabledOpts = {\n context: currentContext,\n instrumentationScope: this._instrumentationScope,\n severityNumber: options?.severityNumber,\n eventName: options?.eventName,\n };\n for (const processor of this._sharedState.processors) {\n if (!processor.enabled || processor.enabled(enabledOpts)) {\n return true;\n }\n }\n return false;\n }\n}\n//# sourceMappingURL=Logger.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nexport class NoopLogRecordProcessor {\n forceFlush() {\n return Promise.resolve();\n }\n onEmit(_logRecord, _context) { }\n shutdown() {\n return Promise.resolve();\n }\n enabled(_options) {\n return false;\n }\n}\n//# sourceMappingURL=NoopLogRecordProcessor.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { callWithTimeout } from '@opentelemetry/core';\n/**\n * Implementation of the {@link LogRecordProcessor} that simply forwards all\n * received events to a list of {@link LogRecordProcessor}s.\n */\nexport class MultiLogRecordProcessor {\n processors;\n constructor(processors) {\n this.processors = processors;\n }\n async forceFlush(options) {\n const timeout = options?.timeoutMillis ?? 30000;\n await Promise.all(this.processors.map(processor => callWithTimeout(processor.forceFlush(), timeout)));\n }\n onEmit(logRecord, context) {\n this.processors.forEach(processors => processors.onEmit(logRecord, context));\n }\n async shutdown() {\n await Promise.all(this.processors.map(processor => processor.shutdown()));\n }\n enabled(options) {\n for (const processor of this.processors) {\n if (!processor.enabled || processor.enabled(options)) {\n return true;\n }\n }\n return false;\n }\n}\n//# sourceMappingURL=MultiLogRecordProcessor.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/**\n * Normalizes an AnyValue to a JSON-serializable [typeTag, payload] tuple.\n *\n * Using a type tag as the first element guarantees that two values can only\n * produce the same tuple when they have the same type AND the same data,\n * avoiding cross-type collisions such as:\n * - null vs NaN vs Infinity (all become JSON `null` via JSON.stringify)\n * - -0 vs 0 (both become JSON `0` via JSON.stringify)\n * - string \"null\" vs the value null\n *\n * Object keys are sorted so that attribute maps with the same entries but\n * different insertion orders produce the same key.\n */\nfunction normalizeAnyValue(value) {\n if (value === undefined) {\n return ['u', null];\n }\n if (value === null) {\n return ['n', null];\n }\n const valueType = typeof value;\n if (valueType === 'string') {\n return ['s', value];\n }\n if (valueType === 'boolean') {\n return ['b', value];\n }\n if (valueType === 'number') {\n if (Number.isNaN(value))\n return ['nan', null];\n if (value === Infinity)\n return ['inf', null];\n if (value === -Infinity)\n return ['-inf', null];\n if (Object.is(value, -0))\n return ['n0', null];\n return ['d', value];\n }\n if (value instanceof Uint8Array) {\n return ['bytes', Array.from(value)];\n }\n if (Array.isArray(value)) {\n return ['arr', value.map(normalizeAnyValue)];\n }\n // AnyValueMap — sort keys for insertion-order independence\n return [\n 'map',\n Object.entries(value)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([k, v]) => [k, normalizeAnyValue(v)]),\n ];\n}\n/**\n * Converting the instrumentation scope object to a unique identifier string.\n * @param scope - The instrumentation scope to convert\n * @returns A unique string identifier for the scope\n */\nexport function getInstrumentationScopeKey(scope) {\n return JSON.stringify([\n scope.name,\n scope.version || '',\n scope.schemaUrl || '',\n normalizeAnyValue(scope.attributes),\n // we include the dropped attributes count to avoid collisions between scopes with the same identifying\n // characteristics, but different dropped counts. While there still can be collisions this is the best we can do if\n // we want to resolve the same logger without relying on object identity.\n scope.droppedAttributesCount ?? 0,\n ]);\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n/**\n * The number of logs submitted to enabled SDK Loggers.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_LOG_CREATED = 'otel.sdk.log.created';\n/**\n * The number of log records for which the processing has finished, either successful or failed.\n *\n * @note For successful processing, `error.type` **MUST NOT** be set. For failed processing, `error.type` **MUST** contain the failure cause.\n * For the SDK Simple and Batching Log Record Processor a log record is considered to be processed already when it has been submitted to the exporter,\n * not when the corresponding export call has finished.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_LOG_PROCESSED = 'otel.sdk.processor.log.processed';\n/**\n * The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold.\n *\n * @note Only applies to Log Record processors which use a queue, e.g. the SDK Batching Log Record Processor.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY = 'otel.sdk.processor.log.queue.capacity';\n/**\n * The number of log records in the queue of a given instance of an SDK log processor.\n *\n * @note Only applies to log record processors which use a queue, e.g. the SDK Batching Log Record Processor.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE = 'otel.sdk.processor.log.queue.size';\n/**\n * A name uniquely identifying the instance of the OpenTelemetry component within its containing SDK instance.\n *\n * @example otlp_grpc_span_exporter/0\n * @example custom-name\n *\n * @note Implementations **SHOULD** ensure a low cardinality for this attribute, even across application or SDK restarts.\n * E.g. implementations **MUST NOT** use UUIDs as values for this attribute.\n *\n * Implementations **MAY** achieve these goals by following a `<otel.component.type>/<instance-counter>` pattern, e.g. `batching_span_processor/0`.\n * Hereby `otel.component.type` refers to the corresponding attribute value of the component.\n *\n * The value of `instance-counter` **MAY** be automatically assigned by the component and uniqueness within the enclosing SDK instance **MUST** be guaranteed.\n * For example, `<instance-counter>` **MAY** be implemented by using a monotonically increasing counter (starting with `0`), which is incremented every time an\n * instance of the given component type is started.\n *\n * With this implementation, for example the first Batching Span Processor would have `batching_span_processor/0`\n * as `otel.component.name`, the second one `batching_span_processor/1` and so on.\n * These values will therefore be reused in the case of an application restart.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_COMPONENT_NAME = 'otel.component.name';\n/**\n * A name identifying the type of the OpenTelemetry component.\n *\n * @example batching_span_processor\n * @example com.example.MySpanExporter\n *\n * @note If none of the standardized values apply, implementations **SHOULD** use the language-defined name of the type.\n * E.g. for Java the fully qualified classname **SHOULD** be used in this case.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const ATTR_OTEL_COMPONENT_TYPE = 'otel.component.type';\n/**\n * Enum value \"batching_log_processor\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * The builtin SDK batching log record processor\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR = 'batching_log_processor';\n/**\n * Enum value \"simple_log_processor\" for attribute {@link ATTR_OTEL_COMPONENT_TYPE}.\n *\n * The builtin SDK simple log record processor\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const OTEL_COMPONENT_TYPE_VALUE_SIMPLE_LOG_PROCESSOR = 'simple_log_processor';\n/**\n * Describes a class of error the operation ended with.\n *\n * @example timeout\n * @example java.net.UnknownHostException\n * @example server_certificate_invalid\n * @example 500\n *\n * @note The `error.type` **SHOULD** be predictable, and **SHOULD** have low cardinality.\n *\n * When `error.type` is set to a type (e.g., an exception type), its\n * canonical class name identifying the type within the artifact **SHOULD** be used.\n *\n * Instrumentations **SHOULD** document the list of errors they report.\n *\n * The cardinality of `error.type` within one instrumentation library **SHOULD** be low.\n * Telemetry consumers that aggregate data from multiple instrumentation libraries and applications\n * should be prepared for `error.type` to have high cardinality at query time when no\n * additional filters are applied.\n *\n * If the operation has completed successfully, instrumentations **SHOULD NOT** set `error.type`.\n *\n * If a specific domain defines its own set of error identifiers (such as HTTP or RPC status codes),\n * it's **RECOMMENDED** to:\n *\n * - Use a domain-specific attribute\n * - Set `error.type` to capture all errors, regardless of whether they are defined within the domain-specific set or not.\n */\nexport const ATTR_ERROR_TYPE = 'error.type';\n//# sourceMappingURL=semconv.js.map","import { METRIC_OTEL_SDK_LOG_CREATED } from './semconv';\n/**\n * Generates `otel.sdk.log.*` metrics.\n * https://opentelemetry.io/docs/specs/semconv/otel/sdk-metrics/#log-metrics\n */\nexport class LoggerMetrics {\n createdLogs;\n constructor(meter) {\n this.createdLogs = meter.createCounter(METRIC_OTEL_SDK_LOG_CREATED, {\n unit: '{log_record}',\n description: 'The number of logs submitted to enabled SDK Loggers.',\n });\n }\n emitLog() {\n this.createdLogs.add(1);\n }\n}\n//# sourceMappingURL=LoggerMetrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.223.0';\n//# sourceMappingURL=version.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { createNoopMeter } from '@opentelemetry/api';\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { NoopLogRecordProcessor } from '../export/NoopLogRecordProcessor';\nimport { MultiLogRecordProcessor } from '../MultiLogRecordProcessor';\nimport { getInstrumentationScopeKey } from './utils';\nimport { LoggerMetrics } from '../LoggerMetrics';\nimport { VERSION } from '../version';\nconst DEFAULT_LOGGER_CONFIG = {\n disabled: false,\n minimumSeverity: SeverityNumber.UNSPECIFIED,\n traceBased: false,\n};\n/**\n * Default LoggerConfigurator that returns the default config for all loggers\n */\nexport const DEFAULT_LOGGER_CONFIGURATOR = () => ({\n ...DEFAULT_LOGGER_CONFIG,\n});\nexport class LoggerProviderSharedState {\n loggers = new Map();\n activeProcessor;\n registeredLogRecordProcessors = [];\n resource;\n logRecordLimits;\n processors;\n loggerMetrics;\n hasShutdown = false;\n _loggerConfigurator;\n _loggerConfigs = new Map();\n constructor(resource, logRecordLimits, processors, loggerConfigurator, meterProvider) {\n this.resource = resource;\n this.logRecordLimits = logRecordLimits;\n this.processors = processors;\n if (processors.length > 0) {\n this.registeredLogRecordProcessors = processors;\n this.activeProcessor = new MultiLogRecordProcessor(this.registeredLogRecordProcessors);\n }\n else {\n this.activeProcessor = new NoopLogRecordProcessor();\n }\n this._loggerConfigurator =\n loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR;\n const meter = meterProvider\n ? meterProvider.getMeter('@opentelemetry/sdk-logs', VERSION)\n : createNoopMeter();\n this.loggerMetrics = new LoggerMetrics(meter);\n }\n /**\n * Get the LoggerConfig for a given instrumentation scope.\n * Uses the LoggerConfigurator function to compute the config on first access\n * and caches the result.\n *\n * @experimental This feature is in development as per the OpenTelemetry specification.\n */\n getLoggerConfig(instrumentationScope) {\n const key = getInstrumentationScopeKey(instrumentationScope);\n // Return cached config if available\n let config = this._loggerConfigs.get(key);\n if (config) {\n return config;\n }\n // Compute config using the configurator\n // The configurator always returns a complete config\n config = this._loggerConfigurator(instrumentationScope);\n // Cache the result\n this._loggerConfigs.set(key, config);\n return config;\n }\n}\n//# sourceMappingURL=LoggerProviderSharedState.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { diag } from '@opentelemetry/api';\nimport { createNoopLogger } from '@opentelemetry/api-logs';\nimport { defaultResource } from '@opentelemetry/resources';\nimport { BindOnceFuture } from '@opentelemetry/core';\nimport { Logger } from './Logger';\nimport { DEFAULT_LOGGER_CONFIGURATOR, LoggerProviderSharedState, } from './internal/LoggerProviderSharedState';\nimport { getInstrumentationScopeKey, } from './internal/utils';\nimport { normalizeScopeAttributes } from './utils/validation';\nexport const DEFAULT_LOGGER_NAME = 'unknown';\nexport class LoggerProvider {\n _shutdownOnce;\n _sharedState;\n constructor(config = {}) {\n const mergedConfig = {\n resource: config.resource ?? defaultResource(),\n logRecordLimits: {\n attributeCountLimit: config.logRecordLimits?.attributeCountLimit ?? 128,\n attributeValueLengthLimit: config.logRecordLimits?.attributeValueLengthLimit ?? Infinity,\n },\n loggerConfigurator: config.loggerConfigurator ?? DEFAULT_LOGGER_CONFIGURATOR,\n processors: config.processors ?? [],\n meterProvider: config.meterProvider,\n };\n this._sharedState = new LoggerProviderSharedState(mergedConfig.resource, mergedConfig.logRecordLimits, mergedConfig.processors, mergedConfig.loggerConfigurator, mergedConfig.meterProvider);\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n }\n /**\n * Get a logger with the configuration of the LoggerProvider.\n */\n getLogger(name, version, options) {\n if (this._shutdownOnce.isCalled) {\n diag.warn('A shutdown LoggerProvider cannot provide a Logger');\n return createNoopLogger();\n }\n if (!name) {\n diag.warn('Logger requested without instrumentation scope name.');\n }\n const loggerName = name || DEFAULT_LOGGER_NAME;\n const instrumentationScope = {\n name: loggerName,\n version,\n schemaUrl: options?.schemaUrl,\n ...normalizeScopeAttributes(this._sharedState.logRecordLimits, options?.attributes),\n };\n const key = getInstrumentationScopeKey(instrumentationScope);\n if (!this._sharedState.loggers.has(key)) {\n this._sharedState.loggers.set(key, new Logger(instrumentationScope, this._sharedState));\n }\n return this._sharedState.loggers.get(key);\n }\n /**\n * Notifies all registered LogRecordProcessor to flush any buffered data.\n *\n * Returns a promise which is resolved when all flushes are complete.\n */\n forceFlush(options) {\n // do not flush after shutdown\n if (this._shutdownOnce.isCalled) {\n diag.warn('invalid attempt to force flush after LoggerProvider shutdown');\n return this._shutdownOnce.promise;\n }\n return this._sharedState.activeProcessor.forceFlush(options);\n }\n /**\n * Flush all buffered data and shut down the LoggerProvider and all registered\n * LogRecordProcessor.\n *\n * Returns a promise which is resolved when all flushes are complete.\n */\n shutdown() {\n if (this._shutdownOnce.isCalled) {\n diag.warn('shutdown may only be called once per LoggerProvider');\n return this._shutdownOnce.promise;\n }\n return this._shutdownOnce.call();\n }\n _shutdown() {\n this._sharedState.hasShutdown = true;\n return this._sharedState.activeProcessor.shutdown();\n }\n}\n//# sourceMappingURL=LoggerProvider.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { ATTR_ERROR_TYPE, ATTR_OTEL_COMPONENT_NAME, ATTR_OTEL_COMPONENT_TYPE, METRIC_OTEL_SDK_PROCESSOR_LOG_PROCESSED, METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY, METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE, } from '../semconv';\nconst componentCounter = new Map();\nexport class LogRecordProcessorMetrics {\n processedLogs;\n queueSize;\n queueSizeCallback;\n standardAttrs;\n droppedAttrs;\n constructor(componentType, meter, queueConfig) {\n const counter = componentCounter.get(componentType) ?? 0;\n componentCounter.set(componentType, counter + 1);\n this.standardAttrs = {\n [ATTR_OTEL_COMPONENT_TYPE]: componentType,\n [ATTR_OTEL_COMPONENT_NAME]: `${componentType}/${counter}`,\n };\n this.droppedAttrs = {\n ...this.standardAttrs,\n [ATTR_ERROR_TYPE]: 'queue_full',\n };\n this.processedLogs = meter.createCounter(METRIC_OTEL_SDK_PROCESSOR_LOG_PROCESSED, {\n unit: '{log_record}',\n description: 'The number of log records for which the processing has finished, either successful or failed.',\n });\n if (queueConfig) {\n const { capacity, getQueueSize } = queueConfig;\n const queueCapacity = meter.createUpDownCounter(METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_CAPACITY, {\n unit: '{log_record}',\n description: 'The maximum number of log records the queue of a given instance of an SDK log processor can hold.',\n });\n queueCapacity.add(capacity, this.standardAttrs);\n this.queueSize = meter.createObservableUpDownCounter(METRIC_OTEL_SDK_PROCESSOR_LOG_QUEUE_SIZE, {\n unit: '{log_record}',\n description: 'The number of log records in the queue of a given instance of an SDK log processor.',\n });\n this.queueSizeCallback = result => result.observe(getQueueSize(), this.standardAttrs);\n this.queueSize.addCallback(this.queueSizeCallback);\n }\n }\n dropLogs(count) {\n this.processedLogs.add(count, this.droppedAttrs);\n }\n finishLogs(count, error) {\n if (!error) {\n this.processedLogs.add(count, this.standardAttrs);\n return;\n }\n const attrs = {\n ...this.standardAttrs,\n [ATTR_ERROR_TYPE]: error.name,\n };\n this.processedLogs.add(count, attrs);\n }\n shutdown() {\n if (this.queueSize && this.queueSizeCallback) {\n this.queueSize.removeCallback(this.queueSizeCallback);\n }\n }\n}\n//# sourceMappingURL=LogRecordProcessorMetrics.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { context, createNoopMeter, diag } from '@opentelemetry/api';\nimport { ExportResultCode, globalErrorHandler, BindOnceFuture, suppressTracing, } from '@opentelemetry/core';\nimport { LogRecordProcessorMetrics } from './LogRecordProcessorMetrics';\nimport { OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR } from '../semconv';\n/**\n * Waits for all pending async resources in the log records to be resolved.\n */\nasync function waitForResources(logRecords) {\n const pendingResources = [];\n for (let i = 0, len = logRecords.length; i < len; i++) {\n const logRecord = logRecords[i];\n if (logRecord.resource.asyncAttributesPending &&\n logRecord.resource.waitForAsyncAttributes) {\n pendingResources.push(logRecord.resource.waitForAsyncAttributes());\n }\n }\n if (pendingResources != null && pendingResources.length > 0) {\n await Promise.all(pendingResources);\n }\n}\n/**\n * Represents an export operation that handles the entire export workflow.\n */\nclass ExportOperation {\n _exportCompleted;\n _exportScheduledPromise;\n _metrics;\n _exportScheduledResolve;\n constructor(exporter, logRecords, exportTimeoutMillis, metrics) {\n this._exportScheduledPromise = new Promise(resolve => {\n this._exportScheduledResolve = resolve;\n });\n this._exportCompleted = this._executeExport(exporter, logRecords, exportTimeoutMillis);\n this._metrics = metrics;\n }\n /** Get the promise that resolves when the export completes */\n get exportCompleted() {\n return this._exportCompleted;\n }\n /** Get the promise that resolves when exporter.export() has been called */\n get exportScheduled() {\n return this._exportScheduledPromise;\n }\n async _executeExport(exporter, logRecords, exportTimeoutMillis) {\n try {\n // Wait for all pending resources before exporting\n await waitForResources(logRecords);\n // Export with timeout, wrapped in suppressTracing context\n await context.with(suppressTracing(context.active()), async () => {\n return this._exportWithTimeout(exporter, logRecords, exportTimeoutMillis);\n });\n }\n catch (e) {\n // ensure we never reject here, as we may call await after it has already resolved.\n globalErrorHandler(e);\n // resolve, as the error may have occurred before export was scheduled\n this._exportScheduledResolve();\n }\n }\n async _exportWithTimeout(exporter, logRecords, exportTimeoutMillis) {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error('Timeout'));\n }, exportTimeoutMillis);\n // Call exporter.export() and immediately resolve exportScheduled\n exporter.export(logRecords, result => {\n this._metrics.finishLogs(logRecords.length, result.error);\n clearTimeout(timer);\n if (result.code === ExportResultCode.SUCCESS) {\n resolve();\n }\n else {\n reject(result.error ??\n new Error('BatchLogRecordProcessor: log record export failed'));\n }\n });\n // Resolve exportScheduled immediately after calling exporter.export()\n this._exportScheduledResolve();\n });\n }\n}\nexport class BatchLogRecordProcessorBase {\n _maxExportBatchSize;\n _maxQueueSize;\n _scheduledDelayMillis;\n _exportTimeoutMillis;\n _exporter;\n _metrics;\n _currentExport = null;\n _finishedLogRecords = [];\n _timer;\n _shutdownOnce;\n _flushing = false;\n constructor(options) {\n this._exporter = options.exporter;\n this._maxExportBatchSize = options.maxExportBatchSize ?? 512;\n this._maxQueueSize = options.maxQueueSize ?? 2048;\n this._scheduledDelayMillis = options.scheduledDelayMillis ?? 1000;\n this._exportTimeoutMillis = options.exportTimeoutMillis ?? 30000;\n this._shutdownOnce = new BindOnceFuture(this._shutdown, this);\n if (this._maxExportBatchSize > this._maxQueueSize) {\n diag.warn('BatchLogRecordProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize');\n this._maxExportBatchSize = this._maxQueueSize;\n }\n const meter = options?.selfObsMeterProvider\n ? options.selfObsMeterProvider.getMeter('@opentelemetry/sdk-logs')\n : createNoopMeter();\n this._metrics = new LogRecordProcessorMetrics(OTEL_COMPONENT_TYPE_VALUE_BATCHING_LOG_PROCESSOR, meter, {\n capacity: this._maxQueueSize,\n getQueueSize: () => this._finishedLogRecords.length,\n });\n }\n onEmit(logRecord) {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n this._addToBuffer(logRecord);\n }\n forceFlush() {\n if (this._shutdownOnce.isCalled) {\n return this._shutdownOnce.promise;\n }\n return this._flushAll();\n }\n /** Add a LogRecord in the buffer. */\n _addToBuffer(logRecord) {\n if (this._finishedLogRecords.length >= this._maxQueueSize) {\n this._metrics.dropLogs(1);\n return;\n }\n this._finishedLogRecords.push(logRecord);\n this._maybeStartTimer();\n }\n shutdown() {\n return this._shutdownOnce.call();\n }\n async _shutdown() {\n this.onShutdown();\n await this._flushAll();\n this._metrics.shutdown();\n await this._exporter.shutdown();\n }\n /**\n * Send all LogRecords to the exporter respecting the batch size limit\n * This function is used only on forceFlush or shutdown,\n * for all other cases _exportOneBatch should be used\n * */\n async _flushAll() {\n // Guard against concurrent flushes. Concurrent .forceFlush() calls will\n // return without waiting for the in-progress flush to finish.\n if (this._flushing) {\n return;\n }\n this._flushing = true;\n // Grab the current set of finished log records, because the spec says:\n // > ... for which the LogRecordProcessor had already received events prior to the call to ForceFlush ...\n let toFlush = this._finishedLogRecords;\n this._finishedLogRecords = [];\n // Clear timer to prevent concurrent exports\n this._clearTimer();\n // Wait for any in-progress export to complete. Capture the reference\n // into a local because `_exportOneBatch` may null out `this._currentExport`\n // from its completion handler while we are awaiting below.\n const inFlight = this._currentExport;\n if (inFlight !== null) {\n // speed up execution for current export\n await this._exporter.forceFlush();\n await inFlight.exportCompleted;\n this._currentExport = null;\n }\n // Now flush all batches sequentially to avoid race conditions\n while (toFlush.length > 0) {\n let batch;\n if (toFlush.length <= this._maxExportBatchSize) {\n batch = toFlush;\n toFlush = [];\n }\n else {\n batch = toFlush.splice(0, this._maxExportBatchSize);\n }\n const exportOp = new ExportOperation(this._exporter, batch, this._exportTimeoutMillis, this._metrics);\n this._currentExport = exportOp;\n // await export scheduled, then force flush exporter to speed up export\n try {\n await exportOp.exportScheduled;\n await this._exporter.forceFlush();\n await exportOp.exportCompleted;\n }\n catch (e) {\n globalErrorHandler(e);\n }\n finally {\n this._currentExport = null;\n }\n }\n this._flushing = false;\n this._maybeStartTimer();\n }\n /**\n * Extracts one batch from the buffer.\n * Returns null if buffer is empty.\n */\n _extractBatch() {\n if (this._finishedLogRecords.length === 0) {\n return null;\n }\n if (this._finishedLogRecords.length <= this._maxExportBatchSize) {\n const batch = this._finishedLogRecords;\n this._finishedLogRecords = [];\n return batch;\n }\n else {\n return this._finishedLogRecords.splice(0, this._maxExportBatchSize);\n }\n }\n _exportOneBatch() {\n this._clearTimer();\n const logRecords = this._extractBatch();\n if (logRecords === null) {\n return;\n }\n const exportOp = new ExportOperation(this._exporter, logRecords, this._exportTimeoutMillis, this._metrics);\n this._currentExport = exportOp;\n // Handle completion asynchronously\n exportOp.exportCompleted\n .then(() => {\n this._currentExport = null;\n this._maybeStartTimer();\n })\n .catch(error => {\n this._currentExport = null;\n globalErrorHandler(error);\n this._maybeStartTimer();\n });\n }\n _maybeStartTimer() {\n if (this._shutdownOnce.isCalled) {\n return;\n }\n if (this._flushing) {\n return;\n }\n if (this._finishedLogRecords.length === 0) {\n return;\n }\n if (this._currentExport !== null) {\n return;\n }\n // If batch is full, export immediately\n if (this._finishedLogRecords.length >= this._maxExportBatchSize) {\n this._exportOneBatch();\n return;\n }\n // If timer is already set, don't set another one\n if (this._timer !== undefined) {\n return;\n }\n // Set timer for scheduled export\n this._timer = setTimeout(() => {\n this._timer = undefined;\n this._exportOneBatch();\n }, this._scheduledDelayMillis);\n // Unref timer so it doesn't keep process alive\n if (typeof this._timer !== 'number') {\n this._timer.unref();\n }\n }\n _clearTimer() {\n if (this._timer !== undefined) {\n clearTimeout(this._timer);\n this._timer = undefined;\n }\n }\n}\n//# sourceMappingURL=BatchLogRecordProcessorBase.js.map","/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { BatchLogRecordProcessorBase } from '../../../export/BatchLogRecordProcessorBase';\nexport class BatchLogRecordProcessor extends BatchLogRecordProcessorBase {\n _visibilityChangeListener;\n _pageHideListener;\n constructor(options) {\n super(options);\n this._onInit(options);\n }\n onShutdown() {\n if (typeof document === 'undefined') {\n return;\n }\n if (this._visibilityChangeListener) {\n document.removeEventListener('visibilitychange', this._visibilityChangeListener);\n }\n if (this._pageHideListener) {\n document.removeEventListener('pagehide', this._pageHideListener);\n }\n }\n _onInit(options) {\n if (options.disableAutoFlushOnDocumentHide === true ||\n typeof document === 'undefined') {\n return;\n }\n this._visibilityChangeListener = () => {\n if (document.visibilityState === 'hidden') {\n void this.forceFlush();\n }\n };\n this._pageHideListener = () => {\n void this.forceFlush();\n };\n document.addEventListener('visibilitychange', this._visibilityChangeListener);\n // use 'pagehide' event as a fallback for Safari; see https://bugs.webkit.org/show_bug.cgi?id=116769\n document.addEventListener('pagehide', this._pageHideListener);\n }\n}\n//# sourceMappingURL=BatchLogRecordProcessor.js.map","import { BaseTelemetryAdapter } from '../../TelemetryAdapter.js';\nimport { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';\nimport { LoggerProvider, BatchLogRecordProcessor, } from '@opentelemetry/sdk-logs';\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { resourceFromAttributes } from '@opentelemetry/resources';\n/**\n * Exports Fusion telemetry as OTLP/HTTP log records using the standard OpenTelemetry SDK.\n *\n * Records include app identity and source attributes, and automatically inherit the active\n * OpenTelemetry trace/span context. No global logger provider or console patch is installed.\n * Collector failures are reported once without blocking initialization or app execution.\n *\n * @example\n * ```ts\n * import { OtlpAdapter } from '@equinor/fusion-framework-module-telemetry/otlp-adapter';\n *\n * enableTelemetry(configurator, {\n * configure: (builder) => builder.setAdapter('otlp', new OtlpAdapter({\n * url: 'http://localhost:4318/v1/logs',\n * })),\n * });\n * ```\n */\nexport class OtlpAdapter extends BaseTelemetryAdapter {\n /** Whether explicitly configured child adapters take precedence. */\n fallback;\n #reportedFailure = false;\n #logger;\n #provider;\n /**\n * Creates an OTLP adapter without contacting the collector.\n * @param options - Logs endpoint, optional service identity, and fallback precedence.\n */\n constructor(options) {\n super();\n this.fallback = options.fallback ?? false;\n const exporter = new OTLPLogExporter({ url: options.url, timeoutMillis: 5_000 });\n const reportingExporter = {\n export: (records, callback) => {\n exporter.export(records, (result) => {\n // Report once without replacing the SDK's failure result with a success.\n if (result.code !== 0 && !this.#reportedFailure) {\n this.#reportedFailure = true;\n console.warn('OTLP log delivery failed; telemetry is best effort.', result.error);\n }\n callback(result);\n });\n },\n forceFlush: () => exporter.forceFlush(),\n shutdown: () => exporter.shutdown(),\n };\n this.#provider = new LoggerProvider({\n resource: resourceFromAttributes({\n 'service.name': options.serviceName ?? 'fusion.telemetry',\n }),\n // Bootstrap emits bursts; batching avoids the exporter's concurrent-request limit.\n processors: [\n new BatchLogRecordProcessor({\n exporter: reportingExporter,\n scheduledDelayMillis: 1_000,\n maxExportBatchSize: 128,\n maxQueueSize: 2_048,\n }),\n ],\n });\n this.#logger = this.#provider.getLogger('fusion.telemetry');\n }\n /**\n * Flushes pending records and releases the SDK exporter without affecting global telemetry.\n * @returns Resolves after pending exports finish and the SDK provider shuts down.\n */\n shutdown() {\n return this.#provider.shutdown();\n }\n /**\n * Exports buffered records immediately, for deterministic tests and explicit lifecycle boundaries.\n * @returns Resolves when the SDK finishes exporting pending records.\n * @example\n * ```ts\n * await adapter.forceFlush();\n * ```\n */\n forceFlush() {\n return this.#provider.forceFlush();\n }\n /**\n * Exports a telemetry item as an OTLP LogRecord.\n * @param item - App or framework record, including inherited Fusion metadata.\n */\n _processItem(item) {\n const fusion = item.metadata?.fusion;\n const app = fusion && typeof fusion === 'object' && 'app' in fusion ? fusion.app : undefined;\n const appKey = app && typeof app === 'object' && 'key' in app && typeof app.key === 'string'\n ? app.key\n : undefined;\n const attributes = {\n source: appKey ? 'app' : 'framework',\n 'fusion.telemetry.type': item.type,\n 'fusion.telemetry.scope': item.scope,\n ...(appKey ? { 'fusion.app.key': appKey } : {}),\n };\n // OTLP attributes accept primitive values, not arbitrary application objects.\n for (const [key, value] of Object.entries(item.properties ?? {})) {\n // Preserve supported values without serializing circular application objects.\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n attributes[`fusion.properties.${key}`] = value;\n }\n }\n // Error instances do not serialize as useful OTLP attributes automatically.\n if ('exception' in item && item.exception instanceof Error) {\n attributes['exception.type'] = item.exception.name;\n attributes['exception.message'] = item.exception.message;\n attributes['exception.stacktrace'] = item.exception.stack;\n }\n // Keep metric values when representing Fusion metrics as OTLP log records.\n if ('value' in item && typeof item.value === 'number') {\n attributes['fusion.telemetry.value'] = item.value;\n }\n this.#logger.emit({\n body: item.name,\n attributes,\n severityNumber: [\n SeverityNumber.DEBUG,\n SeverityNumber.INFO,\n SeverityNumber.WARN,\n SeverityNumber.ERROR,\n SeverityNumber.FATAL,\n ][item.level],\n });\n }\n}\n//# sourceMappingURL=OtlpAdapter.js.map"],"names":["api.trace","api.isSpanContextValid","api.diag"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a5 as MsalConfigurator, a6 as module$1 } from './module-
|
|
1
|
+
import { a5 as MsalConfigurator, a6 as module$1 } from './module-BR47HvRl.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Encodes a value as base64url without padding, as used in JWT segments.
|
|
@@ -803,4 +803,4 @@ configurator, configure) => {
|
|
|
803
803
|
};
|
|
804
804
|
|
|
805
805
|
export { MsalMockClient, MsalMockConfigurator, createMockToken, decodeJwtSegment, enableMsalMock, msalMockModule };
|
|
806
|
-
//# sourceMappingURL=index-
|
|
806
|
+
//# sourceMappingURL=index-glg6-DFO.js.map
|