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