diff --git a/sdk/aws-resource-detectors.html b/sdk/aws-resource-detectors.html index 1349e9bfc..2f0589b32 100644 --- a/sdk/aws-resource-detectors.html +++ b/sdk/aws-resource-detectors.html @@ -132,6 +132,7 @@ + @@ -158,11 +159,11 @@

cloud.platform: aws_lambda +cloud.provider: aws +cloud.region: eu-west-1 +faas.name: function +faas.version: 0.0.1

2. aws-ec2

The detector fetches instance metadata from the http://169.254.169.254 endpoint. @@ -183,15 +184,80 @@

cloud.account.id: 1234567890 +cloud.availability_zone: eu-west-1a +cloud.platform: aws_ec2 +cloud.provider: aws +cloud.region: eu-west-1 +host.id: i-abc321de +host.image.id: ami-abc123de +host.name: ip-10-0-0-1.eu-west-1.compute.internal +host.type: t3.small + +

3. aws-ecs

+

The detector fetches ECS container and task metadata. + The base URI is obtained from ECS_CONTAINER_METADATA_URI_V4 or ECS_CONTAINER_METADATA_URI env variable.

+

See AWS documentation for more + details.

+

The http://169.254.170.2/v4/5fb8fcdd-29f2-490f-8229-c1269d11a9d9 response:

+
{
+  "DockerId" : "83b2af5973dc...ee1e1",
+  "Name" : "server",
+  "DockerName" : "ecs-service-production-11-server-e4e7efbceda7b7c68601",
+  "Image" : "1234567890.dkr.ecr.eu-west-1.amazonaws.com/internal/repository:8abab2a5",
+  "ImageID" : "sha256:7382b7779e6038...11f2d7d522d",
+  "DesiredStatus" : "RUNNING",
+  "CreatedAt" : "2024-09-12T18:08:55.593944224Z",
+  "StartedAt" : "2024-09-12T18:08:56.524454503Z",
+  "Type" : "NORMAL",
+  "Health" : {
+    "status" : "HEALTHY"
+  },
+  "LogDriver" : "awslogs",
+  "LogOptions" : {
+    "awslogs-group" : "/ecs/production/service",
+    "awslogs-region" : "eu-west-1",
+    "awslogs-stream" : "ecs/server/5e1b...86980"
+  },
+  "ContainerARN" : "arn:aws:ecs:eu-west-1:1234567890:task/production/5e1b...86980/1a1c23fe-1718-4eed-9833-c3dc2dad712c"
+}
+

The http://169.254.170.2/v4/5fb8fcdd-29f2-490f-8229-c1269d11a9d9/task response:

+
{
+  "Cluster" : "production",
+  "TaskARN" : "arn:aws:ecs:eu-west-1:1234567890:task/production/5e1b...86980",
+  "Family" : "service-production",
+  "Revision" : "11",
+  "DesiredStatus" : "RUNNING",
+  "KnownStatus" : "RUNNING",
+  "PullStartedAt" : "2024-09-12T18:08:55.307387715Z",
+  "PullStoppedAt" : "2024-09-12T18:08:55.564707417Z",
+  "AvailabilityZone" : "eu-west-1a",
+  "LaunchType" : "EC2",
+  "VPCID" : "vpc-123",
+  "ServiceName" : "service"
+}
+

Detected resource:

+
aws.ecs.cluster.arn: arn:aws:ecs:eu-west-1:1234567890:cluster/production
+aws.ecs.container.arn: arn:aws:ecs:eu-west-1:1234567890:task/production/5e1b...86980/1a1c23fe-1718-4eed-9833-c3dc2dad712c
+aws.ecs.container.image.id: sha256:7382b7779e6038...11f2d7d522d
+aws.ecs.launchtype: EC2
+aws.ecs.task.arn: arn:aws:ecs:eu-west-1:1234567890:task/production/5e1b...86980
+aws.ecs.task.family: service-production
+aws.ecs.task.revision: 11
+aws.log.group.arns: List(arn:aws:logs:eu-west-1:1234567890:log-group:/ecs/production/service)
+aws.log.group.names: List(/ecs/production/service)
+aws.log.stream.arns: List(arn:aws:logs:eu-west-1:1234567890:log-group:/ecs/production/service:log-stream:ecs/server/5e1b...86980)
+aws.log.stream.names: List(ecs/server/5e1b...86980)
+cloud.account.id: 1234567890
+cloud.availability_zone: eu-west-1a
+cloud.platform: aws_ecs
+cloud.provider: aws
+cloud.region: eu-west-1
+cloud.resource_id: arn:aws:ecs:eu-west-1:1234567890:task/production/5e1b...86980/1a1c23fe-1718-4eed-9833-c3dc2dad712c
+container.id: 83b2af5973dc...ee1e1
+container.image.name: 1234567890.dkr.ecr.eu-west-1.amazonaws.com/internal/repository
+container.image.tags: List(8abab2a5)
+container.name: ecs-service-production-11-server-e4e7efbceda7b7c68601

4. aws-beanstalk

The detector parses environment details from the /var/elasticbeanstalk/xray/environment.conf file to configure the telemetry resource.

@@ -263,6 +329,8 @@

addResourceDetector(AWSLambdaDetector[IO]) // register AWS EC2 detector .addResourceDetector(AWSEC2Detector[IO]) + // register AWS ECS detector + .addResourceDetector(AWSECSDetector[IO]) // register AWS Beanstalk detector .addResourceDetector(AWSBeanstalkDetector[IO]) ) @@ -297,6 +365,8 @@

addResourceDetector(AWSLambdaDetector[IO]) // register AWS EC2 detector .addResourceDetector(AWSEC2Detector[IO]) + // register AWS ECS detector + .addResourceDetector(AWSECSDetector[IO]) // register AWS Beanstalk detector .addResourceDetector(AWSBeanstalkDetector[IO]) ) @@ -324,15 +394,15 @@

Add settings to the build.sbt:

-
javaOptions += "-Dotel.otel4s.resource.detectors.enabled=aws-lambda,aws-ec2,aws-beanstalk"
-envVars ++= Map("OTEL_OTEL4S_RESOURCE_DETECTORS_ENABLE" -> "aws-lambda,aws-ec2,aws-beanstalk")
+
javaOptions += "-Dotel.otel4s.resource.detectors.enabled=aws-lambda,aws-ec2,aws-ecs,aws-beanstalk"
+envVars ++= Map("OTEL_OTEL4S_RESOURCE_DETECTORS_ENABLE" -> "aws-lambda,aws-ec2,aws-ecs,aws-beanstalk")

Add directives to the *.scala file:

-
//> using javaOpt -Dotel.otel4s.resource.detectors.enabled=aws-lambda,aws-ec2,aws-beanstalk
+
//> using javaOpt -Dotel.otel4s.resource.detectors.enabled=aws-lambda,aws-ec2,aws-ecs,aws-beanstalk
-
$ export OTEL_OTEL4S_RESOURCE_DETECTORS_ENABLED=aws-lambda,aws-ec2,aws-beanstalk
+
$ export OTEL_OTEL4S_RESOURCE_DETECTORS_ENABLED=aws-lambda,aws-ec2,aws-ecs,aws-beanstalk