Cloud Attributes

A cloud environment (e.g. GCP, Azure, AWS).

cloud.account.idstringThe cloud account ID the resource is assigned to.111111111111; opentelemetryExperimental
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-1cExperimental
cloud.platformstringThe cloud platform in use. [2]alibaba_cloud_ecs; alibaba_cloud_fc; alibaba_cloud_openshiftExperimental
cloud.providerstringName of the cloud provider.alibaba_cloud; aws; azureExperimental
cloud.regionstringThe geographical region the resource is running. [3]us-central1; us-east-1Experimental
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; //; /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>Experimental

[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.

alibaba_cloud_ecsAlibaba Cloud Elastic Compute ServiceExperimental
alibaba_cloud_fcAlibaba Cloud Function ComputeExperimental
alibaba_cloud_openshiftRed Hat OpenShift on Alibaba CloudExperimental
aws_ec2AWS Elastic Compute CloudExperimental
aws_ecsAWS Elastic Container ServiceExperimental
aws_eksAWS Elastic Kubernetes ServiceExperimental
aws_lambdaAWS LambdaExperimental
aws_elastic_beanstalkAWS Elastic BeanstalkExperimental
aws_app_runnerAWS App RunnerExperimental
aws_openshiftRed Hat OpenShift on AWS (ROSA)Experimental
azure_vmAzure Virtual MachinesExperimental
azure_container_appsAzure Container AppsExperimental
azure_container_instancesAzure Container InstancesExperimental
azure_aksAzure Kubernetes ServiceExperimental
azure_functionsAzure FunctionsExperimental
azure_app_serviceAzure App ServiceExperimental
azure_openshiftAzure Red Hat OpenShiftExperimental
gcp_bare_metal_solutionGoogle Bare Metal Solution (BMS)Experimental
gcp_compute_engineGoogle Cloud Compute Engine (GCE)Experimental
gcp_cloud_runGoogle Cloud RunExperimental
gcp_kubernetes_engineGoogle Cloud Kubernetes Engine (GKE)Experimental
gcp_cloud_functionsGoogle Cloud Functions (GCF)Experimental
gcp_app_engineGoogle Cloud App Engine (GAE)Experimental
gcp_openshiftRed Hat OpenShift on Google CloudExperimental
ibm_cloud_openshiftRed Hat OpenShift on IBM CloudExperimental
tencent_cloud_cvmTencent Cloud Cloud Virtual Machine (CVM)Experimental
tencent_cloud_eksTencent Cloud Elastic Kubernetes Service (EKS)Experimental
tencent_cloud_scfTencent Cloud Serverless Cloud Function (SCF)Experimental

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.

alibaba_cloudAlibaba CloudExperimental
awsAmazon Web ServicesExperimental
azureMicrosoft AzureExperimental
gcpGoogle Cloud PlatformExperimental
herokuHeroku Platform as a ServiceExperimental
ibm_cloudIBM CloudExperimental
tencent_cloudTencent CloudExperimental