Cloud

Cloud Attributes

AttributeTypeDescriptionExamples
cloud.account.idstringThe cloud account ID the resource is assigned to.111111111111; opentelemetry
cloud.availability_zonestringCloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. [1]us-east-1c
cloud.platformstringThe cloud platform in use. [2]alibaba_cloud_ecs
cloud.providerstringName of the cloud provider.alibaba_cloud
cloud.regionstringThe geographical region the resource is running. [3]us-central1; us-east-1
cloud.resource_idstringCloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP) [4]arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function; //run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID; /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>

[1]: Availability zones are called “zones” on Alibaba Cloud and Google Cloud.

[2]: The prefix of the service SHOULD match the one specified in cloud.provider.

[3]: Refer to your provider’s docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.

[4]: On some cloud providers, it may not be possible to determine the full ID at startup, so it may be necessary to set cloud.resource_id as a span attribute instead.

The exact value to use for cloud.resource_id depends on the cloud provider. The following well-known definitions MUST be used if you set this attribute and they apply:

  • AWS Lambda: The function ARN. Take care not to use the “invoked ARN” directly but replace any alias suffix with the resolved function version, as the same runtime instance may be invokable with multiple different aliases.
  • GCP: The URI of the resource
  • Azure: The Fully Qualified Resource ID of the invoked function, not the function app, having the form /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share a TracerProvider.

cloud.platform has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.

ValueDescription
alibaba_cloud_ecsAlibaba Cloud Elastic Compute Service
alibaba_cloud_fcAlibaba Cloud Function Compute
alibaba_cloud_openshiftRed Hat OpenShift on Alibaba Cloud
aws_ec2AWS Elastic Compute Cloud
aws_ecsAWS Elastic Container Service
aws_eksAWS Elastic Kubernetes Service
aws_lambdaAWS Lambda
aws_elastic_beanstalkAWS Elastic Beanstalk
aws_app_runnerAWS App Runner
aws_openshiftRed Hat OpenShift on AWS (ROSA)
azure_vmAzure Virtual Machines
azure_container_instancesAzure Container Instances
azure_aksAzure Kubernetes Service
azure_functionsAzure Functions
azure_app_serviceAzure App Service
azure_openshiftAzure Red Hat OpenShift
gcp_bare_metal_solutionGoogle Bare Metal Solution (BMS)
gcp_compute_engineGoogle Cloud Compute Engine (GCE)
gcp_cloud_runGoogle Cloud Run
gcp_kubernetes_engineGoogle Cloud Kubernetes Engine (GKE)
gcp_cloud_functionsGoogle Cloud Functions (GCF)
gcp_app_engineGoogle Cloud App Engine (GAE)
gcp_openshiftRed Hat OpenShift on Google Cloud
ibm_cloud_openshiftRed Hat OpenShift on IBM Cloud
tencent_cloud_cvmTencent Cloud Cloud Virtual Machine (CVM)
tencent_cloud_eksTencent Cloud Elastic Kubernetes Service (EKS)
tencent_cloud_scfTencent Cloud Serverless Cloud Function (SCF)

cloud.provider has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.

ValueDescription
alibaba_cloudAlibaba Cloud
awsAmazon Web Services
azureMicrosoft Azure
gcpGoogle Cloud Platform
herokuHeroku Platform as a Service
ibm_cloudIBM Cloud
tencent_cloudTencent Cloud