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