@opentelemetry/sdk-node 0.216.0 → 0.217.0
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/build/src/diag.d.ts +47 -0
- package/build/src/diag.js +100 -0
- package/build/src/diag.js.map +1 -0
- package/build/src/start.d.ts +3 -0
- package/build/src/start.js +21 -11
- package/build/src/start.js.map +1 -1
- package/build/src/version.d.ts +1 -1
- package/build/src/version.js +1 -1
- package/build/src/version.js.map +1 -1
- package/package.json +17 -17
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # Configuring the internal diag logger level
|
|
3
|
+
*
|
|
4
|
+
* Before OpenTelemetry declarative configuration there was a loosely defined
|
|
5
|
+
* `OTEL_LOG_LEVEL` used by *some* OTel SDK languages, including OTel JS.
|
|
6
|
+
* The supported values were never standardized.
|
|
7
|
+
*
|
|
8
|
+
* With declarative configuration, OpenTelemetry standardized `log_level` to
|
|
9
|
+
* the set of SeverityNumber values defined by the Logs API, but as lowercase
|
|
10
|
+
* string names.
|
|
11
|
+
* https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema-docs.md#severitynumber
|
|
12
|
+
* https://opentelemetry.io/docs/specs/otel/logs/data-model/#displaying-severity
|
|
13
|
+
*
|
|
14
|
+
* The following is the mapping between log levels:
|
|
15
|
+
*
|
|
16
|
+
* | DiagLogLevel | OTEL_LOG_LEVEL | `log_level` Configuration |
|
|
17
|
+
* | ------------ | -------------- | ------------------------- |
|
|
18
|
+
* | NONE (0) | "NONE" | use "fatal", "fatal2", "fatal3", or "fatal4" |
|
|
19
|
+
* | ERROR (30) | "ERROR" | error, error2, error3, error4 |
|
|
20
|
+
* | WARN (50) | "WARN" | warn, warn2, warn3, warn4 |
|
|
21
|
+
* | INFO (60) | "INFO" | info, info2, info3, info4 |
|
|
22
|
+
* | DEBUG (70) | "DEBUG" | debug, debug2, debug3, debug4 |
|
|
23
|
+
* | VERBOSE (80) | "VERBOSE" | trace2, trace3, trace4 |
|
|
24
|
+
* | ALL (9999) | "ALL" | use "trace" |
|
|
25
|
+
*
|
|
26
|
+
* Notable differences between `OTEL_LOG_LEVEL` and `log_level`:
|
|
27
|
+
*
|
|
28
|
+
* - `OTEL_LOG_LEVEL` envvar values are case-insensitive.
|
|
29
|
+
* - `log_level` Declarative Configuration values are case-sensitive.
|
|
30
|
+
* - `log_level` values do not have direct values for "NONE" or "ALL".
|
|
31
|
+
* Using "trace" for ALL and "fatal" for NONE are functionally equivalent.
|
|
32
|
+
* - Declarative Configuration specifies to default to "info" level.
|
|
33
|
+
*
|
|
34
|
+
* See https://github.com/open-telemetry/opentelemetry-specification/issues/2039#issuecomment-4306774443
|
|
35
|
+
* for discussion.
|
|
36
|
+
*
|
|
37
|
+
* See also:
|
|
38
|
+
* - `diagLogLevelFromString()` from `@opentelemetry/core`.
|
|
39
|
+
* - `severityNumberConfigFromLogLevelString()` in `@opentelemetry/configuration`.
|
|
40
|
+
*/
|
|
41
|
+
import { DiagLogLevel } from '@opentelemetry/api';
|
|
42
|
+
import type { SeverityNumberConfigModel } from '@opentelemetry/configuration';
|
|
43
|
+
/**
|
|
44
|
+
* @throws Error if `sevNum` is not a known value from the Configuration schema.
|
|
45
|
+
*/
|
|
46
|
+
export declare function diagLogLevelFromSeverityNumberConfig(sevNum?: SeverityNumberConfigModel): DiagLogLevel;
|
|
47
|
+
//# sourceMappingURL=diag.d.ts.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright The OpenTelemetry Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.diagLogLevelFromSeverityNumberConfig = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* # Configuring the internal diag logger level
|
|
10
|
+
*
|
|
11
|
+
* Before OpenTelemetry declarative configuration there was a loosely defined
|
|
12
|
+
* `OTEL_LOG_LEVEL` used by *some* OTel SDK languages, including OTel JS.
|
|
13
|
+
* The supported values were never standardized.
|
|
14
|
+
*
|
|
15
|
+
* With declarative configuration, OpenTelemetry standardized `log_level` to
|
|
16
|
+
* the set of SeverityNumber values defined by the Logs API, but as lowercase
|
|
17
|
+
* string names.
|
|
18
|
+
* https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema-docs.md#severitynumber
|
|
19
|
+
* https://opentelemetry.io/docs/specs/otel/logs/data-model/#displaying-severity
|
|
20
|
+
*
|
|
21
|
+
* The following is the mapping between log levels:
|
|
22
|
+
*
|
|
23
|
+
* | DiagLogLevel | OTEL_LOG_LEVEL | `log_level` Configuration |
|
|
24
|
+
* | ------------ | -------------- | ------------------------- |
|
|
25
|
+
* | NONE (0) | "NONE" | use "fatal", "fatal2", "fatal3", or "fatal4" |
|
|
26
|
+
* | ERROR (30) | "ERROR" | error, error2, error3, error4 |
|
|
27
|
+
* | WARN (50) | "WARN" | warn, warn2, warn3, warn4 |
|
|
28
|
+
* | INFO (60) | "INFO" | info, info2, info3, info4 |
|
|
29
|
+
* | DEBUG (70) | "DEBUG" | debug, debug2, debug3, debug4 |
|
|
30
|
+
* | VERBOSE (80) | "VERBOSE" | trace2, trace3, trace4 |
|
|
31
|
+
* | ALL (9999) | "ALL" | use "trace" |
|
|
32
|
+
*
|
|
33
|
+
* Notable differences between `OTEL_LOG_LEVEL` and `log_level`:
|
|
34
|
+
*
|
|
35
|
+
* - `OTEL_LOG_LEVEL` envvar values are case-insensitive.
|
|
36
|
+
* - `log_level` Declarative Configuration values are case-sensitive.
|
|
37
|
+
* - `log_level` values do not have direct values for "NONE" or "ALL".
|
|
38
|
+
* Using "trace" for ALL and "fatal" for NONE are functionally equivalent.
|
|
39
|
+
* - Declarative Configuration specifies to default to "info" level.
|
|
40
|
+
*
|
|
41
|
+
* See https://github.com/open-telemetry/opentelemetry-specification/issues/2039#issuecomment-4306774443
|
|
42
|
+
* for discussion.
|
|
43
|
+
*
|
|
44
|
+
* See also:
|
|
45
|
+
* - `diagLogLevelFromString()` from `@opentelemetry/core`.
|
|
46
|
+
* - `severityNumberConfigFromLogLevelString()` in `@opentelemetry/configuration`.
|
|
47
|
+
*/
|
|
48
|
+
const api_1 = require("@opentelemetry/api");
|
|
49
|
+
/* istanbul ignore next */
|
|
50
|
+
/**
|
|
51
|
+
* @throws Error if `sevNum` is not a known value from the Configuration schema.
|
|
52
|
+
*/
|
|
53
|
+
function diagLogLevelFromSeverityNumberConfig(sevNum = 'info') {
|
|
54
|
+
let level;
|
|
55
|
+
switch (sevNum) {
|
|
56
|
+
case 'trace':
|
|
57
|
+
level = api_1.DiagLogLevel.ALL;
|
|
58
|
+
break;
|
|
59
|
+
case 'trace2':
|
|
60
|
+
case 'trace3':
|
|
61
|
+
case 'trace4':
|
|
62
|
+
level = api_1.DiagLogLevel.VERBOSE;
|
|
63
|
+
break;
|
|
64
|
+
case 'debug':
|
|
65
|
+
case 'debug2':
|
|
66
|
+
case 'debug3':
|
|
67
|
+
case 'debug4':
|
|
68
|
+
level = api_1.DiagLogLevel.DEBUG;
|
|
69
|
+
break;
|
|
70
|
+
case 'info':
|
|
71
|
+
case 'info2':
|
|
72
|
+
case 'info3':
|
|
73
|
+
case 'info4':
|
|
74
|
+
level = api_1.DiagLogLevel.INFO;
|
|
75
|
+
break;
|
|
76
|
+
case 'warn':
|
|
77
|
+
case 'warn2':
|
|
78
|
+
case 'warn3':
|
|
79
|
+
case 'warn4':
|
|
80
|
+
level = api_1.DiagLogLevel.WARN;
|
|
81
|
+
break;
|
|
82
|
+
case 'error':
|
|
83
|
+
case 'error2':
|
|
84
|
+
case 'error3':
|
|
85
|
+
case 'error4':
|
|
86
|
+
level = api_1.DiagLogLevel.ERROR;
|
|
87
|
+
break;
|
|
88
|
+
case 'fatal':
|
|
89
|
+
case 'fatal2':
|
|
90
|
+
case 'fatal3':
|
|
91
|
+
case 'fatal4':
|
|
92
|
+
level = api_1.DiagLogLevel.NONE;
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
throw new Error(`unexpected SeverityNumberConfigModel value: ${sevNum}`);
|
|
96
|
+
}
|
|
97
|
+
return level;
|
|
98
|
+
}
|
|
99
|
+
exports.diagLogLevelFromSeverityNumberConfig = diagLogLevelFromSeverityNumberConfig;
|
|
100
|
+
//# sourceMappingURL=diag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diag.js","sourceRoot":"","sources":["../../src/diag.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,4CAAkD;AAGlD,0BAA0B;AAC1B;;GAEG;AACH,SAAgB,oCAAoC,CAClD,SAAoC,MAAM;IAE1C,IAAI,KAAmB,CAAC;IACxB,QAAQ,MAAM,EAAE;QACd,KAAK,OAAO;YACV,KAAK,GAAG,kBAAY,CAAC,GAAG,CAAC;YACzB,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,KAAK,GAAG,kBAAY,CAAC,OAAO,CAAC;YAC7B,MAAM;QACR,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,KAAK,GAAG,kBAAY,CAAC,KAAK,CAAC;YAC3B,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,KAAK,GAAG,kBAAY,CAAC,IAAI,CAAC;YAC1B,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,KAAK,GAAG,kBAAY,CAAC,IAAI,CAAC;YAC1B,MAAM;QACR,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,KAAK,GAAG,kBAAY,CAAC,KAAK,CAAC;YAC3B,MAAM;QACR,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,KAAK,GAAG,kBAAY,CAAC,IAAI,CAAC;YAC1B,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,EAAE,CAAC,CAAC;KAC5E;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA/CD,oFA+CC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * # Configuring the internal diag logger level\n *\n * Before OpenTelemetry declarative configuration there was a loosely defined\n * `OTEL_LOG_LEVEL` used by *some* OTel SDK languages, including OTel JS.\n * The supported values were never standardized.\n *\n * With declarative configuration, OpenTelemetry standardized `log_level` to\n * the set of SeverityNumber values defined by the Logs API, but as lowercase\n * string names.\n * https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema-docs.md#severitynumber\n * https://opentelemetry.io/docs/specs/otel/logs/data-model/#displaying-severity\n *\n * The following is the mapping between log levels:\n *\n * | DiagLogLevel | OTEL_LOG_LEVEL | `log_level` Configuration |\n * | ------------ | -------------- | ------------------------- |\n * | NONE (0) | \"NONE\" | use \"fatal\", \"fatal2\", \"fatal3\", or \"fatal4\" |\n * | ERROR (30) | \"ERROR\" | error, error2, error3, error4 |\n * | WARN (50) | \"WARN\" | warn, warn2, warn3, warn4 |\n * | INFO (60) | \"INFO\" | info, info2, info3, info4 |\n * | DEBUG (70) | \"DEBUG\" | debug, debug2, debug3, debug4 |\n * | VERBOSE (80) | \"VERBOSE\" | trace2, trace3, trace4 |\n * | ALL (9999) | \"ALL\" | use \"trace\" |\n *\n * Notable differences between `OTEL_LOG_LEVEL` and `log_level`:\n *\n * - `OTEL_LOG_LEVEL` envvar values are case-insensitive.\n * - `log_level` Declarative Configuration values are case-sensitive.\n * - `log_level` values do not have direct values for \"NONE\" or \"ALL\".\n * Using \"trace\" for ALL and \"fatal\" for NONE are functionally equivalent.\n * - Declarative Configuration specifies to default to \"info\" level.\n *\n * See https://github.com/open-telemetry/opentelemetry-specification/issues/2039#issuecomment-4306774443\n * for discussion.\n *\n * See also:\n * - `diagLogLevelFromString()` from `@opentelemetry/core`.\n * - `severityNumberConfigFromLogLevelString()` in `@opentelemetry/configuration`.\n */\n\nimport { DiagLogLevel } from '@opentelemetry/api';\nimport type { SeverityNumberConfigModel } from '@opentelemetry/configuration';\n\n/* istanbul ignore next */\n/**\n * @throws Error if `sevNum` is not a known value from the Configuration schema.\n */\nexport function diagLogLevelFromSeverityNumberConfig(\n sevNum: SeverityNumberConfigModel = 'info'\n): DiagLogLevel {\n let level: DiagLogLevel;\n switch (sevNum) {\n case 'trace':\n level = DiagLogLevel.ALL;\n break;\n case 'trace2':\n case 'trace3':\n case 'trace4':\n level = DiagLogLevel.VERBOSE;\n break;\n case 'debug':\n case 'debug2':\n case 'debug3':\n case 'debug4':\n level = DiagLogLevel.DEBUG;\n break;\n case 'info':\n case 'info2':\n case 'info3':\n case 'info4':\n level = DiagLogLevel.INFO;\n break;\n case 'warn':\n case 'warn2':\n case 'warn3':\n case 'warn4':\n level = DiagLogLevel.WARN;\n break;\n case 'error':\n case 'error2':\n case 'error3':\n case 'error4':\n level = DiagLogLevel.ERROR;\n break;\n case 'fatal':\n case 'fatal2':\n case 'fatal3':\n case 'fatal4':\n level = DiagLogLevel.NONE;\n break;\n default:\n throw new Error(`unexpected SeverityNumberConfigModel value: ${sevNum}`);\n }\n return level;\n}\n"]}
|
package/build/src/start.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ConfigurationModel } from '@opentelemetry/configuration';
|
|
2
2
|
import type { SDKOptions } from './types';
|
|
3
3
|
import type { Resource } from '@opentelemetry/resources';
|
|
4
|
+
export declare const NOOP_SDK: {
|
|
5
|
+
shutdown: () => Promise<void>;
|
|
6
|
+
};
|
|
4
7
|
/**
|
|
5
8
|
* @experimental Function to start the OpenTelemetry Node SDK
|
|
6
9
|
* @param sdkOptions
|
package/build/src/start.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupResource = exports.startNodeSDK = void 0;
|
|
3
|
+
exports.setupResource = exports.startNodeSDK = exports.NOOP_SDK = void 0;
|
|
4
4
|
const configuration_1 = require("@opentelemetry/configuration");
|
|
5
5
|
const api_1 = require("@opentelemetry/api");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
@@ -12,20 +12,33 @@ const resources_1 = require("@opentelemetry/resources");
|
|
|
12
12
|
const context_async_hooks_1 = require("@opentelemetry/context-async-hooks");
|
|
13
13
|
const semconv_1 = require("./semconv");
|
|
14
14
|
const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
|
|
15
|
+
const diag_1 = require("./diag");
|
|
16
|
+
// Exported for testing.
|
|
17
|
+
exports.NOOP_SDK = {
|
|
18
|
+
shutdown: async () => { },
|
|
19
|
+
};
|
|
15
20
|
/**
|
|
16
21
|
* @experimental Function to start the OpenTelemetry Node SDK
|
|
17
22
|
* @param sdkOptions
|
|
18
23
|
*/
|
|
19
24
|
function startNodeSDK(sdkOptions) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return NOOP_SDK;
|
|
25
|
+
let config;
|
|
26
|
+
try {
|
|
27
|
+
const configFactory = (0, configuration_1.createConfigFactory)();
|
|
28
|
+
config = configFactory.getConfigModel();
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
catch (configErr) {
|
|
31
|
+
// Set the diag logger, otherwise the diag.error will typically not be shown.
|
|
32
|
+
const logLevel = (0, diag_1.diagLogLevelFromSeverityNumberConfig)();
|
|
33
|
+
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), { logLevel });
|
|
34
|
+
api_1.diag.error(`Could not load OpenTelemetry configuration, SDK will not be setup: ${configErr.message}`);
|
|
35
|
+
return exports.NOOP_SDK;
|
|
28
36
|
}
|
|
37
|
+
if (config.disabled) {
|
|
38
|
+
return exports.NOOP_SDK;
|
|
39
|
+
}
|
|
40
|
+
const logLevel = (0, diag_1.diagLogLevelFromSeverityNumberConfig)(config.log_level);
|
|
41
|
+
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), { logLevel });
|
|
29
42
|
(0, instrumentation_1.registerInstrumentations)({
|
|
30
43
|
instrumentations: sdkOptions?.instrumentations?.flat() ?? [],
|
|
31
44
|
});
|
|
@@ -59,9 +72,6 @@ function startNodeSDK(sdkOptions) {
|
|
|
59
72
|
return { shutdown: shutdownFn };
|
|
60
73
|
}
|
|
61
74
|
exports.startNodeSDK = startNodeSDK;
|
|
62
|
-
const NOOP_SDK = {
|
|
63
|
-
shutdown: async () => { },
|
|
64
|
-
};
|
|
65
75
|
/**
|
|
66
76
|
* Interpret configuration model and return SDK components.
|
|
67
77
|
*/
|
package/build/src/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/start.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {\n ConfigFactory,\n ConfigurationModel,\n} from '@opentelemetry/configuration';\nimport { createConfigFactory } from '@opentelemetry/configuration';\nimport {\n context,\n diag,\n DiagConsoleLogger,\n metrics,\n trace,\n propagation,\n} from '@opentelemetry/api';\nimport {\n getInstanceID,\n getLogRecordProcessorsFromConfiguration,\n getMeterReadersFromConfiguration,\n getMeterViewsFromConfiguration,\n getPropagatorFromConfiguration,\n getResourceDetectorsFromConfiguration,\n getResourceFromConfiguration,\n getSpanLimitsFromConfiguration,\n getSpanProcessorsFromConfiguration,\n} from './utils';\nimport { registerInstrumentations } from '@opentelemetry/instrumentation';\nimport type { SDKComponents, SDKOptions } from './types';\nimport { LoggerProvider } from '@opentelemetry/sdk-logs';\nimport { MeterProvider } from '@opentelemetry/sdk-metrics';\nimport { logs } from '@opentelemetry/api-logs';\nimport type {\n Resource,\n ResourceDetectionConfig,\n ResourceDetector,\n} from '@opentelemetry/resources';\nimport {\n defaultResource,\n detectResources,\n resourceFromAttributes,\n} from '@opentelemetry/resources';\nimport { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';\nimport { ATTR_SERVICE_INSTANCE_ID } from './semconv';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';\n\n/**\n * @experimental Function to start the OpenTelemetry Node SDK\n * @param sdkOptions\n */\nexport function startNodeSDK(sdkOptions: SDKOptions): {\n shutdown: () => Promise<void>;\n} {\n const configFactory: ConfigFactory = createConfigFactory();\n const config = configFactory.getConfigModel();\n\n if (config.disabled) {\n diag.info('OpenTelemetry SDK is disabled');\n return NOOP_SDK;\n }\n if (config.log_level != null) {\n diag.setLogger(new DiagConsoleLogger(), { logLevel: config.log_level });\n }\n\n registerInstrumentations({\n instrumentations: sdkOptions?.instrumentations?.flat() ?? [],\n });\n\n const components = create(config, sdkOptions);\n context.setGlobalContextManager(components.contextManager);\n if (components.loggerProvider) {\n logs.setGlobalLoggerProvider(components.loggerProvider);\n }\n if (components.meterProvider) {\n metrics.setGlobalMeterProvider(components.meterProvider);\n }\n if (components.tracerProvider) {\n trace.setGlobalTracerProvider(components.tracerProvider);\n }\n if (components.propagator) {\n propagation.setGlobalPropagator(components.propagator);\n }\n\n const shutdownFn = async () => {\n const promises: Promise<unknown>[] = [];\n if (components.loggerProvider) {\n promises.push(components.loggerProvider.shutdown());\n }\n if (components.meterProvider) {\n promises.push(components.meterProvider.shutdown());\n }\n if (components.tracerProvider) {\n promises.push(components.tracerProvider.shutdown());\n }\n await Promise.all(promises);\n };\n return { shutdown: shutdownFn };\n}\nconst NOOP_SDK = {\n shutdown: async () => {},\n};\n\n/**\n * Interpret configuration model and return SDK components.\n */\nfunction create(\n config: ConfigurationModel,\n sdkOptions: SDKOptions\n): SDKComponents {\n const defaultContextManager = new AsyncLocalStorageContextManager();\n defaultContextManager.enable();\n const components: SDKComponents = {\n contextManager: defaultContextManager,\n };\n const resource = setupResource(config, sdkOptions);\n\n const propagator =\n sdkOptions?.textMapPropagator === null\n ? null\n : (sdkOptions?.textMapPropagator ??\n getPropagatorFromConfiguration(config));\n if (propagator) {\n components.propagator = propagator;\n }\n\n const logProcessors = getLogRecordProcessorsFromConfiguration(config);\n if (logProcessors) {\n const loggerProvider = new LoggerProvider({\n resource: resource,\n processors: logProcessors,\n });\n components.loggerProvider = loggerProvider;\n }\n\n const meterReaders = getMeterReadersFromConfiguration(config);\n if (meterReaders) {\n const meterViews = getMeterViewsFromConfiguration(config);\n const meterProvider = new MeterProvider({\n resource: resource,\n readers: meterReaders,\n views: meterViews ?? [],\n });\n components.meterProvider = meterProvider;\n }\n\n const spanProcessors = getSpanProcessorsFromConfiguration(config);\n if (spanProcessors) {\n const spanLimits = getSpanLimitsFromConfiguration(config);\n // TODO (6506): support sampler configuration from config\n const tracerProvider = new BasicTracerProvider({\n resource,\n spanProcessors,\n spanLimits,\n generalLimits: {\n attributeValueLengthLimit:\n config.attribute_limits?.attribute_value_length_limit,\n attributeCountLimit: config.attribute_limits?.attribute_count_limit,\n },\n // TODO (6616): support idGenerator configuration from config\n // TODO (6624): support for `meterProvider: components.meterProvider`\n });\n components.tracerProvider = tracerProvider;\n }\n\n return components;\n}\n\nexport function setupResource(\n config: ConfigurationModel,\n sdkOptions: SDKOptions\n): Resource {\n let resource: Resource =\n getResourceFromConfiguration(config) ?? defaultResource();\n let resourceDetectors: ResourceDetector[] = [];\n\n if (sdkOptions.resourceDetectors != null) {\n resourceDetectors = sdkOptions.resourceDetectors;\n } else if (config.resource?.['detection/development']?.detectors) {\n resourceDetectors = getResourceDetectorsFromConfiguration(config);\n }\n\n if (resourceDetectors.length > 0) {\n const internalConfig: ResourceDetectionConfig = {\n detectors: resourceDetectors,\n };\n resource = resource.merge(detectResources(internalConfig));\n }\n\n const instanceId = getInstanceID(config);\n resource =\n instanceId === undefined\n ? resource\n : resource.merge(\n resourceFromAttributes({\n [ATTR_SERVICE_INSTANCE_ID]: instanceId,\n })\n );\n\n return resource;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/start.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {\n ConfigFactory,\n ConfigurationModel,\n} from '@opentelemetry/configuration';\nimport { createConfigFactory } from '@opentelemetry/configuration';\nimport {\n context,\n diag,\n DiagConsoleLogger,\n metrics,\n trace,\n propagation,\n} from '@opentelemetry/api';\nimport {\n getInstanceID,\n getLogRecordProcessorsFromConfiguration,\n getMeterReadersFromConfiguration,\n getMeterViewsFromConfiguration,\n getPropagatorFromConfiguration,\n getResourceDetectorsFromConfiguration,\n getResourceFromConfiguration,\n getSpanLimitsFromConfiguration,\n getSpanProcessorsFromConfiguration,\n} from './utils';\nimport { registerInstrumentations } from '@opentelemetry/instrumentation';\nimport type { SDKComponents, SDKOptions } from './types';\nimport { LoggerProvider } from '@opentelemetry/sdk-logs';\nimport { MeterProvider } from '@opentelemetry/sdk-metrics';\nimport { logs } from '@opentelemetry/api-logs';\nimport type {\n Resource,\n ResourceDetectionConfig,\n ResourceDetector,\n} from '@opentelemetry/resources';\nimport {\n defaultResource,\n detectResources,\n resourceFromAttributes,\n} from '@opentelemetry/resources';\nimport { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';\nimport { ATTR_SERVICE_INSTANCE_ID } from './semconv';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';\nimport { diagLogLevelFromSeverityNumberConfig } from './diag';\n\n// Exported for testing.\nexport const NOOP_SDK = {\n shutdown: async () => {},\n};\n\n/**\n * @experimental Function to start the OpenTelemetry Node SDK\n * @param sdkOptions\n */\nexport function startNodeSDK(sdkOptions: SDKOptions): {\n shutdown: () => Promise<void>;\n} {\n let config: ConfigurationModel;\n try {\n const configFactory: ConfigFactory = createConfigFactory();\n config = configFactory.getConfigModel();\n } catch (configErr) {\n // Set the diag logger, otherwise the diag.error will typically not be shown.\n const logLevel = diagLogLevelFromSeverityNumberConfig();\n diag.setLogger(new DiagConsoleLogger(), { logLevel });\n diag.error(\n `Could not load OpenTelemetry configuration, SDK will not be setup: ${configErr.message}`\n );\n return NOOP_SDK;\n }\n\n if (config.disabled) {\n return NOOP_SDK;\n }\n\n const logLevel = diagLogLevelFromSeverityNumberConfig(config.log_level);\n diag.setLogger(new DiagConsoleLogger(), { logLevel });\n\n registerInstrumentations({\n instrumentations: sdkOptions?.instrumentations?.flat() ?? [],\n });\n\n const components = create(config, sdkOptions);\n context.setGlobalContextManager(components.contextManager);\n if (components.loggerProvider) {\n logs.setGlobalLoggerProvider(components.loggerProvider);\n }\n if (components.meterProvider) {\n metrics.setGlobalMeterProvider(components.meterProvider);\n }\n if (components.tracerProvider) {\n trace.setGlobalTracerProvider(components.tracerProvider);\n }\n if (components.propagator) {\n propagation.setGlobalPropagator(components.propagator);\n }\n\n const shutdownFn = async () => {\n const promises: Promise<unknown>[] = [];\n if (components.loggerProvider) {\n promises.push(components.loggerProvider.shutdown());\n }\n if (components.meterProvider) {\n promises.push(components.meterProvider.shutdown());\n }\n if (components.tracerProvider) {\n promises.push(components.tracerProvider.shutdown());\n }\n await Promise.all(promises);\n };\n return { shutdown: shutdownFn };\n}\n\n/**\n * Interpret configuration model and return SDK components.\n */\nfunction create(\n config: ConfigurationModel,\n sdkOptions: SDKOptions\n): SDKComponents {\n const defaultContextManager = new AsyncLocalStorageContextManager();\n defaultContextManager.enable();\n const components: SDKComponents = {\n contextManager: defaultContextManager,\n };\n const resource = setupResource(config, sdkOptions);\n\n const propagator =\n sdkOptions?.textMapPropagator === null\n ? null\n : (sdkOptions?.textMapPropagator ??\n getPropagatorFromConfiguration(config));\n if (propagator) {\n components.propagator = propagator;\n }\n\n const logProcessors = getLogRecordProcessorsFromConfiguration(config);\n if (logProcessors) {\n const loggerProvider = new LoggerProvider({\n resource: resource,\n processors: logProcessors,\n });\n components.loggerProvider = loggerProvider;\n }\n\n const meterReaders = getMeterReadersFromConfiguration(config);\n if (meterReaders) {\n const meterViews = getMeterViewsFromConfiguration(config);\n const meterProvider = new MeterProvider({\n resource: resource,\n readers: meterReaders,\n views: meterViews ?? [],\n });\n components.meterProvider = meterProvider;\n }\n\n const spanProcessors = getSpanProcessorsFromConfiguration(config);\n if (spanProcessors) {\n const spanLimits = getSpanLimitsFromConfiguration(config);\n // TODO (6506): support sampler configuration from config\n const tracerProvider = new BasicTracerProvider({\n resource,\n spanProcessors,\n spanLimits,\n generalLimits: {\n attributeValueLengthLimit:\n config.attribute_limits?.attribute_value_length_limit,\n attributeCountLimit: config.attribute_limits?.attribute_count_limit,\n },\n // TODO (6616): support idGenerator configuration from config\n // TODO (6624): support for `meterProvider: components.meterProvider`\n });\n components.tracerProvider = tracerProvider;\n }\n\n return components;\n}\n\nexport function setupResource(\n config: ConfigurationModel,\n sdkOptions: SDKOptions\n): Resource {\n let resource: Resource =\n getResourceFromConfiguration(config) ?? defaultResource();\n let resourceDetectors: ResourceDetector[] = [];\n\n if (sdkOptions.resourceDetectors != null) {\n resourceDetectors = sdkOptions.resourceDetectors;\n } else if (config.resource?.['detection/development']?.detectors) {\n resourceDetectors = getResourceDetectorsFromConfiguration(config);\n }\n\n if (resourceDetectors.length > 0) {\n const internalConfig: ResourceDetectionConfig = {\n detectors: resourceDetectors,\n };\n resource = resource.merge(detectResources(internalConfig));\n }\n\n const instanceId = getInstanceID(config);\n resource =\n instanceId === undefined\n ? resource\n : resource.merge(\n resourceFromAttributes({\n [ATTR_SERVICE_INSTANCE_ID]: instanceId,\n })\n );\n\n return resource;\n}\n"]}
|
package/build/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.217.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/build/src/version.js
CHANGED
package/build/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,4DAA4D;AAC/C,QAAA,OAAO,GAAG,SAAS,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,4DAA4D;AAC/C,QAAA,OAAO,GAAG,SAAS,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '0.217.0';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentelemetry/sdk-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.217.0",
|
|
4
4
|
"description": "OpenTelemetry SDK for Node.js",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"types": "build/src/index.d.ts",
|
|
@@ -43,27 +43,27 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@opentelemetry/api-logs": "0.
|
|
47
|
-
"@opentelemetry/configuration": "0.
|
|
46
|
+
"@opentelemetry/api-logs": "0.217.0",
|
|
47
|
+
"@opentelemetry/configuration": "0.217.0",
|
|
48
48
|
"@opentelemetry/context-async-hooks": "2.7.1",
|
|
49
49
|
"@opentelemetry/core": "2.7.1",
|
|
50
|
-
"@opentelemetry/exporter-logs-otlp-grpc": "0.
|
|
51
|
-
"@opentelemetry/exporter-logs-otlp-http": "0.
|
|
52
|
-
"@opentelemetry/exporter-logs-otlp-proto": "0.
|
|
53
|
-
"@opentelemetry/exporter-metrics-otlp-grpc": "0.
|
|
54
|
-
"@opentelemetry/exporter-metrics-otlp-http": "0.
|
|
55
|
-
"@opentelemetry/exporter-metrics-otlp-proto": "0.
|
|
56
|
-
"@opentelemetry/exporter-prometheus": "0.
|
|
57
|
-
"@opentelemetry/exporter-trace-otlp-grpc": "0.
|
|
58
|
-
"@opentelemetry/exporter-trace-otlp-http": "0.
|
|
59
|
-
"@opentelemetry/exporter-trace-otlp-proto": "0.
|
|
50
|
+
"@opentelemetry/exporter-logs-otlp-grpc": "0.217.0",
|
|
51
|
+
"@opentelemetry/exporter-logs-otlp-http": "0.217.0",
|
|
52
|
+
"@opentelemetry/exporter-logs-otlp-proto": "0.217.0",
|
|
53
|
+
"@opentelemetry/exporter-metrics-otlp-grpc": "0.217.0",
|
|
54
|
+
"@opentelemetry/exporter-metrics-otlp-http": "0.217.0",
|
|
55
|
+
"@opentelemetry/exporter-metrics-otlp-proto": "0.217.0",
|
|
56
|
+
"@opentelemetry/exporter-prometheus": "0.217.0",
|
|
57
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "0.217.0",
|
|
58
|
+
"@opentelemetry/exporter-trace-otlp-http": "0.217.0",
|
|
59
|
+
"@opentelemetry/exporter-trace-otlp-proto": "0.217.0",
|
|
60
60
|
"@opentelemetry/exporter-zipkin": "2.7.1",
|
|
61
|
-
"@opentelemetry/instrumentation": "0.
|
|
62
|
-
"@opentelemetry/otlp-exporter-base": "0.
|
|
61
|
+
"@opentelemetry/instrumentation": "0.217.0",
|
|
62
|
+
"@opentelemetry/otlp-exporter-base": "0.217.0",
|
|
63
63
|
"@opentelemetry/propagator-b3": "2.7.1",
|
|
64
64
|
"@opentelemetry/propagator-jaeger": "2.7.1",
|
|
65
65
|
"@opentelemetry/resources": "2.7.1",
|
|
66
|
-
"@opentelemetry/sdk-logs": "0.
|
|
66
|
+
"@opentelemetry/sdk-logs": "0.217.0",
|
|
67
67
|
"@opentelemetry/sdk-metrics": "2.7.1",
|
|
68
68
|
"@opentelemetry/sdk-trace-base": "2.7.1",
|
|
69
69
|
"@opentelemetry/sdk-trace-node": "2.7.1",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
},
|
|
86
86
|
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node",
|
|
87
87
|
"sideEffects": false,
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "74cde1b674508ccc0ed2601ac43a80ff2d35114c"
|
|
89
89
|
}
|