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