Skip to content

Commit

Permalink
Merge branch 'main' into fix-otel-js-contrib-2590
Browse files Browse the repository at this point in the history
  • Loading branch information
david-luna authored Jan 21, 2025
2 parents 56bd9dd + 5f214eb commit 7182d08
Show file tree
Hide file tree
Showing 39 changed files with 936 additions and 219 deletions.
20 changes: 10 additions & 10 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.29.7",
"detectors/node/opentelemetry-resource-detector-aws": "1.10.0",
"detectors/node/opentelemetry-resource-detector-azure": "0.5.0",
"detectors/node/opentelemetry-resource-detector-container": "0.5.3",
"detectors/node/opentelemetry-resource-detector-gcp": "0.32.0",
"detectors/node/opentelemetry-resource-detector-github": "0.29.0",
"detectors/node/opentelemetry-resource-detector-instana": "0.17.0",
"detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.30.0",
"detectors/node/opentelemetry-resource-detector-aws": "1.11.0",
"detectors/node/opentelemetry-resource-detector-azure": "0.6.0",
"detectors/node/opentelemetry-resource-detector-container": "0.6.0",
"detectors/node/opentelemetry-resource-detector-gcp": "0.33.0",
"detectors/node/opentelemetry-resource-detector-github": "0.30.0",
"detectors/node/opentelemetry-resource-detector-instana": "0.18.0",
"metapackages/auto-configuration-propagators": "0.3.2",
"metapackages/auto-instrumentations-node": "0.55.2",
"metapackages/auto-instrumentations-node": "0.55.3",
"metapackages/auto-instrumentations-web": "0.45.0",
"packages/baggage-span-processor": "0.3.1",
"packages/opentelemetry-host-metrics": "0.35.5",
Expand All @@ -28,14 +28,14 @@
"plugins/node/instrumentation-socket.io": "0.46.0",
"plugins/node/instrumentation-tedious": "0.18.0",
"plugins/node/instrumentation-undici": "0.10.0",
"plugins/node/opentelemetry-instrumentation-aws-lambda": "0.50.1",
"plugins/node/opentelemetry-instrumentation-aws-lambda": "0.50.2",
"plugins/node/opentelemetry-instrumentation-aws-sdk": "0.49.0",
"plugins/node/opentelemetry-instrumentation-bunyan": "0.45.0",
"plugins/node/opentelemetry-instrumentation-cassandra": "0.45.0",
"plugins/node/opentelemetry-instrumentation-connect": "0.43.0",
"plugins/node/opentelemetry-instrumentation-dns": "0.43.0",
"plugins/node/opentelemetry-instrumentation-express": "0.47.0",
"plugins/node/opentelemetry-instrumentation-fastify": "0.44.0",
"plugins/node/opentelemetry-instrumentation-fastify": "0.44.1",
"plugins/node/opentelemetry-instrumentation-generic-pool": "0.43.0",
"plugins/node/opentelemetry-instrumentation-graphql": "0.47.0",
"plugins/node/opentelemetry-instrumentation-hapi": "0.45.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## [0.30.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.29.7...resource-detector-alibaba-cloud-v0.30.0) (2025-01-20)


### Features

