Skip to content

Commit 914fd8c

Browse files
committed
remove OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID
Signed-off-by: maryliag <[email protected]>
1 parent d66c413 commit 914fd8c

File tree

6 files changed

+12
-76
lines changed

6 files changed

+12
-76
lines changed

CHANGELOG.md

+3-6
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,11 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
1212
### :rocket: (Enhancement)
1313

1414
* feat(sdk-trace-base): log resource attributes in ConsoleSpanExporter [#4605](https://github.com/open-telemetry/opentelemetry-js/pull/4605) @pichlermarc
15-
* feat(resources): new experimental detector ServiceInstanceIdDetectorSync that sets the value for `service.instance.id` as random UUID.
16-
* feat(resources): add usage for the detector ServiceInstanceIDDetector.
17-
* The resource detector can be added to default resource detector list by
18-
* setting the environment variable `OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID` as `true`
19-
* adding the value `serviceinstance` to the list of resource detectors on the environment variable `OTEL_NODE_RESOURCE_DETECTORS`, e.g `OTEL_NODE_RESOURCE_DETECTORS=env,host,os,serviceinstance`
15+
* feat(resources): new experimental detector ServiceInstanceIdDetectorSync that sets the value for `service.instance.id` as random UUID. [#4608](https://github.com/open-telemetry/opentelemetry-js/pull/4608) @maryliag
16+
* feat(resources): add usage for the detector ServiceInstanceIdDetectorSync. [#4626](https://github.com/open-telemetry/opentelemetry-js/pull/4626) @maryliag
17+
* The resource detector can be added to default resource detector list by adding the value `serviceinstance` to the list of resource detectors on the environment variable `OTEL_NODE_RESOURCE_DETECTORS`, e.g `OTEL_NODE_RESOURCE_DETECTORS=env,host,os,serviceinstance`
2018
* The value can be overwritten by
2119
* merging a resource containing the `service.instance.id` attribute
22-
* setting `service.instance.id` via the `OTEL_RESOURCE_ATTRIBUTES` environment variable when using `envDetector`
2320
* using another resource detector which writes `service.instance.id`
2421

2522
### :bug: (Bug Fix)

experimental/packages/opentelemetry-sdk-node/src/sdk.ts

-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import {
3636
processDetector,
3737
Resource,
3838
ResourceDetectionConfig,
39-
serviceInstanceIDDetector,
4039
} from '@opentelemetry/resources';
4140
import { LogRecordProcessor, LoggerProvider } from '@opentelemetry/sdk-logs';
4241
import { MeterProvider, MetricReader, View } from '@opentelemetry/sdk-metrics';
@@ -130,9 +129,6 @@ export class NodeSDK {
130129
defaultDetectors = getResourceDetectorsFromEnv();
131130
} else {
132131
defaultDetectors = [envDetector, processDetector, hostDetector];
133-
if (env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID) {
134-
defaultDetectors.push(serviceInstanceIDDetector);
135-
}
136132
}
137133

138134
this._resourceDetectors =

experimental/packages/opentelemetry-sdk-node/src/utils.ts

+4-8
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ import {
2020
InstrumentationOption,
2121
} from '@opentelemetry/instrumentation';
2222
import {
23-
Detector,
2423
DetectorSync,
2524
envDetectorSync,
2625
hostDetectorSync,
2726
osDetectorSync,
2827
processDetectorSync,
29-
serviceInstanceIDDetectorSync,
28+
serviceInstanceIdDetectorSync,
3029
} from '@opentelemetry/resources';
3130

3231
// TODO: This part of a workaround to fix https://github.com/open-telemetry/opentelemetry-js/issues/3609
@@ -58,15 +57,12 @@ const RESOURCE_DETECTOR_OS = 'os';
5857
const RESOURCE_DETECTOR_PROCESS = 'process';
5958
const RESOURCE_DETECTOR_SERVICE_INSTANCE_ID = 'serviceinstance';
6059

61-
export function getResourceDetectorsFromEnv(): Array<Detector | DetectorSync> {
62-
const resourceDetectors = new Map<
63-
string,
64-
Detector | DetectorSync | Detector[]
65-
>([
60+
export function getResourceDetectorsFromEnv(): Array<DetectorSync> {
61+
const resourceDetectors = new Map<string, DetectorSync>([
6662
[RESOURCE_DETECTOR_ENVIRONMENT, envDetectorSync],
6763
[RESOURCE_DETECTOR_HOST, hostDetectorSync],
6864
[RESOURCE_DETECTOR_OS, osDetectorSync],
69-
[RESOURCE_DETECTOR_SERVICE_INSTANCE_ID, serviceInstanceIDDetectorSync],
65+
[RESOURCE_DETECTOR_SERVICE_INSTANCE_ID, serviceInstanceIdDetectorSync],
7066
[RESOURCE_DETECTOR_PROCESS, processDetectorSync],
7167
]);
7268

experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts

+3-52
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import {
4040
} from '@opentelemetry/sdk-metrics';
4141
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
4242
import {
43-
assertServiceInstanceIDIsUUID,
43+
assertServiceInstanceIdIsUUID,
4444
assertServiceResource,
4545
} from './util/resource-assertions';
4646
import {
@@ -707,7 +707,7 @@ describe('Node SDK', () => {
707707
const resource = sdk['_resource'];
708708
await resource.waitForAsyncAttributes?.();
709709

710-
assertServiceInstanceIDIsUUID(resource);
710+
assertServiceInstanceIdIsUUID(resource);
711711
delete process.env.OTEL_NODE_RESOURCE_DETECTORS;
712712
await sdk.shutdown();
713713
});
@@ -727,56 +727,7 @@ describe('Node SDK', () => {
727727
const resource = sdk['_resource'];
728728
await resource.waitForAsyncAttributes?.();
729729

730-
assertServiceInstanceIDIsUUID(resource);
731-
delete process.env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID;
732-
await sdk.shutdown();
733-
});
734-
735-
it('should configure service instance id with random UUID with OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID env var', async () => {
736-
process.env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID = 'true';
737-
const sdk = new NodeSDK();
738-
739-
sdk.start();
740-
const resource = sdk['_resource'];
741-
await resource.waitForAsyncAttributes?.();
742-
743-
assertServiceInstanceIDIsUUID(resource);
744-
delete process.env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID;
745-
await sdk.shutdown();
746-
});
747-
748-
it('should configure service instance id via OTEL_RESOURCE_ATTRIBUTES env var even with OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID env var', async () => {
749-
process.env.OTEL_RESOURCE_ATTRIBUTES =
750-
'service.instance.id=627cc493,service.name=my-service';
751-
process.env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID = 'true';
752-
const sdk = new NodeSDK();
753-
754-
sdk.start();
755-
const resource = sdk['_resource'];
756-
await resource.waitForAsyncAttributes?.();
757-
758-
assertServiceResource(resource, {
759-
name: 'my-service',
760-
instanceId: '627cc493',
761-
});
762-
delete process.env.OTEL_RESOURCE_ATTRIBUTES;
763-
delete process.env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID;
764-
sdk.shutdown();
765-
});
766-
767-
it('should not configure service instance id with no value for it on OTEL_RESOURCE_ATTRIBUTES env var and OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID env var as false', async () => {
768-
process.env.OTEL_RESOURCE_ATTRIBUTES = 'service.name=my-service';
769-
process.env.OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID = 'false';
770-
const sdk = new NodeSDK();
771-
772-
sdk.start();
773-
const resource = sdk['_resource'];
774-
await resource.waitForAsyncAttributes?.();
775-
776-
assertServiceResource(resource, {
777-
name: 'my-service',
778-
});
779-
delete process.env.OTEL_RESOURCE_ATTRIBUTES;
730+
assertServiceInstanceIdIsUUID(resource);
780731
await sdk.shutdown();
781732
});
782733
});

experimental/packages/opentelemetry-sdk-node/test/util/resource-assertions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ const assertHasOneLabel = (prefix: string, resource: Resource): void => {
338338
);
339339
};
340340

341-
export const assertServiceInstanceIDIsUUID = (resource: Resource): void => {
341+
export const assertServiceInstanceIdIsUUID = (resource: Resource): void => {
342342
const UUID_REGEX =
343343
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
344344
assert.equal(

packages/opentelemetry-core/src/utils/environment.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ const DEFAULT_LIST_SEPARATOR = ',';
2424
* Environment interface to define all names
2525
*/
2626

27-
const ENVIRONMENT_BOOLEAN_KEYS = [
28-
'OTEL_SDK_DISABLED',
29-
'OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID',
30-
] as const;
27+
const ENVIRONMENT_BOOLEAN_KEYS = ['OTEL_SDK_DISABLED'] as const;
3128

3229
type ENVIRONMENT_BOOLEANS = {
3330
[K in (typeof ENVIRONMENT_BOOLEAN_KEYS)[number]]?: boolean;
@@ -241,7 +238,6 @@ export const DEFAULT_ENVIRONMENT: Required<ENVIRONMENT> = {
241238
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL: 'http/protobuf',
242239
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL: 'http/protobuf',
243240
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: 'cumulative',
244-
OTEL_NODE_EXPERIMENTAL_DEFAULT_SERVICE_INSTANCE_ID: false,
245241
};
246242

247243
/**

0 commit comments

Comments
 (0)