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