1 // Copyright The OpenTelemetry Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated from semantic convention specification. DO NOT EDIT. 16 17 package semconv // import "go.opentelemetry.io/otel/semconv/v1.16.0" 18 19 import "go.opentelemetry.io/otel/attribute" 20 21 // The web browser in which the application represented by the resource is running. The `browser.*` attributes MUST be used only for resources that represent applications running in a web browser (regardless of whether running on a mobile or desktop device). 22 const ( 23 // Array of brand name and version separated by a space 24 // 25 // Type: string[] 26 // RequirementLevel: Optional 27 // Stability: stable 28 // Examples: ' Not A;Brand 99', 'Chromium 99', 'Chrome 99' 29 // Note: This value is intended to be taken from the [UA client hints 30 // API](https://wicg.github.io/ua-client-hints/#interface) 31 // (`navigator.userAgentData.brands`). 32 BrowserBrandsKey = attribute.Key("browser.brands") 33 // The platform on which the browser is running 34 // 35 // Type: string 36 // RequirementLevel: Optional 37 // Stability: stable 38 // Examples: 'Windows', 'macOS', 'Android' 39 // Note: This value is intended to be taken from the [UA client hints 40 // API](https://wicg.github.io/ua-client-hints/#interface) 41 // (`navigator.userAgentData.platform`). If unavailable, the legacy 42 // `navigator.platform` API SHOULD NOT be used instead and this attribute SHOULD 43 // be left unset in order for the values to be consistent. 44 // The list of possible values is defined in the [W3C User-Agent Client Hints 45 // specification](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform). 46 // Note that some (but not all) of these values can overlap with values in the 47 // [`os.type` and `os.name` attributes](./os.md). However, for consistency, the 48 // values in the `browser.platform` attribute should capture the exact value that 49 // the user agent provides. 50 BrowserPlatformKey = attribute.Key("browser.platform") 51 // A boolean that is true if the browser is running on a mobile device 52 // 53 // Type: boolean 54 // RequirementLevel: Optional 55 // Stability: stable 56 // Note: This value is intended to be taken from the [UA client hints 57 // API](https://wicg.github.io/ua-client-hints/#interface) 58 // (`navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be 59 // left unset. 60 BrowserMobileKey = attribute.Key("browser.mobile") 61 // Full user-agent string provided by the browser 62 // 63 // Type: string 64 // RequirementLevel: Optional 65 // Stability: stable 66 // Examples: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 67 // (KHTML, ' 68 // 'like Gecko) Chrome/95.0.4638.54 Safari/537.36' 69 // Note: The user-agent value SHOULD be provided only from browsers that do not 70 // have a mechanism to retrieve brands and platform individually from the User- 71 // Agent Client Hints API. To retrieve the value, the legacy `navigator.userAgent` 72 // API can be used. 73 BrowserUserAgentKey = attribute.Key("browser.user_agent") 74 // Preferred language of the user using the browser 75 // 76 // Type: string 77 // RequirementLevel: Optional 78 // Stability: stable 79 // Examples: 'en', 'en-US', 'fr', 'fr-FR' 80 // Note: This value is intended to be taken from the Navigator API 81 // `navigator.language`. 82 BrowserLanguageKey = attribute.Key("browser.language") 83 ) 84 85 // A cloud environment (e.g. GCP, Azure, AWS) 86 const ( 87 // Name of the cloud provider. 88 // 89 // Type: Enum 90 // RequirementLevel: Optional 91 // Stability: stable 92 CloudProviderKey = attribute.Key("cloud.provider") 93 // The cloud account ID the resource is assigned to. 94 // 95 // Type: string 96 // RequirementLevel: Optional 97 // Stability: stable 98 // Examples: '111111111111', 'opentelemetry' 99 CloudAccountIDKey = attribute.Key("cloud.account.id") 100 // The geographical region the resource is running. 101 // 102 // Type: string 103 // RequirementLevel: Optional 104 // Stability: stable 105 // Examples: 'us-central1', 'us-east-1' 106 // Note: Refer to your provider's docs to see the available regions, for example 107 // [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc- 108 // detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global- 109 // infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en- 110 // us/global-infrastructure/geographies/), [Google Cloud 111 // regions](https://cloud.google.com/about/locations), or [Tencent Cloud 112 // regions](https://intl.cloud.tencent.com/document/product/213/6091). 113 CloudRegionKey = attribute.Key("cloud.region") 114 // Cloud regions often have multiple, isolated locations known as zones to 115 // increase availability. Availability zone represents the zone where the resource 116 // is running. 117 // 118 // Type: string 119 // RequirementLevel: Optional 120 // Stability: stable 121 // Examples: 'us-east-1c' 122 // Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud. 123 CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone") 124 // The cloud platform in use. 125 // 126 // Type: Enum 127 // RequirementLevel: Optional 128 // Stability: stable 129 // Note: The prefix of the service SHOULD match the one specified in 130 // `cloud.provider`. 131 CloudPlatformKey = attribute.Key("cloud.platform") 132 ) 133 134 var ( 135 // Alibaba Cloud 136 CloudProviderAlibabaCloud = CloudProviderKey.String("alibaba_cloud") 137 // Amazon Web Services 138 CloudProviderAWS = CloudProviderKey.String("aws") 139 // Microsoft Azure 140 CloudProviderAzure = CloudProviderKey.String("azure") 141 // Google Cloud Platform 142 CloudProviderGCP = CloudProviderKey.String("gcp") 143 // IBM Cloud 144 CloudProviderIbmCloud = CloudProviderKey.String("ibm_cloud") 145 // Tencent Cloud 146 CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud") 147 ) 148 149 var ( 150 // Alibaba Cloud Elastic Compute Service 151 CloudPlatformAlibabaCloudECS = CloudPlatformKey.String("alibaba_cloud_ecs") 152 // Alibaba Cloud Function Compute 153 CloudPlatformAlibabaCloudFc = CloudPlatformKey.String("alibaba_cloud_fc") 154 // Red Hat OpenShift on Alibaba Cloud 155 CloudPlatformAlibabaCloudOpenshift = CloudPlatformKey.String("alibaba_cloud_openshift") 156 // AWS Elastic Compute Cloud 157 CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2") 158 // AWS Elastic Container Service 159 CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs") 160 // AWS Elastic Kubernetes Service 161 CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks") 162 // AWS Lambda 163 CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda") 164 // AWS Elastic Beanstalk 165 CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk") 166 // AWS App Runner 167 CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner") 168 // Red Hat OpenShift on AWS (ROSA) 169 CloudPlatformAWSOpenshift = CloudPlatformKey.String("aws_openshift") 170 // Azure Virtual Machines 171 CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm") 172 // Azure Container Instances 173 CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances") 174 // Azure Kubernetes Service 175 CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks") 176 // Azure Functions 177 CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions") 178 // Azure App Service 179 CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service") 180 // Azure Red Hat OpenShift 181 CloudPlatformAzureOpenshift = CloudPlatformKey.String("azure_openshift") 182 // Google Cloud Compute Engine (GCE) 183 CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine") 184 // Google Cloud Run 185 CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run") 186 // Google Cloud Kubernetes Engine (GKE) 187 CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine") 188 // Google Cloud Functions (GCF) 189 CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions") 190 // Google Cloud App Engine (GAE) 191 CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine") 192 // Red Hat OpenShift on Google Cloud 193 CloudPlatformGoogleCloudOpenshift = CloudPlatformKey.String("google_cloud_openshift") 194 // Red Hat OpenShift on IBM Cloud 195 CloudPlatformIbmCloudOpenshift = CloudPlatformKey.String("ibm_cloud_openshift") 196 // Tencent Cloud Cloud Virtual Machine (CVM) 197 CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm") 198 // Tencent Cloud Elastic Kubernetes Service (EKS) 199 CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks") 200 // Tencent Cloud Serverless Cloud Function (SCF) 201 CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf") 202 ) 203 204 // Resources used by AWS Elastic Container Service (ECS). 205 const ( 206 // The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws. 207 // amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). 208 // 209 // Type: string 210 // RequirementLevel: Optional 211 // Stability: stable 212 // Examples: 'arn:aws:ecs:us- 213 // west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9' 214 AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn") 215 // The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/develo 216 // perguide/clusters.html). 217 // 218 // Type: string 219 // RequirementLevel: Optional 220 // Stability: stable 221 // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' 222 AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn") 223 // The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/l 224 // aunch_types.html) for an ECS task. 225 // 226 // Type: Enum 227 // RequirementLevel: Optional 228 // Stability: stable 229 AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype") 230 // The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/lates 231 // t/developerguide/task_definitions.html). 232 // 233 // Type: string 234 // RequirementLevel: Optional 235 // Stability: stable 236 // Examples: 'arn:aws:ecs:us- 237 // west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b' 238 AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn") 239 // The task definition family this task definition is a member of. 240 // 241 // Type: string 242 // RequirementLevel: Optional 243 // Stability: stable 244 // Examples: 'opentelemetry-family' 245 AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family") 246 // The revision for this task definition. 247 // 248 // Type: string 249 // RequirementLevel: Optional 250 // Stability: stable 251 // Examples: '8', '26' 252 AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision") 253 ) 254 255 var ( 256 // ec2 257 AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") 258 // fargate 259 AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") 260 ) 261 262 // Resources used by AWS Elastic Kubernetes Service (EKS). 263 const ( 264 // The ARN of an EKS cluster. 265 // 266 // Type: string 267 // RequirementLevel: Optional 268 // Stability: stable 269 // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' 270 AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn") 271 ) 272 273 // Resources specific to Amazon Web Services. 274 const ( 275 // The name(s) of the AWS log group(s) an application is writing to. 276 // 277 // Type: string[] 278 // RequirementLevel: Optional 279 // Stability: stable 280 // Examples: '/aws/lambda/my-function', 'opentelemetry-service' 281 // Note: Multiple log groups must be supported for cases like multi-container 282 // applications, where a single application has sidecar containers, and each write 283 // to their own log group. 284 AWSLogGroupNamesKey = attribute.Key("aws.log.group.names") 285 // The Amazon Resource Name(s) (ARN) of the AWS log group(s). 286 // 287 // Type: string[] 288 // RequirementLevel: Optional 289 // Stability: stable 290 // Examples: 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*' 291 // Note: See the [log group ARN format 292 // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam- 293 // access-control-overview-cwl.html#CWL_ARN_Format). 294 AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns") 295 // The name(s) of the AWS log stream(s) an application is writing to. 296 // 297 // Type: string[] 298 // RequirementLevel: Optional 299 // Stability: stable 300 // Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' 301 AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names") 302 // The ARN(s) of the AWS log stream(s). 303 // 304 // Type: string[] 305 // RequirementLevel: Optional 306 // Stability: stable 307 // Examples: 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log- 308 // stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' 309 // Note: See the [log stream ARN format 310 // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam- 311 // access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain 312 // several log streams, so these ARNs necessarily identify both a log group and a 313 // log stream. 314 AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns") 315 ) 316 317 // A container instance. 318 const ( 319 // Container name used by container runtime. 320 // 321 // Type: string 322 // RequirementLevel: Optional 323 // Stability: stable 324 // Examples: 'opentelemetry-autoconf' 325 ContainerNameKey = attribute.Key("container.name") 326 // Container ID. Usually a UUID, as for example used to [identify Docker 327 // containers](https://docs.docker.com/engine/reference/run/#container- 328 // identification). The UUID might be abbreviated. 329 // 330 // Type: string 331 // RequirementLevel: Optional 332 // Stability: stable 333 // Examples: 'a3bf90e006b2' 334 ContainerIDKey = attribute.Key("container.id") 335 // The container runtime managing this container. 336 // 337 // Type: string 338 // RequirementLevel: Optional 339 // Stability: stable 340 // Examples: 'docker', 'containerd', 'rkt' 341 ContainerRuntimeKey = attribute.Key("container.runtime") 342 // Name of the image the container was built on. 343 // 344 // Type: string 345 // RequirementLevel: Optional 346 // Stability: stable 347 // Examples: 'gcr.io/opentelemetry/operator' 348 ContainerImageNameKey = attribute.Key("container.image.name") 349 // Container image tag. 350 // 351 // Type: string 352 // RequirementLevel: Optional 353 // Stability: stable 354 // Examples: '0.1' 355 ContainerImageTagKey = attribute.Key("container.image.tag") 356 ) 357 358 // The software deployment. 359 const ( 360 // Name of the [deployment 361 // environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka 362 // deployment tier). 363 // 364 // Type: string 365 // RequirementLevel: Optional 366 // Stability: stable 367 // Examples: 'staging', 'production' 368 DeploymentEnvironmentKey = attribute.Key("deployment.environment") 369 ) 370 371 // The device on which the process represented by this resource is running. 372 const ( 373 // A unique identifier representing the device 374 // 375 // Type: string 376 // RequirementLevel: Optional 377 // Stability: stable 378 // Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092' 379 // Note: The device identifier MUST only be defined using the values outlined 380 // below. This value is not an advertising identifier and MUST NOT be used as 381 // such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor id 382 // entifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-iden 383 // tifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the 384 // Firebase Installation ID or a globally unique UUID which is persisted across 385 // sessions in your application. More information can be found 386 // [here](https://developer.android.com/training/articles/user-data-ids) on best 387 // practices and exact implementation details. Caution should be taken when 388 // storing personal data or anything which can identify a user. GDPR and data 389 // protection laws may apply, ensure you do your own due diligence. 390 DeviceIDKey = attribute.Key("device.id") 391 // The model identifier for the device 392 // 393 // Type: string 394 // RequirementLevel: Optional 395 // Stability: stable 396 // Examples: 'iPhone3,4', 'SM-G920F' 397 // Note: It's recommended this value represents a machine readable version of the 398 // model identifier rather than the market or consumer-friendly name of the 399 // device. 400 DeviceModelIdentifierKey = attribute.Key("device.model.identifier") 401 // The marketing name for the device model 402 // 403 // Type: string 404 // RequirementLevel: Optional 405 // Stability: stable 406 // Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6' 407 // Note: It's recommended this value represents a human readable version of the 408 // device model rather than a machine readable alternative. 409 DeviceModelNameKey = attribute.Key("device.model.name") 410 // The name of the device manufacturer 411 // 412 // Type: string 413 // RequirementLevel: Optional 414 // Stability: stable 415 // Examples: 'Apple', 'Samsung' 416 // Note: The Android OS provides this field via 417 // [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). 418 // iOS apps SHOULD hardcode the value `Apple`. 419 DeviceManufacturerKey = attribute.Key("device.manufacturer") 420 ) 421 422 // A serverless instance. 423 const ( 424 // The name of the single function that this runtime instance executes. 425 // 426 // Type: string 427 // RequirementLevel: Required 428 // Stability: stable 429 // Examples: 'my-function', 'myazurefunctionapp/some-function-name' 430 // Note: This is the name of the function as configured/deployed on the FaaS 431 // platform and is usually different from the name of the callback 432 // function (which may be stored in the 433 // [`code.namespace`/`code.function`](../../trace/semantic_conventions/span- 434 // general.md#source-code-attributes) 435 // span attributes). 436 437 // For some cloud providers, the above definition is ambiguous. The following 438 // definition of function name MUST be used for this attribute 439 // (and consequently the span name) for the listed cloud providers/products: 440 441 // * **Azure:** The full name `<FUNCAPP>/<FUNC>`, i.e., function app name 442 // followed by a forward slash followed by the function name (this form 443 // can also be seen in the resource JSON for the function). 444 // This means that a span attribute MUST be used, as an Azure function 445 // app can host multiple functions that would usually share 446 // a TracerProvider (see also the `faas.id` attribute). 447 FaaSNameKey = attribute.Key("faas.name") 448 // The unique ID of the single function that this runtime instance executes. 449 // 450 // Type: string 451 // RequirementLevel: Optional 452 // Stability: stable 453 // Examples: 'arn:aws:lambda:us-west-2:123456789012:function:my-function' 454 // Note: On some cloud providers, it may not be possible to determine the full ID 455 // at startup, 456 // so consider setting `faas.id` as a span attribute instead. 457 458 // The exact value to use for `faas.id` depends on the cloud provider: 459 460 // * **AWS Lambda:** The function 461 // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and- 462 // namespaces.html). 463 // Take care not to use the "invoked ARN" directly but replace any 464 // [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration- 465 // aliases.html) 466 // with the resolved function version, as the same runtime instance may be 467 // invokable with 468 // multiple different aliases. 469 // * **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full- 470 // resource-names) 471 // * **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/en- 472 // us/rest/api/resources/resources/get-by-id) of the invoked function, 473 // *not* the function app, having the form 474 // `/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.We 475 // b/sites/<FUNCAPP>/functions/<FUNC>`. 476 // This means that a span attribute MUST be used, as an Azure function app can 477 // host multiple functions that would usually share 478 // a TracerProvider. 479 FaaSIDKey = attribute.Key("faas.id") 480 // The immutable version of the function being executed. 481 // 482 // Type: string 483 // RequirementLevel: Optional 484 // Stability: stable 485 // Examples: '26', 'pinkfroid-00002' 486 // Note: Depending on the cloud provider and platform, use: 487 488 // * **AWS Lambda:** The [function 489 // version](https://docs.aws.amazon.com/lambda/latest/dg/configuration- 490 // versions.html) 491 // (an integer represented as a decimal string). 492 // * **Google Cloud Run:** The 493 // [revision](https://cloud.google.com/run/docs/managing/revisions) 494 // (i.e., the function name plus the revision suffix). 495 // * **Google Cloud Functions:** The value of the 496 // [`K_REVISION` environment 497 // variable](https://cloud.google.com/functions/docs/env- 498 // var#runtime_environment_variables_set_automatically). 499 // * **Azure Functions:** Not applicable. Do not set this attribute. 500 FaaSVersionKey = attribute.Key("faas.version") 501 // The execution environment ID as a string, that will be potentially reused for 502 // other invocations to the same function/function version. 503 // 504 // Type: string 505 // RequirementLevel: Optional 506 // Stability: stable 507 // Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de' 508 // Note: * **AWS Lambda:** Use the (full) log stream name. 509 FaaSInstanceKey = attribute.Key("faas.instance") 510 // The amount of memory available to the serverless function in MiB. 511 // 512 // Type: int 513 // RequirementLevel: Optional 514 // Stability: stable 515 // Examples: 128 516 // Note: It's recommended to set this attribute since e.g. too little memory can 517 // easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, 518 // the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this 519 // information. 520 FaaSMaxMemoryKey = attribute.Key("faas.max_memory") 521 ) 522 523 // A host is defined as a general computing instance. 524 const ( 525 // Unique host ID. For Cloud, this must be the instance_id assigned by the cloud 526 // provider. For non-containerized Linux systems, the `machine-id` located in 527 // `/etc/machine-id` or `/var/lib/dbus/machine-id` may be used. 528 // 529 // Type: string 530 // RequirementLevel: Optional 531 // Stability: stable 532 // Examples: 'fdbf79e8af94cb7f9e8df36789187052' 533 HostIDKey = attribute.Key("host.id") 534 // Name of the host. On Unix systems, it may contain what the hostname command 535 // returns, or the fully qualified hostname, or another name specified by the 536 // user. 537 // 538 // Type: string 539 // RequirementLevel: Optional 540 // Stability: stable 541 // Examples: 'opentelemetry-test' 542 HostNameKey = attribute.Key("host.name") 543 // Type of host. For Cloud, this must be the machine type. 544 // 545 // Type: string 546 // RequirementLevel: Optional 547 // Stability: stable 548 // Examples: 'n1-standard-1' 549 HostTypeKey = attribute.Key("host.type") 550 // The CPU architecture the host system is running on. 551 // 552 // Type: Enum 553 // RequirementLevel: Optional 554 // Stability: stable 555 HostArchKey = attribute.Key("host.arch") 556 // Name of the VM image or OS install the host was instantiated from. 557 // 558 // Type: string 559 // RequirementLevel: Optional 560 // Stability: stable 561 // Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905' 562 HostImageNameKey = attribute.Key("host.image.name") 563 // VM image ID. For Cloud, this value is from the provider. 564 // 565 // Type: string 566 // RequirementLevel: Optional 567 // Stability: stable 568 // Examples: 'ami-07b06b442921831e5' 569 HostImageIDKey = attribute.Key("host.image.id") 570 // The version string of the VM image as defined in [Version 571 // Attributes](README.md#version-attributes). 572 // 573 // Type: string 574 // RequirementLevel: Optional 575 // Stability: stable 576 // Examples: '0.1' 577 HostImageVersionKey = attribute.Key("host.image.version") 578 ) 579 580 var ( 581 // AMD64 582 HostArchAMD64 = HostArchKey.String("amd64") 583 // ARM32 584 HostArchARM32 = HostArchKey.String("arm32") 585 // ARM64 586 HostArchARM64 = HostArchKey.String("arm64") 587 // Itanium 588 HostArchIA64 = HostArchKey.String("ia64") 589 // 32-bit PowerPC 590 HostArchPPC32 = HostArchKey.String("ppc32") 591 // 64-bit PowerPC 592 HostArchPPC64 = HostArchKey.String("ppc64") 593 // IBM z/Architecture 594 HostArchS390x = HostArchKey.String("s390x") 595 // 32-bit x86 596 HostArchX86 = HostArchKey.String("x86") 597 ) 598 599 // A Kubernetes Cluster. 600 const ( 601 // The name of the cluster. 602 // 603 // Type: string 604 // RequirementLevel: Optional 605 // Stability: stable 606 // Examples: 'opentelemetry-cluster' 607 K8SClusterNameKey = attribute.Key("k8s.cluster.name") 608 ) 609 610 // A Kubernetes Node object. 611 const ( 612 // The name of the Node. 613 // 614 // Type: string 615 // RequirementLevel: Optional 616 // Stability: stable 617 // Examples: 'node-1' 618 K8SNodeNameKey = attribute.Key("k8s.node.name") 619 // The UID of the Node. 620 // 621 // Type: string 622 // RequirementLevel: Optional 623 // Stability: stable 624 // Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2' 625 K8SNodeUIDKey = attribute.Key("k8s.node.uid") 626 ) 627 628 // A Kubernetes Namespace. 629 const ( 630 // The name of the namespace that the pod is running in. 631 // 632 // Type: string 633 // RequirementLevel: Optional 634 // Stability: stable 635 // Examples: 'default' 636 K8SNamespaceNameKey = attribute.Key("k8s.namespace.name") 637 ) 638 639 // A Kubernetes Pod object. 640 const ( 641 // The UID of the Pod. 642 // 643 // Type: string 644 // RequirementLevel: Optional 645 // Stability: stable 646 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 647 K8SPodUIDKey = attribute.Key("k8s.pod.uid") 648 // The name of the Pod. 649 // 650 // Type: string 651 // RequirementLevel: Optional 652 // Stability: stable 653 // Examples: 'opentelemetry-pod-autoconf' 654 K8SPodNameKey = attribute.Key("k8s.pod.name") 655 ) 656 657 // A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). 658 const ( 659 // The name of the Container from Pod specification, must be unique within a Pod. 660 // Container runtime usually uses different globally unique name 661 // (`container.name`). 662 // 663 // Type: string 664 // RequirementLevel: Optional 665 // Stability: stable 666 // Examples: 'redis' 667 K8SContainerNameKey = attribute.Key("k8s.container.name") 668 // Number of times the container was restarted. This attribute can be used to 669 // identify a particular container (running or stopped) within a container spec. 670 // 671 // Type: int 672 // RequirementLevel: Optional 673 // Stability: stable 674 // Examples: 0, 2 675 K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count") 676 ) 677 678 // A Kubernetes ReplicaSet object. 679 const ( 680 // The UID of the ReplicaSet. 681 // 682 // Type: string 683 // RequirementLevel: Optional 684 // Stability: stable 685 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 686 K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid") 687 // The name of the ReplicaSet. 688 // 689 // Type: string 690 // RequirementLevel: Optional 691 // Stability: stable 692 // Examples: 'opentelemetry' 693 K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name") 694 ) 695 696 // A Kubernetes Deployment object. 697 const ( 698 // The UID of the Deployment. 699 // 700 // Type: string 701 // RequirementLevel: Optional 702 // Stability: stable 703 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 704 K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") 705 // The name of the Deployment. 706 // 707 // Type: string 708 // RequirementLevel: Optional 709 // Stability: stable 710 // Examples: 'opentelemetry' 711 K8SDeploymentNameKey = attribute.Key("k8s.deployment.name") 712 ) 713 714 // A Kubernetes StatefulSet object. 715 const ( 716 // The UID of the StatefulSet. 717 // 718 // Type: string 719 // RequirementLevel: Optional 720 // Stability: stable 721 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 722 K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") 723 // The name of the StatefulSet. 724 // 725 // Type: string 726 // RequirementLevel: Optional 727 // Stability: stable 728 // Examples: 'opentelemetry' 729 K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name") 730 ) 731 732 // A Kubernetes DaemonSet object. 733 const ( 734 // The UID of the DaemonSet. 735 // 736 // Type: string 737 // RequirementLevel: Optional 738 // Stability: stable 739 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 740 K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid") 741 // The name of the DaemonSet. 742 // 743 // Type: string 744 // RequirementLevel: Optional 745 // Stability: stable 746 // Examples: 'opentelemetry' 747 K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name") 748 ) 749 750 // A Kubernetes Job object. 751 const ( 752 // The UID of the Job. 753 // 754 // Type: string 755 // RequirementLevel: Optional 756 // Stability: stable 757 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 758 K8SJobUIDKey = attribute.Key("k8s.job.uid") 759 // The name of the Job. 760 // 761 // Type: string 762 // RequirementLevel: Optional 763 // Stability: stable 764 // Examples: 'opentelemetry' 765 K8SJobNameKey = attribute.Key("k8s.job.name") 766 ) 767 768 // A Kubernetes CronJob object. 769 const ( 770 // The UID of the CronJob. 771 // 772 // Type: string 773 // RequirementLevel: Optional 774 // Stability: stable 775 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 776 K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid") 777 // The name of the CronJob. 778 // 779 // Type: string 780 // RequirementLevel: Optional 781 // Stability: stable 782 // Examples: 'opentelemetry' 783 K8SCronJobNameKey = attribute.Key("k8s.cronjob.name") 784 ) 785 786 // The operating system (OS) on which the process represented by this resource is running. 787 const ( 788 // The operating system type. 789 // 790 // Type: Enum 791 // RequirementLevel: Required 792 // Stability: stable 793 OSTypeKey = attribute.Key("os.type") 794 // Human readable (not intended to be parsed) OS version information, like e.g. 795 // reported by `ver` or `lsb_release -a` commands. 796 // 797 // Type: string 798 // RequirementLevel: Optional 799 // Stability: stable 800 // Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS' 801 OSDescriptionKey = attribute.Key("os.description") 802 // Human readable operating system name. 803 // 804 // Type: string 805 // RequirementLevel: Optional 806 // Stability: stable 807 // Examples: 'iOS', 'Android', 'Ubuntu' 808 OSNameKey = attribute.Key("os.name") 809 // The version string of the operating system as defined in [Version 810 // Attributes](../../resource/semantic_conventions/README.md#version-attributes). 811 // 812 // Type: string 813 // RequirementLevel: Optional 814 // Stability: stable 815 // Examples: '14.2.1', '18.04.1' 816 OSVersionKey = attribute.Key("os.version") 817 ) 818 819 var ( 820 // Microsoft Windows 821 OSTypeWindows = OSTypeKey.String("windows") 822 // Linux 823 OSTypeLinux = OSTypeKey.String("linux") 824 // Apple Darwin 825 OSTypeDarwin = OSTypeKey.String("darwin") 826 // FreeBSD 827 OSTypeFreeBSD = OSTypeKey.String("freebsd") 828 // NetBSD 829 OSTypeNetBSD = OSTypeKey.String("netbsd") 830 // OpenBSD 831 OSTypeOpenBSD = OSTypeKey.String("openbsd") 832 // DragonFly BSD 833 OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd") 834 // HP-UX (Hewlett Packard Unix) 835 OSTypeHPUX = OSTypeKey.String("hpux") 836 // AIX (Advanced Interactive eXecutive) 837 OSTypeAIX = OSTypeKey.String("aix") 838 // SunOS, Oracle Solaris 839 OSTypeSolaris = OSTypeKey.String("solaris") 840 // IBM z/OS 841 OSTypeZOS = OSTypeKey.String("z_os") 842 ) 843 844 // An operating system process. 845 const ( 846 // Process identifier (PID). 847 // 848 // Type: int 849 // RequirementLevel: Optional 850 // Stability: stable 851 // Examples: 1234 852 ProcessPIDKey = attribute.Key("process.pid") 853 // Parent Process identifier (PID). 854 // 855 // Type: int 856 // RequirementLevel: Optional 857 // Stability: stable 858 // Examples: 111 859 ProcessParentPIDKey = attribute.Key("process.parent_pid") 860 // The name of the process executable. On Linux based systems, can be set to the 861 // `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of 862 // `GetProcessImageFileNameW`. 863 // 864 // Type: string 865 // RequirementLevel: ConditionallyRequired (See alternative attributes below.) 866 // Stability: stable 867 // Examples: 'otelcol' 868 ProcessExecutableNameKey = attribute.Key("process.executable.name") 869 // The full path to the process executable. On Linux based systems, can be set to 870 // the target of `proc/[pid]/exe`. On Windows, can be set to the result of 871 // `GetProcessImageFileNameW`. 872 // 873 // Type: string 874 // RequirementLevel: ConditionallyRequired (See alternative attributes below.) 875 // Stability: stable 876 // Examples: '/usr/bin/cmd/otelcol' 877 ProcessExecutablePathKey = attribute.Key("process.executable.path") 878 // The command used to launch the process (i.e. the command name). On Linux based 879 // systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, 880 // can be set to the first parameter extracted from `GetCommandLineW`. 881 // 882 // Type: string 883 // RequirementLevel: ConditionallyRequired (See alternative attributes below.) 884 // Stability: stable 885 // Examples: 'cmd/otelcol' 886 ProcessCommandKey = attribute.Key("process.command") 887 // The full command used to launch the process as a single string representing the 888 // full command. On Windows, can be set to the result of `GetCommandLineW`. Do not 889 // set this if you have to assemble it just for monitoring; use 890 // `process.command_args` instead. 891 // 892 // Type: string 893 // RequirementLevel: ConditionallyRequired (See alternative attributes below.) 894 // Stability: stable 895 // Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"' 896 ProcessCommandLineKey = attribute.Key("process.command_line") 897 // All the command arguments (including the command/executable itself) as received 898 // by the process. On Linux-based systems (and some other Unixoid systems 899 // supporting procfs), can be set according to the list of null-delimited strings 900 // extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be 901 // the full argv vector passed to `main`. 902 // 903 // Type: string[] 904 // RequirementLevel: ConditionallyRequired (See alternative attributes below.) 905 // Stability: stable 906 // Examples: 'cmd/otecol', '--config=config.yaml' 907 ProcessCommandArgsKey = attribute.Key("process.command_args") 908 // The username of the user that owns the process. 909 // 910 // Type: string 911 // RequirementLevel: Optional 912 // Stability: stable 913 // Examples: 'root' 914 ProcessOwnerKey = attribute.Key("process.owner") 915 ) 916 917 // The single (language) runtime instance which is monitored. 918 const ( 919 // The name of the runtime of this process. For compiled native binaries, this 920 // SHOULD be the name of the compiler. 921 // 922 // Type: string 923 // RequirementLevel: Optional 924 // Stability: stable 925 // Examples: 'OpenJDK Runtime Environment' 926 ProcessRuntimeNameKey = attribute.Key("process.runtime.name") 927 // The version of the runtime of this process, as returned by the runtime without 928 // modification. 929 // 930 // Type: string 931 // RequirementLevel: Optional 932 // Stability: stable 933 // Examples: '14.0.2' 934 ProcessRuntimeVersionKey = attribute.Key("process.runtime.version") 935 // An additional description about the runtime of the process, for example a 936 // specific vendor customization of the runtime environment. 937 // 938 // Type: string 939 // RequirementLevel: Optional 940 // Stability: stable 941 // Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0' 942 ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description") 943 ) 944 945 // A service instance. 946 const ( 947 // Logical name of the service. 948 // 949 // Type: string 950 // RequirementLevel: Required 951 // Stability: stable 952 // Examples: 'shoppingcart' 953 // Note: MUST be the same for all instances of horizontally scaled services. If 954 // the value was not specified, SDKs MUST fallback to `unknown_service:` 955 // concatenated with [`process.executable.name`](process.md#process), e.g. 956 // `unknown_service:bash`. If `process.executable.name` is not available, the 957 // value MUST be set to `unknown_service`. 958 ServiceNameKey = attribute.Key("service.name") 959 // A namespace for `service.name`. 960 // 961 // Type: string 962 // RequirementLevel: Optional 963 // Stability: stable 964 // Examples: 'Shop' 965 // Note: A string value having a meaning that helps to distinguish a group of 966 // services, for example the team name that owns a group of services. 967 // `service.name` is expected to be unique within the same namespace. If 968 // `service.namespace` is not specified in the Resource then `service.name` is 969 // expected to be unique for all services that have no explicit namespace defined 970 // (so the empty/unspecified namespace is simply one more valid namespace). Zero- 971 // length namespace string is assumed equal to unspecified namespace. 972 ServiceNamespaceKey = attribute.Key("service.namespace") 973 // The string ID of the service instance. 974 // 975 // Type: string 976 // RequirementLevel: Optional 977 // Stability: stable 978 // Examples: '627cc493-f310-47de-96bd-71410b7dec09' 979 // Note: MUST be unique for each instance of the same 980 // `service.namespace,service.name` pair (in other words 981 // `service.namespace,service.name,service.instance.id` triplet MUST be globally 982 // unique). The ID helps to distinguish instances of the same service that exist 983 // at the same time (e.g. instances of a horizontally scaled service). It is 984 // preferable for the ID to be persistent and stay the same for the lifetime of 985 // the service instance, however it is acceptable that the ID is ephemeral and 986 // changes during important lifetime events for the service (e.g. service 987 // restarts). If the service has no inherent unique ID that can be used as the 988 // value of this attribute it is recommended to generate a random Version 1 or 989 // Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use 990 // Version 5, see RFC 4122 for more recommendations). 991 ServiceInstanceIDKey = attribute.Key("service.instance.id") 992 // The version string of the service API or implementation. 993 // 994 // Type: string 995 // RequirementLevel: Optional 996 // Stability: stable 997 // Examples: '2.0.0' 998 ServiceVersionKey = attribute.Key("service.version") 999 ) 1000 1001 // The telemetry SDK used to capture data recorded by the instrumentation libraries. 1002 const ( 1003 // The name of the telemetry SDK as defined above. 1004 // 1005 // Type: string 1006 // RequirementLevel: Optional 1007 // Stability: stable 1008 // Examples: 'opentelemetry' 1009 TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name") 1010 // The language of the telemetry SDK. 1011 // 1012 // Type: Enum 1013 // RequirementLevel: Optional 1014 // Stability: stable 1015 TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language") 1016 // The version string of the telemetry SDK. 1017 // 1018 // Type: string 1019 // RequirementLevel: Optional 1020 // Stability: stable 1021 // Examples: '1.2.3' 1022 TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version") 1023 // The version string of the auto instrumentation agent, if used. 1024 // 1025 // Type: string 1026 // RequirementLevel: Optional 1027 // Stability: stable 1028 // Examples: '1.2.3' 1029 TelemetryAutoVersionKey = attribute.Key("telemetry.auto.version") 1030 ) 1031 1032 var ( 1033 // cpp 1034 TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp") 1035 // dotnet 1036 TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet") 1037 // erlang 1038 TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang") 1039 // go 1040 TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go") 1041 // java 1042 TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java") 1043 // nodejs 1044 TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs") 1045 // php 1046 TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php") 1047 // python 1048 TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python") 1049 // ruby 1050 TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby") 1051 // webjs 1052 TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs") 1053 // swift 1054 TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift") 1055 ) 1056 1057 // Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime. 1058 const ( 1059 // The name of the web engine. 1060 // 1061 // Type: string 1062 // RequirementLevel: Required 1063 // Stability: stable 1064 // Examples: 'WildFly' 1065 WebEngineNameKey = attribute.Key("webengine.name") 1066 // The version of the web engine. 1067 // 1068 // Type: string 1069 // RequirementLevel: Optional 1070 // Stability: stable 1071 // Examples: '21.0.0' 1072 WebEngineVersionKey = attribute.Key("webengine.version") 1073 // Additional description of the web engine (e.g. detailed version and edition 1074 // information). 1075 // 1076 // Type: string 1077 // RequirementLevel: Optional 1078 // Stability: stable 1079 // Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final' 1080 WebEngineDescriptionKey = attribute.Key("webengine.description") 1081 ) 1082 1083 // Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts. 1084 const ( 1085 // The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). 1086 // 1087 // Type: string 1088 // RequirementLevel: Optional 1089 // Stability: stable 1090 // Examples: 'io.opentelemetry.contrib.mongodb' 1091 OtelScopeNameKey = attribute.Key("otel.scope.name") 1092 // The version of the instrumentation scope - (`InstrumentationScope.Version` in 1093 // OTLP). 1094 // 1095 // Type: string 1096 // RequirementLevel: Optional 1097 // Stability: stable 1098 // Examples: '1.0.0' 1099 OtelScopeVersionKey = attribute.Key("otel.scope.version") 1100 ) 1101 1102 // Span attributes used by non-OTLP exporters to represent OpenTelemetry Scope's concepts. 1103 const ( 1104 // Deprecated, use the `otel.scope.name` attribute. 1105 // 1106 // Type: string 1107 // RequirementLevel: Optional 1108 // Stability: deprecated 1109 // Examples: 'io.opentelemetry.contrib.mongodb' 1110 OtelLibraryNameKey = attribute.Key("otel.library.name") 1111 // Deprecated, use the `otel.scope.version` attribute. 1112 // 1113 // Type: string 1114 // RequirementLevel: Optional 1115 // Stability: deprecated 1116 // Examples: '1.0.0' 1117 OtelLibraryVersionKey = attribute.Key("otel.library.version") 1118 ) 1119