From f1246dd458e710c7d2eb02fa425c0ba31371eda2 Mon Sep 17 00:00:00 2001 From: Justin Walz Date: Wed, 13 May 2020 18:04:48 -0700 Subject: [PATCH] chore(opentelemetry-resources): add instance type and az to aws detector Signed-off-by: Justin Walz --- .../src/platform/node/detectors/AwsEc2Detector.ts | 4 ++++ .../opentelemetry-resources/test/detect-resources.test.ts | 5 ++++- .../test/detectors/AwsEc2Detector.test.ts | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts b/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts index d3317b9c099..7e68016925a 100644 --- a/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts +++ b/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts @@ -44,13 +44,17 @@ class AwsEc2Detector implements Detector { const { accountId, instanceId, + instanceType, region, + availabilityZone, } = await this._awsMetadataAccessor(); return new Resource({ [CLOUD_RESOURCE.PROVIDER]: 'aws', [CLOUD_RESOURCE.ACCOUNT_ID]: accountId, [CLOUD_RESOURCE.REGION]: region, + [CLOUD_RESOURCE.ZONE]: availabilityZone, [HOST_RESOURCE.ID]: instanceId, + [HOST_RESOURCE.TYPE]: instanceType, }); } catch { return Resource.empty(); diff --git a/packages/opentelemetry-resources/test/detect-resources.test.ts b/packages/opentelemetry-resources/test/detect-resources.test.ts index 24efdf76381..a5232d6b182 100644 --- a/packages/opentelemetry-resources/test/detect-resources.test.ts +++ b/packages/opentelemetry-resources/test/detect-resources.test.ts @@ -48,8 +48,10 @@ const { origin: AWS_HOST, pathname: AWS_PATH } = new URL( const mockedAwsResponse = { instanceId: 'my-instance-id', + instanceType: 'my-instance-type', accountId: 'my-account-id', region: 'my-region', + availabilityZone: 'my-zone', }; describe('detectResources', async () => { @@ -132,8 +134,9 @@ describe('detectResources', async () => { provider: 'aws', accountId: 'my-account-id', region: 'my-region', + zone: 'my-zone', }); - assertHostResource(resource, { id: 'my-instance-id' }); + assertHostResource(resource, { id: 'my-instance-id', hostType: 'my-instance-type' }); assertServiceResource(resource, { instanceId: '627cc493', name: 'my-service', diff --git a/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts b/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts index 6777d472fe9..93e53296d29 100644 --- a/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts +++ b/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts @@ -31,8 +31,10 @@ const { origin: AWS_HOST, pathname: AWS_PATH } = new URL( const mockedAwsResponse = { instanceId: 'my-instance-id', + instanceType: 'my-instance-type', accountId: 'my-account-id', region: 'my-region', + availabilityZone: 'my-zone', }; describe('awsEc2Detector', () => { @@ -58,9 +60,11 @@ describe('awsEc2Detector', () => { provider: 'aws', accountId: 'my-account-id', region: 'my-region', + zone: 'my-zone', }); assertHostResource(resource, { id: 'my-instance-id', + hostType: 'my-instance-type', }); }); });