Skip to content

Commit af2f3f1

Browse files
maryliagblumamir
andauthored
feat(auto-instrumentation-node): add azure detector (#2101)
The Azure detectors were not being added to the list of possible detectors. All other cloud providers were possible values, so this commit adds the missing detectors for Azure. Signed-off-by: maryliag <[email protected]> Co-authored-by: Amir Blum <[email protected]>
1 parent 86d143a commit af2f3f1

File tree

5 files changed

+17
-3
lines changed

5 files changed

+17
-3
lines changed

metapackages/auto-instrumentations-node/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ By default, all SDK resource detectors are used, but you can use the environment
6565
- `container`
6666
- `alibaba`
6767
- `aws`
68+
- `azure`
6869
- `gcp`
6970
- `all` - enable all resource detectors
7071
- `none` - disable resource detection

metapackages/auto-instrumentations-node/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
"@opentelemetry/instrumentation-winston": "^0.37.0",
9090
"@opentelemetry/resource-detector-alibaba-cloud": "^0.28.9",
9191
"@opentelemetry/resource-detector-aws": "^1.4.2",
92+
"@opentelemetry/resource-detector-azure": "^0.2.6",
9293
"@opentelemetry/resource-detector-container": "^0.3.9",
9394
"@opentelemetry/resource-detector-gcp": "^0.29.9",
9495
"@opentelemetry/resources": "^1.12.0",

metapackages/auto-instrumentations-node/src/utils.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ import {
7373
osDetectorSync,
7474
processDetectorSync,
7575
} from '@opentelemetry/resources';
76+
import {
77+
azureAppServiceDetector,
78+
azureFunctionsDetector,
79+
azureVmDetector,
80+
} from '@opentelemetry/resource-detector-azure';
7681

7782
const RESOURCE_DETECTOR_CONTAINER = 'container';
7883
const RESOURCE_DETECTOR_ENVIRONMENT = 'env';
@@ -81,6 +86,7 @@ const RESOURCE_DETECTOR_OS = 'os';
8186
const RESOURCE_DETECTOR_PROCESS = 'process';
8287
const RESOURCE_DETECTOR_ALIBABA = 'alibaba';
8388
const RESOURCE_DETECTOR_AWS = 'aws';
89+
const RESOURCE_DETECTOR_AZURE = 'azure';
8490
const RESOURCE_DETECTOR_GCP = 'gcp';
8591

8692
const InstrumentationMap = {
@@ -196,7 +202,7 @@ function getEnabledInstrumentationsFromEnv() {
196202
export function getResourceDetectorsFromEnv(): Array<Detector | DetectorSync> {
197203
const resourceDetectors = new Map<
198204
string,
199-
Detector | DetectorSync | Detector[]
205+
Detector | DetectorSync | Detector[] | DetectorSync[]
200206
>([
201207
[RESOURCE_DETECTOR_CONTAINER, containerDetector],
202208
[RESOURCE_DETECTOR_ENVIRONMENT, envDetectorSync],
@@ -215,6 +221,10 @@ export function getResourceDetectorsFromEnv(): Array<Detector | DetectorSync> {
215221
awsLambdaDetector,
216222
],
217223
],
224+
[
225+
RESOURCE_DETECTOR_AZURE,
226+
[azureAppServiceDetector, azureFunctionsDetector, azureVmDetector],
227+
],
218228
]);
219229

220230
const resourceDetectorsFromEnv =

metapackages/auto-instrumentations-node/test/utils.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,13 @@ describe('utils', () => {
114114

115115
describe('getResourceDetectorsFromEnv', () => {
116116
it('should return all resource detectors by default', () => {
117-
assert.equal(getResourceDetectorsFromEnv().length, 12);
117+
assert.equal(getResourceDetectorsFromEnv().length, 15);
118118
});
119119

120120
it('should return all resource detectors when OTEL_NODE_RESOURCE_DETECTORS contains "all"', () => {
121121
process.env.OTEL_NODE_RESOURCE_DETECTORS = 'all';
122122

123-
assert.equal(getResourceDetectorsFromEnv().length, 12);
123+
assert.equal(getResourceDetectorsFromEnv().length, 15);
124124

125125
delete process.env.OTEL_NODE_RESOURCE_DETECTORS;
126126
});

package-lock.json

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)