* **detectors:** generate esm build files too ([#2636](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2636)) ([c2ad0af](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/c2ad0af34e1570f3609beefc4a8d41ddfb7f8f77))
* **detectors:** mark as side effect free ([#2663](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2663)) ([e9263a3](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e9263a36255c0016cca78bf16c4598f23519d5f1))

## [0.29.7](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.29.6...resource-detector-alibaba-cloud-v0.29.7) (2024-12-18)


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentelemetry/resource-detector-alibaba-cloud",
"version": "0.29.7",
"version": "0.30.0",
"description": "OpenTelemetry resource detector for Alibaba Cloud",
"main": "build/src/index.js",
"module": "build/esm/index.js",
Expand Down Expand Up @@ -61,5 +61,6 @@
"@opentelemetry/resources": "^1.10.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-alibaba-cloud#readme"
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-alibaba-cloud#readme",
"sideEffects": false
}
14 changes: 14 additions & 0 deletions detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## [1.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.10.0...resource-detector-aws-v1.11.0) (2025-01-20)


### Features

* **detectors:** generate esm build files too ([#2636](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2636)) ([c2ad0af](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/c2ad0af34e1570f3609beefc4a8d41ddfb7f8f77))
* **detectors:** mark as side effect free ([#2663](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2663)) ([e9263a3](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e9263a36255c0016cca78bf16c4598f23519d5f1))


### Bug Fixes

* **detector-aws:** remove all deprecation warnings ([#2642](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2642)) ([f97bd70](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/f97bd7099ed6ec4e99af98157608040708de15c6))
* **detector-aws:** remove semconv incubating import ([#2668](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2668)) ([3e95995](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/3e95995fcdaa7aecdc47bf52f01fa2e48e4f98ce))

## [1.10.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.9.0...resource-detector-aws-v1.10.0) (2024-12-18)


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@opentelemetry/resource-detector-aws",
"version": "1.10.0",
"version": "1.11.0",
"description": "OpenTelemetry SDK resource detector for AWS",
"main": "build/src/index.js",
"module": "build/esm/index.js",
Expand Down Expand Up @@ -62,5 +62,6 @@
"@opentelemetry/resources": "^1.10.0",
"@opentelemetry/semantic-conventions": "^1.27.0"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-aws#readme"
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-aws#readme",
"sideEffects": false
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,17 @@ import {
ResourceDetectionConfig,
} from '@opentelemetry/resources';
import {
SEMRESATTRS_CLOUD_PROVIDER,
SEMRESATTRS_CLOUD_PLATFORM,
SEMRESATTRS_SERVICE_NAME,
SEMRESATTRS_SERVICE_NAMESPACE,
SEMRESATTRS_SERVICE_VERSION,
SEMRESATTRS_SERVICE_INSTANCE_ID,
CLOUDPROVIDERVALUES_AWS,
CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
ATTR_SERVICE_NAME,
ATTR_SERVICE_VERSION,
} from '@opentelemetry/semantic-conventions';
import {
ATTR_CLOUD_PROVIDER,
ATTR_CLOUD_PLATFORM,
ATTR_SERVICE_NAMESPACE,
ATTR_SERVICE_INSTANCE_ID,
CLOUD_PROVIDER_VALUE_AWS,
CLOUD_PLATFORM_VALUE_AWS_ELASTIC_BEANSTALK,
} from '../semconv';
import * as fs from 'fs';
import * as util from 'util';

Expand Down Expand Up @@ -95,12 +97,12 @@ export class AwsBeanstalkDetectorSync implements DetectorSync {
const parsedData = JSON.parse(rawData);

return {
[SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
[SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
[SEMRESATTRS_SERVICE_NAME]: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
[SEMRESATTRS_SERVICE_NAMESPACE]: parsedData.environment_name,
[SEMRESATTRS_SERVICE_VERSION]: parsedData.version_label,
[SEMRESATTRS_SERVICE_INSTANCE_ID]: parsedData.deployment_id,
[ATTR_CLOUD_PROVIDER]: CLOUD_PROVIDER_VALUE_AWS,
[ATTR_CLOUD_PLATFORM]: CLOUD_PLATFORM_VALUE_AWS_ELASTIC_BEANSTALK,
[ATTR_SERVICE_NAME]: CLOUD_PLATFORM_VALUE_AWS_ELASTIC_BEANSTALK,
[ATTR_SERVICE_NAMESPACE]: parsedData.environment_name,
[ATTR_SERVICE_VERSION]: parsedData.version_label,
[ATTR_SERVICE_INSTANCE_ID]: parsedData.deployment_id,
};
} catch (e: any) {
diag.debug(`AwsBeanstalkDetectorSync failed: ${e.message}`);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ import {
ResourceDetectionConfig,
} from '@opentelemetry/resources';
import {
SEMRESATTRS_CLOUD_PROVIDER,
SEMRESATTRS_CLOUD_PLATFORM,
SEMRESATTRS_CLOUD_REGION,
SEMRESATTRS_CLOUD_ACCOUNT_ID,
SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
SEMRESATTRS_HOST_ID,
SEMRESATTRS_HOST_TYPE,
SEMRESATTRS_HOST_NAME,
CLOUDPROVIDERVALUES_AWS,
CLOUDPLATFORMVALUES_AWS_EC2,
} from '@opentelemetry/semantic-conventions';
ATTR_CLOUD_PROVIDER,
ATTR_CLOUD_PLATFORM,
ATTR_CLOUD_REGION,
ATTR_CLOUD_ACCOUNT_ID,
ATTR_CLOUD_AVAILABILITY_ZONE,
ATTR_HOST_ID,
ATTR_HOST_TYPE,
ATTR_HOST_NAME,
CLOUD_PROVIDER_VALUE_AWS,
CLOUD_PLATFORM_VALUE_AWS_EC2,
} from '../semconv';
import * as http from 'http';

/**
Expand Down Expand Up @@ -79,14 +79,14 @@ class AwsEc2DetectorSync implements DetectorSync {
const hostname = await this._fetchHost(token);

return {
[SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
[SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_EC2,
[SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
[SEMRESATTRS_CLOUD_REGION]: region,
[SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: availabilityZone,
[SEMRESATTRS_HOST_ID]: instanceId,
[SEMRESATTRS_HOST_TYPE]: instanceType,
[SEMRESATTRS_HOST_NAME]: hostname,
[ATTR_CLOUD_PROVIDER]: CLOUD_PROVIDER_VALUE_AWS,
[ATTR_CLOUD_PLATFORM]: CLOUD_PLATFORM_VALUE_AWS_EC2,
[ATTR_CLOUD_ACCOUNT_ID]: accountId,
[ATTR_CLOUD_REGION]: region,
[ATTR_CLOUD_AVAILABILITY_ZONE]: availabilityZone,
[ATTR_HOST_ID]: instanceId,
[ATTR_HOST_TYPE]: instanceType,
[ATTR_HOST_NAME]: hostname,
};
} catch {
return {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,26 @@ import {
ResourceAttributes,
} from '@opentelemetry/resources';
import {
SEMRESATTRS_CLOUD_PROVIDER,
SEMRESATTRS_CLOUD_PLATFORM,
SEMRESATTRS_CONTAINER_ID,
SEMRESATTRS_CONTAINER_NAME,
SEMRESATTRS_AWS_ECS_CONTAINER_ARN,
SEMRESATTRS_AWS_ECS_CLUSTER_ARN,
SEMRESATTRS_AWS_ECS_LAUNCHTYPE,
SEMRESATTRS_AWS_ECS_TASK_ARN,
SEMRESATTRS_AWS_ECS_TASK_FAMILY,
SEMRESATTRS_AWS_ECS_TASK_REVISION,
SEMRESATTRS_CLOUD_ACCOUNT_ID,
SEMRESATTRS_CLOUD_REGION,
SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
SEMRESATTRS_AWS_LOG_GROUP_NAMES,
SEMRESATTRS_AWS_LOG_GROUP_ARNS,
SEMRESATTRS_AWS_LOG_STREAM_NAMES,
SEMRESATTRS_AWS_LOG_STREAM_ARNS,
CLOUDPROVIDERVALUES_AWS,
CLOUDPLATFORMVALUES_AWS_ECS,
} from '@opentelemetry/semantic-conventions';
ATTR_CLOUD_PROVIDER,
ATTR_CLOUD_PLATFORM,
ATTR_CONTAINER_ID,
ATTR_CONTAINER_NAME,
ATTR_AWS_ECS_CONTAINER_ARN,
ATTR_AWS_ECS_CLUSTER_ARN,
ATTR_AWS_ECS_LAUNCHTYPE,
ATTR_AWS_ECS_TASK_ARN,
ATTR_AWS_ECS_TASK_FAMILY,
ATTR_AWS_ECS_TASK_REVISION,
ATTR_CLOUD_ACCOUNT_ID,
ATTR_CLOUD_REGION,
ATTR_CLOUD_AVAILABILITY_ZONE,
ATTR_AWS_LOG_GROUP_NAMES,
ATTR_AWS_LOG_GROUP_ARNS,
ATTR_AWS_LOG_STREAM_NAMES,
ATTR_AWS_LOG_STREAM_ARNS,
CLOUD_PROVIDER_VALUE_AWS,
CLOUD_PLATFORM_VALUE_AWS_ECS,
} from '../semconv';
// Patch until the OpenTelemetry SDK is updated to ship this attribute
import { SemanticResourceAttributes as AdditionalSemanticResourceAttributes } from './SemanticResourceAttributes';
import * as http from 'http';
Expand Down Expand Up @@ -86,8 +86,8 @@ export class AwsEcsDetectorSync implements DetectorSync {

try {
let resource = new Resource({
[SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
[SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_ECS,
[ATTR_CLOUD_PROVIDER]: CLOUD_PROVIDER_VALUE_AWS,
[ATTR_CLOUD_PLATFORM]: CLOUD_PLATFORM_VALUE_AWS_ECS,
}).merge(await AwsEcsDetectorSync._getContainerIdAndHostnameResource());

const metadataUrl = getEnv().ECS_CONTAINER_METADATA_URI_V4;
Expand Down Expand Up @@ -146,8 +146,8 @@ export class AwsEcsDetectorSync implements DetectorSync {

if (hostName || containerId) {
return new Resource({
[SEMRESATTRS_CONTAINER_NAME]: hostName || '',
[SEMRESATTRS_CONTAINER_ID]: containerId || '',
[ATTR_CONTAINER_NAME]: hostName || '',
[ATTR_CONTAINER_ID]: containerId || '',
});
}

Expand All @@ -166,8 +166,7 @@ export class AwsEcsDetectorSync implements DetectorSync {

const accountId: string = AwsEcsDetectorSync._getAccountFromArn(taskArn);
const region: string = AwsEcsDetectorSync._getRegionFromArn(taskArn);
const availabilityZone: string | undefined =
taskMetadata?.['AvailabilityZone'];
const availabilityZone: string | undefined = taskMetadata?.AvailabilityZone;

const clusterArn = cluster.startsWith('arn:')
? cluster
Expand All @@ -177,21 +176,21 @@ export class AwsEcsDetectorSync implements DetectorSync {

// https://github.com/open-telemetry/semantic-conventions/blob/main/semantic_conventions/resource/cloud_provider/aws/ecs.yaml
const attributes: ResourceAttributes = {
[SEMRESATTRS_AWS_ECS_CONTAINER_ARN]: containerArn,
[SEMRESATTRS_AWS_ECS_CLUSTER_ARN]: clusterArn,
[SEMRESATTRS_AWS_ECS_LAUNCHTYPE]: launchType?.toLowerCase(),
[SEMRESATTRS_AWS_ECS_TASK_ARN]: taskArn,
[SEMRESATTRS_AWS_ECS_TASK_FAMILY]: taskMetadata['Family'],
[SEMRESATTRS_AWS_ECS_TASK_REVISION]: taskMetadata['Revision'],

[SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
[SEMRESATTRS_CLOUD_REGION]: region,
[ATTR_AWS_ECS_CONTAINER_ARN]: containerArn,
[ATTR_AWS_ECS_CLUSTER_ARN]: clusterArn,
[ATTR_AWS_ECS_LAUNCHTYPE]: launchType?.toLowerCase(),
[ATTR_AWS_ECS_TASK_ARN]: taskArn,
[ATTR_AWS_ECS_TASK_FAMILY]: taskMetadata['Family'],
[ATTR_AWS_ECS_TASK_REVISION]: taskMetadata['Revision'],

[ATTR_CLOUD_ACCOUNT_ID]: accountId,
[ATTR_CLOUD_REGION]: region,
[AdditionalSemanticResourceAttributes.CLOUD_RESOURCE_ID]: containerArn,
};

// The availability zone is not available in all Fargate runtimes
if (availabilityZone) {
attributes[SEMRESATTRS_CLOUD_AVAILABILITY_ZONE] = availabilityZone;
attributes[ATTR_CLOUD_AVAILABILITY_ZONE] = availabilityZone;
}

return new Resource(attributes);
Expand Down Expand Up @@ -222,10 +221,10 @@ export class AwsEcsDetectorSync implements DetectorSync {
const logsStreamArn = `arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}:log-stream:${logsStreamName}`;

return new Resource({
[SEMRESATTRS_AWS_LOG_GROUP_NAMES]: [logsGroupName],
[SEMRESATTRS_AWS_LOG_GROUP_ARNS]: [logsGroupArn],
[SEMRESATTRS_AWS_LOG_STREAM_NAMES]: [logsStreamName],
[SEMRESATTRS_AWS_LOG_STREAM_ARNS]: [logsStreamArn],
[ATTR_AWS_LOG_GROUP_NAMES]: [logsGroupName],
[ATTR_AWS_LOG_GROUP_ARNS]: [logsGroupArn],
[ATTR_AWS_LOG_STREAM_NAMES]: [logsStreamName],
[ATTR_AWS_LOG_STREAM_ARNS]: [logsStreamArn],
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ import {
ResourceDetectionConfig,
} from '@opentelemetry/resources';
import {
SEMRESATTRS_CLOUD_PROVIDER,
SEMRESATTRS_CLOUD_PLATFORM,
SEMRESATTRS_K8S_CLUSTER_NAME,
SEMRESATTRS_CONTAINER_ID,
CLOUDPROVIDERVALUES_AWS,
CLOUDPLATFORMVALUES_AWS_EKS,
} from '@opentelemetry/semantic-conventions';
ATTR_CLOUD_PROVIDER,
ATTR_CLOUD_PLATFORM,
ATTR_K8S_CLUSTER_NAME,
ATTR_CONTAINER_ID,
CLOUD_PROVIDER_VALUE_AWS,
CLOUD_PLATFORM_VALUE_AWS_EKS,
} from '../semconv';
import * as https from 'https';
import * as fs from 'fs';
import * as util from 'util';
Expand Down Expand Up @@ -94,10 +94,10 @@ export class AwsEksDetectorSync implements DetectorSync {
return !containerId && !clusterName
? {}
: {
[SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
[SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_EKS,
[SEMRESATTRS_K8S_CLUSTER_NAME]: clusterName || '',
[SEMRESATTRS_CONTAINER_ID]: containerId || '',
[ATTR_CLOUD_PROVIDER]: CLOUD_PROVIDER_VALUE_AWS,
[ATTR_CLOUD_PLATFORM]: CLOUD_PLATFORM_VALUE_AWS_EKS,
[ATTR_K8S_CLUSTER_NAME]: clusterName || '',
[ATTR_CONTAINER_ID]: containerId || '',
};
} catch (e) {
diag.debug('Process is not running on K8S', e);
Expand Down
Loading

0 comments on commit 7182d08

Please sign in to comment.