diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b121f105f8..e4fdf500c9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ release. ## Unreleased +New: + +- Add `cloud.infrastructure_service` resource attribute + ([#1112](https://github.com/open-telemetry/opentelemetry-specification/pull/1112)) + Updates: - Additional Cassandra semantic attributes diff --git a/semantic_conventions/resource/cloud.yaml b/semantic_conventions/resource/cloud.yaml index d7672577a3c..ad48f3ca9cf 100644 --- a/semantic_conventions/resource/cloud.yaml +++ b/semantic_conventions/resource/cloud.yaml @@ -37,3 +37,57 @@ groups: note: > In AWS, this is called availability-zone. examples: ['us-central1-a'] + - id: infrastructure_service + type: + allow_custom_values: true + members: + - id: AWS_EC2 + value: 'aws_ec2' + brief: AWS Elastic Compute Cloud + - id: AWS_ECS + value: 'aws_ecs' + brief: AWS Elastic Container Service + - id: AWS_EKS + value: 'aws_eks' + brief: AWS Elastic Kubernetes Service + - id: AWS_Lambda + value: 'aws_lambda' + brief: AWS Lambda + - id: AWS_ElasticBeanstalk + value: 'aws_elastic_beanstalk' + brief: AWS Elastic Beanstalk + - id: Azure_VM + value: 'azure_vm' + brief: Azure Virtual Machines + - id: Azure_ContainerInstances + value: 'azure_container_instances' + brief: Azure Container Instances + - id: Azure_AKS + value: 'azure_aks' + brief: Azure Kubernetes Service + - id: Azure_Functions + value: 'azure_functions' + brief: Azure Functions + - id: Azure_AppService + value: 'azure_app_service' + brief: Azure App Service + - id: GCP_ComputeEngine + value: 'gcp_compute_engine' + brief: GCP Compute Engine + - id: GCP_CloudRun + value: 'gcp_cloud_run' + brief: GCP Cloud Run + - id: GCP_GKE + value: 'gcp_gke' + brief: Google Kubernetes Engine + - id: GCP_CloudFunctions + value: 'gcp_cloud_functions' + brief: GCP Cloud Functions + - id: GCP_AppEngine + value: 'gcp_app_engine' + brief: GCP App Engine + brief: > + The cloud infrastructure resource in use. + note: > + The prefix of the service SHOULD match the one specified in `cloud.provider`. + examples: ['aws_ec2', 'azure_vm', 'gcp_compute_engine'] diff --git a/specification/resource/semantic_conventions/cloud.md b/specification/resource/semantic_conventions/cloud.md index 4dccffaf353..c8103bb8c16 100644 --- a/specification/resource/semantic_conventions/cloud.md +++ b/specification/resource/semantic_conventions/cloud.md @@ -11,9 +11,12 @@ | `cloud.account.id` | string | The cloud account ID used to identify different entities. | `opentelemetry` | No | | `cloud.region` | string | A specific geographical location where different entities can run. | `us-central1` | No | | `cloud.zone` | string | Zones are a sub set of the region connected through low-latency links. [1] | `us-central1-a` | No | +| `cloud.infrastructure_service` | string | The cloud infrastructure resource in use. [2] | `aws_ec2`
`azure_vm`
`gcp_compute_engine` | No | **[1]:** In AWS, this is called availability-zone. +**[2]:** The prefix of the service SHOULD match the one specified in `cloud.provider`. + `cloud.provider` MUST be one of the following or, if none of the listed values apply, a custom value: | Value | Description | @@ -21,4 +24,24 @@ | `aws` | Amazon Web Services | | `azure` | Microsoft Azure | | `gcp` | Google Cloud Platform | + +`cloud.infrastructure_service` MUST be one of the following or, if none of the listed values apply, a custom value: + +| Value | Description | +|---|---| +| `aws_ec2` | AWS Elastic Compute Cloud | +| `aws_ecs` | AWS Elastic Container Service | +| `aws_eks` | AWS Elastic Kubernetes Service | +| `aws_lambda` | AWS Lambda | +| `aws_elastic_beanstalk` | AWS Elastic Beanstalk | +| `azure_vm` | Azure Virtual Machines | +| `azure_container_instances` | Azure Container Instances | +| `azure_aks` | Azure Kubernetes Service | +| `azure_functions` | Azure Functions | +| `azure_app_service` | Azure App Service | +| `gcp_compute_engine` | GCP Compute Engine | +| `gcp_cloud_run` | GCP Cloud Run | +| `gcp_gke` | Google Kubernetes Engine | +| `gcp_cloud_functions` | GCP Cloud Functions | +| `gcp_app_engine` | GCP App Engine |