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.21.0" 18 19 import "go.opentelemetry.io/otel/attribute" 20 21 // The web browser in which the application represented by the resource is 22 // running. The `browser.*` attributes MUST be used only for resources that 23 // represent applications running in a web browser (regardless of whether 24 // running on a mobile or desktop device). 25 const ( 26 // BrowserBrandsKey is the attribute Key conforming to the "browser.brands" 27 // semantic conventions. It represents the array of brand name and version 28 // separated by a space 29 // 30 // Type: string[] 31 // RequirementLevel: Optional 32 // Stability: stable 33 // Examples: ' Not A;Brand 99', 'Chromium 99', 'Chrome 99' 34 // Note: This value is intended to be taken from the [UA client hints 35 // API](https://wicg.github.io/ua-client-hints/#interface) 36 // (`navigator.userAgentData.brands`). 37 BrowserBrandsKey = attribute.Key("browser.brands") 38 39 // BrowserPlatformKey is the attribute Key conforming to the 40 // "browser.platform" semantic conventions. It represents the platform on 41 // which the browser is running 42 // 43 // Type: string 44 // RequirementLevel: Optional 45 // Stability: stable 46 // Examples: 'Windows', 'macOS', 'Android' 47 // Note: This value is intended to be taken from the [UA client hints 48 // API](https://wicg.github.io/ua-client-hints/#interface) 49 // (`navigator.userAgentData.platform`). If unavailable, the legacy 50 // `navigator.platform` API SHOULD NOT be used instead and this attribute 51 // SHOULD be left unset in order for the values to be consistent. 52 // The list of possible values is defined in the [W3C User-Agent Client 53 // Hints 54 // specification](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform). 55 // Note that some (but not all) of these values can overlap with values in 56 // the [`os.type` and `os.name` attributes](./os.md). However, for 57 // consistency, the values in the `browser.platform` attribute should 58 // capture the exact value that the user agent provides. 59 BrowserPlatformKey = attribute.Key("browser.platform") 60 61 // BrowserMobileKey is the attribute Key conforming to the "browser.mobile" 62 // semantic conventions. It represents a boolean that is true if the 63 // browser is running on a mobile device 64 // 65 // Type: boolean 66 // RequirementLevel: Optional 67 // Stability: stable 68 // Note: This value is intended to be taken from the [UA client hints 69 // API](https://wicg.github.io/ua-client-hints/#interface) 70 // (`navigator.userAgentData.mobile`). If unavailable, this attribute 71 // SHOULD be left unset. 72 BrowserMobileKey = attribute.Key("browser.mobile") 73 74 // BrowserLanguageKey is the attribute Key conforming to the 75 // "browser.language" semantic conventions. It represents the preferred 76 // language of the user using the browser 77 // 78 // Type: string 79 // RequirementLevel: Optional 80 // Stability: stable 81 // Examples: 'en', 'en-US', 'fr', 'fr-FR' 82 // Note: This value is intended to be taken from the Navigator API 83 // `navigator.language`. 84 BrowserLanguageKey = attribute.Key("browser.language") 85 ) 86 87 // BrowserBrands returns an attribute KeyValue conforming to the 88 // "browser.brands" semantic conventions. It represents the array of brand name 89 // and version separated by a space 90 func BrowserBrands(val ...string) attribute.KeyValue { 91 return BrowserBrandsKey.StringSlice(val) 92 } 93 94 // BrowserPlatform returns an attribute KeyValue conforming to the 95 // "browser.platform" semantic conventions. It represents the platform on which 96 // the browser is running 97 func BrowserPlatform(val string) attribute.KeyValue { 98 return BrowserPlatformKey.String(val) 99 } 100 101 // BrowserMobile returns an attribute KeyValue conforming to the 102 // "browser.mobile" semantic conventions. It represents a boolean that is true 103 // if the browser is running on a mobile device 104 func BrowserMobile(val bool) attribute.KeyValue { 105 return BrowserMobileKey.Bool(val) 106 } 107 108 // BrowserLanguage returns an attribute KeyValue conforming to the 109 // "browser.language" semantic conventions. It represents the preferred 110 // language of the user using the browser 111 func BrowserLanguage(val string) attribute.KeyValue { 112 return BrowserLanguageKey.String(val) 113 } 114 115 // A cloud environment (e.g. GCP, Azure, AWS) 116 const ( 117 // CloudProviderKey is the attribute Key conforming to the "cloud.provider" 118 // semantic conventions. It represents the name of the cloud provider. 119 // 120 // Type: Enum 121 // RequirementLevel: Optional 122 // Stability: stable 123 CloudProviderKey = attribute.Key("cloud.provider") 124 125 // CloudAccountIDKey is the attribute Key conforming to the 126 // "cloud.account.id" semantic conventions. It represents the cloud account 127 // ID the resource is assigned to. 128 // 129 // Type: string 130 // RequirementLevel: Optional 131 // Stability: stable 132 // Examples: '111111111111', 'opentelemetry' 133 CloudAccountIDKey = attribute.Key("cloud.account.id") 134 135 // CloudRegionKey is the attribute Key conforming to the "cloud.region" 136 // semantic conventions. It represents the geographical region the resource 137 // is running. 138 // 139 // Type: string 140 // RequirementLevel: Optional 141 // Stability: stable 142 // Examples: 'us-central1', 'us-east-1' 143 // Note: Refer to your provider's docs to see the available regions, for 144 // example [Alibaba Cloud 145 // regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS 146 // regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), 147 // [Azure 148 // regions](https://azure.microsoft.com/en-us/global-infrastructure/geographies/), 149 // [Google Cloud regions](https://cloud.google.com/about/locations), or 150 // [Tencent Cloud 151 // regions](https://www.tencentcloud.com/document/product/213/6091). 152 CloudRegionKey = attribute.Key("cloud.region") 153 154 // CloudResourceIDKey is the attribute Key conforming to the 155 // "cloud.resource_id" semantic conventions. It represents the cloud 156 // provider-specific native identifier of the monitored cloud resource 157 // (e.g. an 158 // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 159 // on AWS, a [fully qualified resource 160 // ID](https://learn.microsoft.com/en-us/rest/api/resources/resources/get-by-id) 161 // on Azure, a [full resource 162 // name](https://cloud.google.com/apis/design/resource_names#full_resource_name) 163 // on GCP) 164 // 165 // Type: string 166 // RequirementLevel: Optional 167 // Stability: stable 168 // Examples: 'arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function', 169 // '//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID', 170 // '/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>' 171 // Note: On some cloud providers, it may not be possible to determine the 172 // full ID at startup, 173 // so it may be necessary to set `cloud.resource_id` as a span attribute 174 // instead. 175 // 176 // The exact value to use for `cloud.resource_id` depends on the cloud 177 // provider. 178 // The following well-known definitions MUST be used if you set this 179 // attribute and they apply: 180 // 181 // * **AWS Lambda:** The function 182 // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 183 // Take care not to use the "invoked ARN" directly but replace any 184 // [alias 185 // suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) 186 // with the resolved function version, as the same runtime instance may 187 // be invokable with 188 // multiple different aliases. 189 // * **GCP:** The [URI of the 190 // resource](https://cloud.google.com/iam/docs/full-resource-names) 191 // * **Azure:** The [Fully Qualified Resource 192 // ID](https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id) 193 // of the invoked function, 194 // *not* the function app, having the form 195 // `/subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>`. 196 // This means that a span attribute MUST be used, as an Azure function 197 // app can host multiple functions that would usually share 198 // a TracerProvider. 199 CloudResourceIDKey = attribute.Key("cloud.resource_id") 200 201 // CloudAvailabilityZoneKey is the attribute Key conforming to the 202 // "cloud.availability_zone" semantic conventions. It represents the cloud 203 // regions often have multiple, isolated locations known as zones to 204 // increase availability. Availability zone represents the zone where the 205 // resource is running. 206 // 207 // Type: string 208 // RequirementLevel: Optional 209 // Stability: stable 210 // Examples: 'us-east-1c' 211 // Note: Availability zones are called "zones" on Alibaba Cloud and Google 212 // Cloud. 213 CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone") 214 215 // CloudPlatformKey is the attribute Key conforming to the "cloud.platform" 216 // semantic conventions. It represents the cloud platform in use. 217 // 218 // Type: Enum 219 // RequirementLevel: Optional 220 // Stability: stable 221 // Note: The prefix of the service SHOULD match the one specified in 222 // `cloud.provider`. 223 CloudPlatformKey = attribute.Key("cloud.platform") 224 ) 225 226 var ( 227 // Alibaba Cloud 228 CloudProviderAlibabaCloud = CloudProviderKey.String("alibaba_cloud") 229 // Amazon Web Services 230 CloudProviderAWS = CloudProviderKey.String("aws") 231 // Microsoft Azure 232 CloudProviderAzure = CloudProviderKey.String("azure") 233 // Google Cloud Platform 234 CloudProviderGCP = CloudProviderKey.String("gcp") 235 // Heroku Platform as a Service 236 CloudProviderHeroku = CloudProviderKey.String("heroku") 237 // IBM Cloud 238 CloudProviderIbmCloud = CloudProviderKey.String("ibm_cloud") 239 // Tencent Cloud 240 CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud") 241 ) 242 243 var ( 244 // Alibaba Cloud Elastic Compute Service 245 CloudPlatformAlibabaCloudECS = CloudPlatformKey.String("alibaba_cloud_ecs") 246 // Alibaba Cloud Function Compute 247 CloudPlatformAlibabaCloudFc = CloudPlatformKey.String("alibaba_cloud_fc") 248 // Red Hat OpenShift on Alibaba Cloud 249 CloudPlatformAlibabaCloudOpenshift = CloudPlatformKey.String("alibaba_cloud_openshift") 250 // AWS Elastic Compute Cloud 251 CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2") 252 // AWS Elastic Container Service 253 CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs") 254 // AWS Elastic Kubernetes Service 255 CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks") 256 // AWS Lambda 257 CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda") 258 // AWS Elastic Beanstalk 259 CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk") 260 // AWS App Runner 261 CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner") 262 // Red Hat OpenShift on AWS (ROSA) 263 CloudPlatformAWSOpenshift = CloudPlatformKey.String("aws_openshift") 264 // Azure Virtual Machines 265 CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm") 266 // Azure Container Instances 267 CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances") 268 // Azure Kubernetes Service 269 CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks") 270 // Azure Functions 271 CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions") 272 // Azure App Service 273 CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service") 274 // Azure Red Hat OpenShift 275 CloudPlatformAzureOpenshift = CloudPlatformKey.String("azure_openshift") 276 // Google Bare Metal Solution (BMS) 277 CloudPlatformGCPBareMetalSolution = CloudPlatformKey.String("gcp_bare_metal_solution") 278 // Google Cloud Compute Engine (GCE) 279 CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine") 280 // Google Cloud Run 281 CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run") 282 // Google Cloud Kubernetes Engine (GKE) 283 CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine") 284 // Google Cloud Functions (GCF) 285 CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions") 286 // Google Cloud App Engine (GAE) 287 CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine") 288 // Red Hat OpenShift on Google Cloud 289 CloudPlatformGCPOpenshift = CloudPlatformKey.String("gcp_openshift") 290 // Red Hat OpenShift on IBM Cloud 291 CloudPlatformIbmCloudOpenshift = CloudPlatformKey.String("ibm_cloud_openshift") 292 // Tencent Cloud Cloud Virtual Machine (CVM) 293 CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm") 294 // Tencent Cloud Elastic Kubernetes Service (EKS) 295 CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks") 296 // Tencent Cloud Serverless Cloud Function (SCF) 297 CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf") 298 ) 299 300 // CloudAccountID returns an attribute KeyValue conforming to the 301 // "cloud.account.id" semantic conventions. It represents the cloud account ID 302 // the resource is assigned to. 303 func CloudAccountID(val string) attribute.KeyValue { 304 return CloudAccountIDKey.String(val) 305 } 306 307 // CloudRegion returns an attribute KeyValue conforming to the 308 // "cloud.region" semantic conventions. It represents the geographical region 309 // the resource is running. 310 func CloudRegion(val string) attribute.KeyValue { 311 return CloudRegionKey.String(val) 312 } 313 314 // CloudResourceID returns an attribute KeyValue conforming to the 315 // "cloud.resource_id" semantic conventions. It represents the cloud 316 // provider-specific native identifier of the monitored cloud resource (e.g. an 317 // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 318 // on AWS, a [fully qualified resource 319 // ID](https://learn.microsoft.com/en-us/rest/api/resources/resources/get-by-id) 320 // on Azure, a [full resource 321 // name](https://cloud.google.com/apis/design/resource_names#full_resource_name) 322 // on GCP) 323 func CloudResourceID(val string) attribute.KeyValue { 324 return CloudResourceIDKey.String(val) 325 } 326 327 // CloudAvailabilityZone returns an attribute KeyValue conforming to the 328 // "cloud.availability_zone" semantic conventions. It represents the cloud 329 // regions often have multiple, isolated locations known as zones to increase 330 // availability. Availability zone represents the zone where the resource is 331 // running. 332 func CloudAvailabilityZone(val string) attribute.KeyValue { 333 return CloudAvailabilityZoneKey.String(val) 334 } 335 336 // Resources used by AWS Elastic Container Service (ECS). 337 const ( 338 // AWSECSContainerARNKey is the attribute Key conforming to the 339 // "aws.ecs.container.arn" semantic conventions. It represents the Amazon 340 // Resource Name (ARN) of an [ECS container 341 // instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). 342 // 343 // Type: string 344 // RequirementLevel: Optional 345 // Stability: stable 346 // Examples: 347 // 'arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9' 348 AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn") 349 350 // AWSECSClusterARNKey is the attribute Key conforming to the 351 // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an 352 // [ECS 353 // cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). 354 // 355 // Type: string 356 // RequirementLevel: Optional 357 // Stability: stable 358 // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' 359 AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn") 360 361 // AWSECSLaunchtypeKey is the attribute Key conforming to the 362 // "aws.ecs.launchtype" semantic conventions. It represents the [launch 363 // type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 364 // for an ECS task. 365 // 366 // Type: Enum 367 // RequirementLevel: Optional 368 // Stability: stable 369 AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype") 370 371 // AWSECSTaskARNKey is the attribute Key conforming to the 372 // "aws.ecs.task.arn" semantic conventions. It represents the ARN of an 373 // [ECS task 374 // definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). 375 // 376 // Type: string 377 // RequirementLevel: Optional 378 // Stability: stable 379 // Examples: 380 // 'arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b' 381 AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn") 382 383 // AWSECSTaskFamilyKey is the attribute Key conforming to the 384 // "aws.ecs.task.family" semantic conventions. It represents the task 385 // definition family this task definition is a member of. 386 // 387 // Type: string 388 // RequirementLevel: Optional 389 // Stability: stable 390 // Examples: 'opentelemetry-family' 391 AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family") 392 393 // AWSECSTaskRevisionKey is the attribute Key conforming to the 394 // "aws.ecs.task.revision" semantic conventions. It represents the revision 395 // for this task definition. 396 // 397 // Type: string 398 // RequirementLevel: Optional 399 // Stability: stable 400 // Examples: '8', '26' 401 AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision") 402 ) 403 404 var ( 405 // ec2 406 AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") 407 // fargate 408 AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") 409 ) 410 411 // AWSECSContainerARN returns an attribute KeyValue conforming to the 412 // "aws.ecs.container.arn" semantic conventions. It represents the Amazon 413 // Resource Name (ARN) of an [ECS container 414 // instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). 415 func AWSECSContainerARN(val string) attribute.KeyValue { 416 return AWSECSContainerARNKey.String(val) 417 } 418 419 // AWSECSClusterARN returns an attribute KeyValue conforming to the 420 // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an [ECS 421 // cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). 422 func AWSECSClusterARN(val string) attribute.KeyValue { 423 return AWSECSClusterARNKey.String(val) 424 } 425 426 // AWSECSTaskARN returns an attribute KeyValue conforming to the 427 // "aws.ecs.task.arn" semantic conventions. It represents the ARN of an [ECS 428 // task 429 // definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). 430 func AWSECSTaskARN(val string) attribute.KeyValue { 431 return AWSECSTaskARNKey.String(val) 432 } 433 434 // AWSECSTaskFamily returns an attribute KeyValue conforming to the 435 // "aws.ecs.task.family" semantic conventions. It represents the task 436 // definition family this task definition is a member of. 437 func AWSECSTaskFamily(val string) attribute.KeyValue { 438 return AWSECSTaskFamilyKey.String(val) 439 } 440 441 // AWSECSTaskRevision returns an attribute KeyValue conforming to the 442 // "aws.ecs.task.revision" semantic conventions. It represents the revision for 443 // this task definition. 444 func AWSECSTaskRevision(val string) attribute.KeyValue { 445 return AWSECSTaskRevisionKey.String(val) 446 } 447 448 // Resources used by AWS Elastic Kubernetes Service (EKS). 449 const ( 450 // AWSEKSClusterARNKey is the attribute Key conforming to the 451 // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an 452 // EKS cluster. 453 // 454 // Type: string 455 // RequirementLevel: Optional 456 // Stability: stable 457 // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' 458 AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn") 459 ) 460 461 // AWSEKSClusterARN returns an attribute KeyValue conforming to the 462 // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS 463 // cluster. 464 func AWSEKSClusterARN(val string) attribute.KeyValue { 465 return AWSEKSClusterARNKey.String(val) 466 } 467 468 // Resources specific to Amazon Web Services. 469 const ( 470 // AWSLogGroupNamesKey is the attribute Key conforming to the 471 // "aws.log.group.names" semantic conventions. It represents the name(s) of 472 // the AWS log group(s) an application is writing to. 473 // 474 // Type: string[] 475 // RequirementLevel: Optional 476 // Stability: stable 477 // Examples: '/aws/lambda/my-function', 'opentelemetry-service' 478 // Note: Multiple log groups must be supported for cases like 479 // multi-container applications, where a single application has sidecar 480 // containers, and each write to their own log group. 481 AWSLogGroupNamesKey = attribute.Key("aws.log.group.names") 482 483 // AWSLogGroupARNsKey is the attribute Key conforming to the 484 // "aws.log.group.arns" semantic conventions. It represents the Amazon 485 // Resource Name(s) (ARN) of the AWS log group(s). 486 // 487 // Type: string[] 488 // RequirementLevel: Optional 489 // Stability: stable 490 // Examples: 491 // 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*' 492 // Note: See the [log group ARN format 493 // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). 494 AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns") 495 496 // AWSLogStreamNamesKey is the attribute Key conforming to the 497 // "aws.log.stream.names" semantic conventions. It represents the name(s) 498 // of the AWS log stream(s) an application is writing to. 499 // 500 // Type: string[] 501 // RequirementLevel: Optional 502 // Stability: stable 503 // Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' 504 AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names") 505 506 // AWSLogStreamARNsKey is the attribute Key conforming to the 507 // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of 508 // the AWS log stream(s). 509 // 510 // Type: string[] 511 // RequirementLevel: Optional 512 // Stability: stable 513 // Examples: 514 // 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' 515 // Note: See the [log stream ARN format 516 // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). 517 // One log group can contain several log streams, so these ARNs necessarily 518 // identify both a log group and a log stream. 519 AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns") 520 ) 521 522 // AWSLogGroupNames returns an attribute KeyValue conforming to the 523 // "aws.log.group.names" semantic conventions. It represents the name(s) of the 524 // AWS log group(s) an application is writing to. 525 func AWSLogGroupNames(val ...string) attribute.KeyValue { 526 return AWSLogGroupNamesKey.StringSlice(val) 527 } 528 529 // AWSLogGroupARNs returns an attribute KeyValue conforming to the 530 // "aws.log.group.arns" semantic conventions. It represents the Amazon Resource 531 // Name(s) (ARN) of the AWS log group(s). 532 func AWSLogGroupARNs(val ...string) attribute.KeyValue { 533 return AWSLogGroupARNsKey.StringSlice(val) 534 } 535 536 // AWSLogStreamNames returns an attribute KeyValue conforming to the 537 // "aws.log.stream.names" semantic conventions. It represents the name(s) of 538 // the AWS log stream(s) an application is writing to. 539 func AWSLogStreamNames(val ...string) attribute.KeyValue { 540 return AWSLogStreamNamesKey.StringSlice(val) 541 } 542 543 // AWSLogStreamARNs returns an attribute KeyValue conforming to the 544 // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the 545 // AWS log stream(s). 546 func AWSLogStreamARNs(val ...string) attribute.KeyValue { 547 return AWSLogStreamARNsKey.StringSlice(val) 548 } 549 550 // Resource used by Google Cloud Run. 551 const ( 552 // GCPCloudRunJobExecutionKey is the attribute Key conforming to the 553 // "gcp.cloud_run.job.execution" semantic conventions. It represents the 554 // name of the Cloud Run 555 // [execution](https://cloud.google.com/run/docs/managing/job-executions) 556 // being run for the Job, as set by the 557 // [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) 558 // environment variable. 559 // 560 // Type: string 561 // RequirementLevel: Optional 562 // Stability: stable 563 // Examples: 'job-name-xxxx', 'sample-job-mdw84' 564 GCPCloudRunJobExecutionKey = attribute.Key("gcp.cloud_run.job.execution") 565 566 // GCPCloudRunJobTaskIndexKey is the attribute Key conforming to the 567 // "gcp.cloud_run.job.task_index" semantic conventions. It represents the 568 // index for a task within an execution as provided by the 569 // [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) 570 // environment variable. 571 // 572 // Type: int 573 // RequirementLevel: Optional 574 // Stability: stable 575 // Examples: 0, 1 576 GCPCloudRunJobTaskIndexKey = attribute.Key("gcp.cloud_run.job.task_index") 577 ) 578 579 // GCPCloudRunJobExecution returns an attribute KeyValue conforming to the 580 // "gcp.cloud_run.job.execution" semantic conventions. It represents the name 581 // of the Cloud Run 582 // [execution](https://cloud.google.com/run/docs/managing/job-executions) being 583 // run for the Job, as set by the 584 // [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) 585 // environment variable. 586 func GCPCloudRunJobExecution(val string) attribute.KeyValue { 587 return GCPCloudRunJobExecutionKey.String(val) 588 } 589 590 // GCPCloudRunJobTaskIndex returns an attribute KeyValue conforming to the 591 // "gcp.cloud_run.job.task_index" semantic conventions. It represents the index 592 // for a task within an execution as provided by the 593 // [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) 594 // environment variable. 595 func GCPCloudRunJobTaskIndex(val int) attribute.KeyValue { 596 return GCPCloudRunJobTaskIndexKey.Int(val) 597 } 598 599 // Resources used by Google Compute Engine (GCE). 600 const ( 601 // GCPGceInstanceNameKey is the attribute Key conforming to the 602 // "gcp.gce.instance.name" semantic conventions. It represents the instance 603 // name of a GCE instance. This is the value provided by `host.name`, the 604 // visible name of the instance in the Cloud Console UI, and the prefix for 605 // the default hostname of the instance as defined by the [default internal 606 // DNS 607 // name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). 608 // 609 // Type: string 610 // RequirementLevel: Optional 611 // Stability: stable 612 // Examples: 'instance-1', 'my-vm-name' 613 GCPGceInstanceNameKey = attribute.Key("gcp.gce.instance.name") 614 615 // GCPGceInstanceHostnameKey is the attribute Key conforming to the 616 // "gcp.gce.instance.hostname" semantic conventions. It represents the 617 // hostname of a GCE instance. This is the full value of the default or 618 // [custom 619 // hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). 620 // 621 // Type: string 622 // RequirementLevel: Optional 623 // Stability: stable 624 // Examples: 'my-host1234.example.com', 625 // 'sample-vm.us-west1-b.c.my-project.internal' 626 GCPGceInstanceHostnameKey = attribute.Key("gcp.gce.instance.hostname") 627 ) 628 629 // GCPGceInstanceName returns an attribute KeyValue conforming to the 630 // "gcp.gce.instance.name" semantic conventions. It represents the instance 631 // name of a GCE instance. This is the value provided by `host.name`, the 632 // visible name of the instance in the Cloud Console UI, and the prefix for the 633 // default hostname of the instance as defined by the [default internal DNS 634 // name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). 635 func GCPGceInstanceName(val string) attribute.KeyValue { 636 return GCPGceInstanceNameKey.String(val) 637 } 638 639 // GCPGceInstanceHostname returns an attribute KeyValue conforming to the 640 // "gcp.gce.instance.hostname" semantic conventions. It represents the hostname 641 // of a GCE instance. This is the full value of the default or [custom 642 // hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). 643 func GCPGceInstanceHostname(val string) attribute.KeyValue { 644 return GCPGceInstanceHostnameKey.String(val) 645 } 646 647 // Heroku dyno metadata 648 const ( 649 // HerokuReleaseCreationTimestampKey is the attribute Key conforming to the 650 // "heroku.release.creation_timestamp" semantic conventions. It represents 651 // the time and date the release was created 652 // 653 // Type: string 654 // RequirementLevel: Optional 655 // Stability: stable 656 // Examples: '2022-10-23T18:00:42Z' 657 HerokuReleaseCreationTimestampKey = attribute.Key("heroku.release.creation_timestamp") 658 659 // HerokuReleaseCommitKey is the attribute Key conforming to the 660 // "heroku.release.commit" semantic conventions. It represents the commit 661 // hash for the current release 662 // 663 // Type: string 664 // RequirementLevel: Optional 665 // Stability: stable 666 // Examples: 'e6134959463efd8966b20e75b913cafe3f5ec' 667 HerokuReleaseCommitKey = attribute.Key("heroku.release.commit") 668 669 // HerokuAppIDKey is the attribute Key conforming to the "heroku.app.id" 670 // semantic conventions. It represents the unique identifier for the 671 // application 672 // 673 // Type: string 674 // RequirementLevel: Optional 675 // Stability: stable 676 // Examples: '2daa2797-e42b-4624-9322-ec3f968df4da' 677 HerokuAppIDKey = attribute.Key("heroku.app.id") 678 ) 679 680 // HerokuReleaseCreationTimestamp returns an attribute KeyValue conforming 681 // to the "heroku.release.creation_timestamp" semantic conventions. It 682 // represents the time and date the release was created 683 func HerokuReleaseCreationTimestamp(val string) attribute.KeyValue { 684 return HerokuReleaseCreationTimestampKey.String(val) 685 } 686 687 // HerokuReleaseCommit returns an attribute KeyValue conforming to the 688 // "heroku.release.commit" semantic conventions. It represents the commit hash 689 // for the current release 690 func HerokuReleaseCommit(val string) attribute.KeyValue { 691 return HerokuReleaseCommitKey.String(val) 692 } 693 694 // HerokuAppID returns an attribute KeyValue conforming to the 695 // "heroku.app.id" semantic conventions. It represents the unique identifier 696 // for the application 697 func HerokuAppID(val string) attribute.KeyValue { 698 return HerokuAppIDKey.String(val) 699 } 700 701 // A container instance. 702 const ( 703 // ContainerNameKey is the attribute Key conforming to the "container.name" 704 // semantic conventions. It represents the container name used by container 705 // runtime. 706 // 707 // Type: string 708 // RequirementLevel: Optional 709 // Stability: stable 710 // Examples: 'opentelemetry-autoconf' 711 ContainerNameKey = attribute.Key("container.name") 712 713 // ContainerIDKey is the attribute Key conforming to the "container.id" 714 // semantic conventions. It represents the container ID. Usually a UUID, as 715 // for example used to [identify Docker 716 // containers](https://docs.docker.com/engine/reference/run/#container-identification). 717 // The UUID might be abbreviated. 718 // 719 // Type: string 720 // RequirementLevel: Optional 721 // Stability: stable 722 // Examples: 'a3bf90e006b2' 723 ContainerIDKey = attribute.Key("container.id") 724 725 // ContainerRuntimeKey is the attribute Key conforming to the 726 // "container.runtime" semantic conventions. It represents the container 727 // runtime managing this container. 728 // 729 // Type: string 730 // RequirementLevel: Optional 731 // Stability: stable 732 // Examples: 'docker', 'containerd', 'rkt' 733 ContainerRuntimeKey = attribute.Key("container.runtime") 734 735 // ContainerImageNameKey is the attribute Key conforming to the 736 // "container.image.name" semantic conventions. It represents the name of 737 // the image the container was built on. 738 // 739 // Type: string 740 // RequirementLevel: Optional 741 // Stability: stable 742 // Examples: 'gcr.io/opentelemetry/operator' 743 ContainerImageNameKey = attribute.Key("container.image.name") 744 745 // ContainerImageTagKey is the attribute Key conforming to the 746 // "container.image.tag" semantic conventions. It represents the container 747 // image tag. 748 // 749 // Type: string 750 // RequirementLevel: Optional 751 // Stability: stable 752 // Examples: '0.1' 753 ContainerImageTagKey = attribute.Key("container.image.tag") 754 755 // ContainerImageIDKey is the attribute Key conforming to the 756 // "container.image.id" semantic conventions. It represents the runtime 757 // specific image identifier. Usually a hash algorithm followed by a UUID. 758 // 759 // Type: string 760 // RequirementLevel: Optional 761 // Stability: stable 762 // Examples: 763 // 'sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f' 764 // Note: Docker defines a sha256 of the image id; `container.image.id` 765 // corresponds to the `Image` field from the Docker container inspect 766 // [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) 767 // endpoint. 768 // K8S defines a link to the container registry repository with digest 769 // `"imageID": "registry.azurecr.io 770 // /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. 771 // OCI defines a digest of manifest. 772 ContainerImageIDKey = attribute.Key("container.image.id") 773 774 // ContainerCommandKey is the attribute Key conforming to the 775 // "container.command" semantic conventions. It represents the command used 776 // to run the container (i.e. the command name). 777 // 778 // Type: string 779 // RequirementLevel: Optional 780 // Stability: stable 781 // Examples: 'otelcontribcol' 782 // Note: If using embedded credentials or sensitive data, it is recommended 783 // to remove them to prevent potential leakage. 784 ContainerCommandKey = attribute.Key("container.command") 785 786 // ContainerCommandLineKey is the attribute Key conforming to the 787 // "container.command_line" semantic conventions. It represents the full 788 // command run by the container as a single string representing the full 789 // command. [2] 790 // 791 // Type: string 792 // RequirementLevel: Optional 793 // Stability: stable 794 // Examples: 'otelcontribcol --config config.yaml' 795 ContainerCommandLineKey = attribute.Key("container.command_line") 796 797 // ContainerCommandArgsKey is the attribute Key conforming to the 798 // "container.command_args" semantic conventions. It represents the all the 799 // command arguments (including the command/executable itself) run by the 800 // container. [2] 801 // 802 // Type: string[] 803 // RequirementLevel: Optional 804 // Stability: stable 805 // Examples: 'otelcontribcol, --config, config.yaml' 806 ContainerCommandArgsKey = attribute.Key("container.command_args") 807 ) 808 809 // ContainerName returns an attribute KeyValue conforming to the 810 // "container.name" semantic conventions. It represents the container name used 811 // by container runtime. 812 func ContainerName(val string) attribute.KeyValue { 813 return ContainerNameKey.String(val) 814 } 815 816 // ContainerID returns an attribute KeyValue conforming to the 817 // "container.id" semantic conventions. It represents the container ID. Usually 818 // a UUID, as for example used to [identify Docker 819 // containers](https://docs.docker.com/engine/reference/run/#container-identification). 820 // The UUID might be abbreviated. 821 func ContainerID(val string) attribute.KeyValue { 822 return ContainerIDKey.String(val) 823 } 824 825 // ContainerRuntime returns an attribute KeyValue conforming to the 826 // "container.runtime" semantic conventions. It represents the container 827 // runtime managing this container. 828 func ContainerRuntime(val string) attribute.KeyValue { 829 return ContainerRuntimeKey.String(val) 830 } 831 832 // ContainerImageName returns an attribute KeyValue conforming to the 833 // "container.image.name" semantic conventions. It represents the name of the 834 // image the container was built on. 835 func ContainerImageName(val string) attribute.KeyValue { 836 return ContainerImageNameKey.String(val) 837 } 838 839 // ContainerImageTag returns an attribute KeyValue conforming to the 840 // "container.image.tag" semantic conventions. It represents the container 841 // image tag. 842 func ContainerImageTag(val string) attribute.KeyValue { 843 return ContainerImageTagKey.String(val) 844 } 845 846 // ContainerImageID returns an attribute KeyValue conforming to the 847 // "container.image.id" semantic conventions. It represents the runtime 848 // specific image identifier. Usually a hash algorithm followed by a UUID. 849 func ContainerImageID(val string) attribute.KeyValue { 850 return ContainerImageIDKey.String(val) 851 } 852 853 // ContainerCommand returns an attribute KeyValue conforming to the 854 // "container.command" semantic conventions. It represents the command used to 855 // run the container (i.e. the command name). 856 func ContainerCommand(val string) attribute.KeyValue { 857 return ContainerCommandKey.String(val) 858 } 859 860 // ContainerCommandLine returns an attribute KeyValue conforming to the 861 // "container.command_line" semantic conventions. It represents the full 862 // command run by the container as a single string representing the full 863 // command. [2] 864 func ContainerCommandLine(val string) attribute.KeyValue { 865 return ContainerCommandLineKey.String(val) 866 } 867 868 // ContainerCommandArgs returns an attribute KeyValue conforming to the 869 // "container.command_args" semantic conventions. It represents the all the 870 // command arguments (including the command/executable itself) run by the 871 // container. [2] 872 func ContainerCommandArgs(val ...string) attribute.KeyValue { 873 return ContainerCommandArgsKey.StringSlice(val) 874 } 875 876 // The software deployment. 877 const ( 878 // DeploymentEnvironmentKey is the attribute Key conforming to the 879 // "deployment.environment" semantic conventions. It represents the name of 880 // the [deployment 881 // environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka 882 // deployment tier). 883 // 884 // Type: string 885 // RequirementLevel: Optional 886 // Stability: stable 887 // Examples: 'staging', 'production' 888 DeploymentEnvironmentKey = attribute.Key("deployment.environment") 889 ) 890 891 // DeploymentEnvironment returns an attribute KeyValue conforming to the 892 // "deployment.environment" semantic conventions. It represents the name of the 893 // [deployment 894 // environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka 895 // deployment tier). 896 func DeploymentEnvironment(val string) attribute.KeyValue { 897 return DeploymentEnvironmentKey.String(val) 898 } 899 900 // The device on which the process represented by this resource is running. 901 const ( 902 // DeviceIDKey is the attribute Key conforming to the "device.id" semantic 903 // conventions. It represents a unique identifier representing the device 904 // 905 // Type: string 906 // RequirementLevel: Optional 907 // Stability: stable 908 // Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092' 909 // Note: The device identifier MUST only be defined using the values 910 // outlined below. This value is not an advertising identifier and MUST NOT 911 // be used as such. On iOS (Swift or Objective-C), this value MUST be equal 912 // to the [vendor 913 // identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). 914 // On Android (Java or Kotlin), this value MUST be equal to the Firebase 915 // Installation ID or a globally unique UUID which is persisted across 916 // sessions in your application. More information can be found 917 // [here](https://developer.android.com/training/articles/user-data-ids) on 918 // best practices and exact implementation details. Caution should be taken 919 // when storing personal data or anything which can identify a user. GDPR 920 // and data protection laws may apply, ensure you do your own due 921 // diligence. 922 DeviceIDKey = attribute.Key("device.id") 923 924 // DeviceModelIdentifierKey is the attribute Key conforming to the 925 // "device.model.identifier" semantic conventions. It represents the model 926 // identifier for the device 927 // 928 // Type: string 929 // RequirementLevel: Optional 930 // Stability: stable 931 // Examples: 'iPhone3,4', 'SM-G920F' 932 // Note: It's recommended this value represents a machine readable version 933 // of the model identifier rather than the market or consumer-friendly name 934 // of the device. 935 DeviceModelIdentifierKey = attribute.Key("device.model.identifier") 936 937 // DeviceModelNameKey is the attribute Key conforming to the 938 // "device.model.name" semantic conventions. It represents the marketing 939 // name for the device model 940 // 941 // Type: string 942 // RequirementLevel: Optional 943 // Stability: stable 944 // Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6' 945 // Note: It's recommended this value represents a human readable version of 946 // the device model rather than a machine readable alternative. 947 DeviceModelNameKey = attribute.Key("device.model.name") 948 949 // DeviceManufacturerKey is the attribute Key conforming to the 950 // "device.manufacturer" semantic conventions. It represents the name of 951 // the device manufacturer 952 // 953 // Type: string 954 // RequirementLevel: Optional 955 // Stability: stable 956 // Examples: 'Apple', 'Samsung' 957 // Note: The Android OS provides this field via 958 // [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). 959 // iOS apps SHOULD hardcode the value `Apple`. 960 DeviceManufacturerKey = attribute.Key("device.manufacturer") 961 ) 962 963 // DeviceID returns an attribute KeyValue conforming to the "device.id" 964 // semantic conventions. It represents a unique identifier representing the 965 // device 966 func DeviceID(val string) attribute.KeyValue { 967 return DeviceIDKey.String(val) 968 } 969 970 // DeviceModelIdentifier returns an attribute KeyValue conforming to the 971 // "device.model.identifier" semantic conventions. It represents the model 972 // identifier for the device 973 func DeviceModelIdentifier(val string) attribute.KeyValue { 974 return DeviceModelIdentifierKey.String(val) 975 } 976 977 // DeviceModelName returns an attribute KeyValue conforming to the 978 // "device.model.name" semantic conventions. It represents the marketing name 979 // for the device model 980 func DeviceModelName(val string) attribute.KeyValue { 981 return DeviceModelNameKey.String(val) 982 } 983 984 // DeviceManufacturer returns an attribute KeyValue conforming to the 985 // "device.manufacturer" semantic conventions. It represents the name of the 986 // device manufacturer 987 func DeviceManufacturer(val string) attribute.KeyValue { 988 return DeviceManufacturerKey.String(val) 989 } 990 991 // A serverless instance. 992 const ( 993 // FaaSNameKey is the attribute Key conforming to the "faas.name" semantic 994 // conventions. It represents the name of the single function that this 995 // runtime instance executes. 996 // 997 // Type: string 998 // RequirementLevel: Required 999 // Stability: stable 1000 // Examples: 'my-function', 'myazurefunctionapp/some-function-name' 1001 // Note: This is the name of the function as configured/deployed on the 1002 // FaaS 1003 // platform and is usually different from the name of the callback 1004 // function (which may be stored in the 1005 // [`code.namespace`/`code.function`](/docs/general/general-attributes.md#source-code-attributes) 1006 // span attributes). 1007 // 1008 // For some cloud providers, the above definition is ambiguous. The 1009 // following 1010 // definition of function name MUST be used for this attribute 1011 // (and consequently the span name) for the listed cloud 1012 // providers/products: 1013 // 1014 // * **Azure:** The full name `<FUNCAPP>/<FUNC>`, i.e., function app name 1015 // followed by a forward slash followed by the function name (this form 1016 // can also be seen in the resource JSON for the function). 1017 // This means that a span attribute MUST be used, as an Azure function 1018 // app can host multiple functions that would usually share 1019 // a TracerProvider (see also the `cloud.resource_id` attribute). 1020 FaaSNameKey = attribute.Key("faas.name") 1021 1022 // FaaSVersionKey is the attribute Key conforming to the "faas.version" 1023 // semantic conventions. It represents the immutable version of the 1024 // function being executed. 1025 // 1026 // Type: string 1027 // RequirementLevel: Optional 1028 // Stability: stable 1029 // Examples: '26', 'pinkfroid-00002' 1030 // Note: Depending on the cloud provider and platform, use: 1031 // 1032 // * **AWS Lambda:** The [function 1033 // version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) 1034 // (an integer represented as a decimal string). 1035 // * **Google Cloud Run (Services):** The 1036 // [revision](https://cloud.google.com/run/docs/managing/revisions) 1037 // (i.e., the function name plus the revision suffix). 1038 // * **Google Cloud Functions:** The value of the 1039 // [`K_REVISION` environment 1040 // variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). 1041 // * **Azure Functions:** Not applicable. Do not set this attribute. 1042 FaaSVersionKey = attribute.Key("faas.version") 1043 1044 // FaaSInstanceKey is the attribute Key conforming to the "faas.instance" 1045 // semantic conventions. It represents the execution environment ID as a 1046 // string, that will be potentially reused for other invocations to the 1047 // same function/function version. 1048 // 1049 // Type: string 1050 // RequirementLevel: Optional 1051 // Stability: stable 1052 // Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de' 1053 // Note: * **AWS Lambda:** Use the (full) log stream name. 1054 FaaSInstanceKey = attribute.Key("faas.instance") 1055 1056 // FaaSMaxMemoryKey is the attribute Key conforming to the 1057 // "faas.max_memory" semantic conventions. It represents the amount of 1058 // memory available to the serverless function converted to Bytes. 1059 // 1060 // Type: int 1061 // RequirementLevel: Optional 1062 // Stability: stable 1063 // Examples: 134217728 1064 // Note: It's recommended to set this attribute since e.g. too little 1065 // memory can easily stop a Java AWS Lambda function from working 1066 // correctly. On AWS Lambda, the environment variable 1067 // `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must 1068 // be multiplied by 1,048,576). 1069 FaaSMaxMemoryKey = attribute.Key("faas.max_memory") 1070 ) 1071 1072 // FaaSName returns an attribute KeyValue conforming to the "faas.name" 1073 // semantic conventions. It represents the name of the single function that 1074 // this runtime instance executes. 1075 func FaaSName(val string) attribute.KeyValue { 1076 return FaaSNameKey.String(val) 1077 } 1078 1079 // FaaSVersion returns an attribute KeyValue conforming to the 1080 // "faas.version" semantic conventions. It represents the immutable version of 1081 // the function being executed. 1082 func FaaSVersion(val string) attribute.KeyValue { 1083 return FaaSVersionKey.String(val) 1084 } 1085 1086 // FaaSInstance returns an attribute KeyValue conforming to the 1087 // "faas.instance" semantic conventions. It represents the execution 1088 // environment ID as a string, that will be potentially reused for other 1089 // invocations to the same function/function version. 1090 func FaaSInstance(val string) attribute.KeyValue { 1091 return FaaSInstanceKey.String(val) 1092 } 1093 1094 // FaaSMaxMemory returns an attribute KeyValue conforming to the 1095 // "faas.max_memory" semantic conventions. It represents the amount of memory 1096 // available to the serverless function converted to Bytes. 1097 func FaaSMaxMemory(val int) attribute.KeyValue { 1098 return FaaSMaxMemoryKey.Int(val) 1099 } 1100 1101 // A host is defined as a computing instance. For example, physical servers, 1102 // virtual machines, switches or disk array. 1103 const ( 1104 // HostIDKey is the attribute Key conforming to the "host.id" semantic 1105 // conventions. It represents the unique host ID. For Cloud, this must be 1106 // the instance_id assigned by the cloud provider. For non-containerized 1107 // systems, this should be the `machine-id`. See the table below for the 1108 // sources to use to determine the `machine-id` based on operating system. 1109 // 1110 // Type: string 1111 // RequirementLevel: Optional 1112 // Stability: stable 1113 // Examples: 'fdbf79e8af94cb7f9e8df36789187052' 1114 HostIDKey = attribute.Key("host.id") 1115 1116 // HostNameKey is the attribute Key conforming to the "host.name" semantic 1117 // conventions. It represents the name of the host. On Unix systems, it may 1118 // contain what the hostname command returns, or the fully qualified 1119 // hostname, or another name specified by the user. 1120 // 1121 // Type: string 1122 // RequirementLevel: Optional 1123 // Stability: stable 1124 // Examples: 'opentelemetry-test' 1125 HostNameKey = attribute.Key("host.name") 1126 1127 // HostTypeKey is the attribute Key conforming to the "host.type" semantic 1128 // conventions. It represents the type of host. For Cloud, this must be the 1129 // machine type. 1130 // 1131 // Type: string 1132 // RequirementLevel: Optional 1133 // Stability: stable 1134 // Examples: 'n1-standard-1' 1135 HostTypeKey = attribute.Key("host.type") 1136 1137 // HostArchKey is the attribute Key conforming to the "host.arch" semantic 1138 // conventions. It represents the CPU architecture the host system is 1139 // running on. 1140 // 1141 // Type: Enum 1142 // RequirementLevel: Optional 1143 // Stability: stable 1144 HostArchKey = attribute.Key("host.arch") 1145 1146 // HostImageNameKey is the attribute Key conforming to the 1147 // "host.image.name" semantic conventions. It represents the name of the VM 1148 // image or OS install the host was instantiated from. 1149 // 1150 // Type: string 1151 // RequirementLevel: Optional 1152 // Stability: stable 1153 // Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905' 1154 HostImageNameKey = attribute.Key("host.image.name") 1155 1156 // HostImageIDKey is the attribute Key conforming to the "host.image.id" 1157 // semantic conventions. It represents the vM image ID or host OS image ID. 1158 // For Cloud, this value is from the provider. 1159 // 1160 // Type: string 1161 // RequirementLevel: Optional 1162 // Stability: stable 1163 // Examples: 'ami-07b06b442921831e5' 1164 HostImageIDKey = attribute.Key("host.image.id") 1165 1166 // HostImageVersionKey is the attribute Key conforming to the 1167 // "host.image.version" semantic conventions. It represents the version 1168 // string of the VM image or host OS as defined in [Version 1169 // Attributes](README.md#version-attributes). 1170 // 1171 // Type: string 1172 // RequirementLevel: Optional 1173 // Stability: stable 1174 // Examples: '0.1' 1175 HostImageVersionKey = attribute.Key("host.image.version") 1176 ) 1177 1178 var ( 1179 // AMD64 1180 HostArchAMD64 = HostArchKey.String("amd64") 1181 // ARM32 1182 HostArchARM32 = HostArchKey.String("arm32") 1183 // ARM64 1184 HostArchARM64 = HostArchKey.String("arm64") 1185 // Itanium 1186 HostArchIA64 = HostArchKey.String("ia64") 1187 // 32-bit PowerPC 1188 HostArchPPC32 = HostArchKey.String("ppc32") 1189 // 64-bit PowerPC 1190 HostArchPPC64 = HostArchKey.String("ppc64") 1191 // IBM z/Architecture 1192 HostArchS390x = HostArchKey.String("s390x") 1193 // 32-bit x86 1194 HostArchX86 = HostArchKey.String("x86") 1195 ) 1196 1197 // HostID returns an attribute KeyValue conforming to the "host.id" semantic 1198 // conventions. It represents the unique host ID. For Cloud, this must be the 1199 // instance_id assigned by the cloud provider. For non-containerized systems, 1200 // this should be the `machine-id`. See the table below for the sources to use 1201 // to determine the `machine-id` based on operating system. 1202 func HostID(val string) attribute.KeyValue { 1203 return HostIDKey.String(val) 1204 } 1205 1206 // HostName returns an attribute KeyValue conforming to the "host.name" 1207 // semantic conventions. It represents the name of the host. On Unix systems, 1208 // it may contain what the hostname command returns, or the fully qualified 1209 // hostname, or another name specified by the user. 1210 func HostName(val string) attribute.KeyValue { 1211 return HostNameKey.String(val) 1212 } 1213 1214 // HostType returns an attribute KeyValue conforming to the "host.type" 1215 // semantic conventions. It represents the type of host. For Cloud, this must 1216 // be the machine type. 1217 func HostType(val string) attribute.KeyValue { 1218 return HostTypeKey.String(val) 1219 } 1220 1221 // HostImageName returns an attribute KeyValue conforming to the 1222 // "host.image.name" semantic conventions. It represents the name of the VM 1223 // image or OS install the host was instantiated from. 1224 func HostImageName(val string) attribute.KeyValue { 1225 return HostImageNameKey.String(val) 1226 } 1227 1228 // HostImageID returns an attribute KeyValue conforming to the 1229 // "host.image.id" semantic conventions. It represents the vM image ID or host 1230 // OS image ID. For Cloud, this value is from the provider. 1231 func HostImageID(val string) attribute.KeyValue { 1232 return HostImageIDKey.String(val) 1233 } 1234 1235 // HostImageVersion returns an attribute KeyValue conforming to the 1236 // "host.image.version" semantic conventions. It represents the version string 1237 // of the VM image or host OS as defined in [Version 1238 // Attributes](README.md#version-attributes). 1239 func HostImageVersion(val string) attribute.KeyValue { 1240 return HostImageVersionKey.String(val) 1241 } 1242 1243 // A Kubernetes Cluster. 1244 const ( 1245 // K8SClusterNameKey is the attribute Key conforming to the 1246 // "k8s.cluster.name" semantic conventions. It represents the name of the 1247 // cluster. 1248 // 1249 // Type: string 1250 // RequirementLevel: Optional 1251 // Stability: stable 1252 // Examples: 'opentelemetry-cluster' 1253 K8SClusterNameKey = attribute.Key("k8s.cluster.name") 1254 1255 // K8SClusterUIDKey is the attribute Key conforming to the 1256 // "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for 1257 // the cluster, set to the UID of the `kube-system` namespace. 1258 // 1259 // Type: string 1260 // RequirementLevel: Optional 1261 // Stability: stable 1262 // Examples: '218fc5a9-a5f1-4b54-aa05-46717d0ab26d' 1263 // Note: K8S does not have support for obtaining a cluster ID. If this is 1264 // ever 1265 // added, we will recommend collecting the `k8s.cluster.uid` through the 1266 // official APIs. In the meantime, we are able to use the `uid` of the 1267 // `kube-system` namespace as a proxy for cluster ID. Read on for the 1268 // rationale. 1269 // 1270 // Every object created in a K8S cluster is assigned a distinct UID. The 1271 // `kube-system` namespace is used by Kubernetes itself and will exist 1272 // for the lifetime of the cluster. Using the `uid` of the `kube-system` 1273 // namespace is a reasonable proxy for the K8S ClusterID as it will only 1274 // change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are 1275 // UUIDs as standardized by 1276 // [ISO/IEC 9834-8 and ITU-T 1277 // X.667](https://www.itu.int/ITU-T/studygroups/com17/oid.html). 1278 // Which states: 1279 // 1280 // > If generated according to one of the mechanisms defined in Rec. 1281 // ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be 1282 // different from all other UUIDs generated before 3603 A.D., or is 1283 // extremely likely to be different (depending on the mechanism chosen). 1284 // 1285 // Therefore, UIDs between clusters should be extremely unlikely to 1286 // conflict. 1287 K8SClusterUIDKey = attribute.Key("k8s.cluster.uid") 1288 ) 1289 1290 // K8SClusterName returns an attribute KeyValue conforming to the 1291 // "k8s.cluster.name" semantic conventions. It represents the name of the 1292 // cluster. 1293 func K8SClusterName(val string) attribute.KeyValue { 1294 return K8SClusterNameKey.String(val) 1295 } 1296 1297 // K8SClusterUID returns an attribute KeyValue conforming to the 1298 // "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for the 1299 // cluster, set to the UID of the `kube-system` namespace. 1300 func K8SClusterUID(val string) attribute.KeyValue { 1301 return K8SClusterUIDKey.String(val) 1302 } 1303 1304 // A Kubernetes Node object. 1305 const ( 1306 // K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name" 1307 // semantic conventions. It represents the name of the Node. 1308 // 1309 // Type: string 1310 // RequirementLevel: Optional 1311 // Stability: stable 1312 // Examples: 'node-1' 1313 K8SNodeNameKey = attribute.Key("k8s.node.name") 1314 1315 // K8SNodeUIDKey is the attribute Key conforming to the "k8s.node.uid" 1316 // semantic conventions. It represents the UID of the Node. 1317 // 1318 // Type: string 1319 // RequirementLevel: Optional 1320 // Stability: stable 1321 // Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2' 1322 K8SNodeUIDKey = attribute.Key("k8s.node.uid") 1323 ) 1324 1325 // K8SNodeName returns an attribute KeyValue conforming to the 1326 // "k8s.node.name" semantic conventions. It represents the name of the Node. 1327 func K8SNodeName(val string) attribute.KeyValue { 1328 return K8SNodeNameKey.String(val) 1329 } 1330 1331 // K8SNodeUID returns an attribute KeyValue conforming to the "k8s.node.uid" 1332 // semantic conventions. It represents the UID of the Node. 1333 func K8SNodeUID(val string) attribute.KeyValue { 1334 return K8SNodeUIDKey.String(val) 1335 } 1336 1337 // A Kubernetes Namespace. 1338 const ( 1339 // K8SNamespaceNameKey is the attribute Key conforming to the 1340 // "k8s.namespace.name" semantic conventions. It represents the name of the 1341 // namespace that the pod is running in. 1342 // 1343 // Type: string 1344 // RequirementLevel: Optional 1345 // Stability: stable 1346 // Examples: 'default' 1347 K8SNamespaceNameKey = attribute.Key("k8s.namespace.name") 1348 ) 1349 1350 // K8SNamespaceName returns an attribute KeyValue conforming to the 1351 // "k8s.namespace.name" semantic conventions. It represents the name of the 1352 // namespace that the pod is running in. 1353 func K8SNamespaceName(val string) attribute.KeyValue { 1354 return K8SNamespaceNameKey.String(val) 1355 } 1356 1357 // A Kubernetes Pod object. 1358 const ( 1359 // K8SPodUIDKey is the attribute Key conforming to the "k8s.pod.uid" 1360 // semantic conventions. It represents the UID of the Pod. 1361 // 1362 // Type: string 1363 // RequirementLevel: Optional 1364 // Stability: stable 1365 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1366 K8SPodUIDKey = attribute.Key("k8s.pod.uid") 1367 1368 // K8SPodNameKey is the attribute Key conforming to the "k8s.pod.name" 1369 // semantic conventions. It represents the name of the Pod. 1370 // 1371 // Type: string 1372 // RequirementLevel: Optional 1373 // Stability: stable 1374 // Examples: 'opentelemetry-pod-autoconf' 1375 K8SPodNameKey = attribute.Key("k8s.pod.name") 1376 ) 1377 1378 // K8SPodUID returns an attribute KeyValue conforming to the "k8s.pod.uid" 1379 // semantic conventions. It represents the UID of the Pod. 1380 func K8SPodUID(val string) attribute.KeyValue { 1381 return K8SPodUIDKey.String(val) 1382 } 1383 1384 // K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name" 1385 // semantic conventions. It represents the name of the Pod. 1386 func K8SPodName(val string) attribute.KeyValue { 1387 return K8SPodNameKey.String(val) 1388 } 1389 1390 // A container in a 1391 // [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). 1392 const ( 1393 // K8SContainerNameKey is the attribute Key conforming to the 1394 // "k8s.container.name" semantic conventions. It represents the name of the 1395 // Container from Pod specification, must be unique within a Pod. Container 1396 // runtime usually uses different globally unique name (`container.name`). 1397 // 1398 // Type: string 1399 // RequirementLevel: Optional 1400 // Stability: stable 1401 // Examples: 'redis' 1402 K8SContainerNameKey = attribute.Key("k8s.container.name") 1403 1404 // K8SContainerRestartCountKey is the attribute Key conforming to the 1405 // "k8s.container.restart_count" semantic conventions. It represents the 1406 // number of times the container was restarted. This attribute can be used 1407 // to identify a particular container (running or stopped) within a 1408 // container spec. 1409 // 1410 // Type: int 1411 // RequirementLevel: Optional 1412 // Stability: stable 1413 // Examples: 0, 2 1414 K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count") 1415 ) 1416 1417 // K8SContainerName returns an attribute KeyValue conforming to the 1418 // "k8s.container.name" semantic conventions. It represents the name of the 1419 // Container from Pod specification, must be unique within a Pod. Container 1420 // runtime usually uses different globally unique name (`container.name`). 1421 func K8SContainerName(val string) attribute.KeyValue { 1422 return K8SContainerNameKey.String(val) 1423 } 1424 1425 // K8SContainerRestartCount returns an attribute KeyValue conforming to the 1426 // "k8s.container.restart_count" semantic conventions. It represents the number 1427 // of times the container was restarted. This attribute can be used to identify 1428 // a particular container (running or stopped) within a container spec. 1429 func K8SContainerRestartCount(val int) attribute.KeyValue { 1430 return K8SContainerRestartCountKey.Int(val) 1431 } 1432 1433 // A Kubernetes ReplicaSet object. 1434 const ( 1435 // K8SReplicaSetUIDKey is the attribute Key conforming to the 1436 // "k8s.replicaset.uid" semantic conventions. It represents the UID of the 1437 // ReplicaSet. 1438 // 1439 // Type: string 1440 // RequirementLevel: Optional 1441 // Stability: stable 1442 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1443 K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid") 1444 1445 // K8SReplicaSetNameKey is the attribute Key conforming to the 1446 // "k8s.replicaset.name" semantic conventions. It represents the name of 1447 // the ReplicaSet. 1448 // 1449 // Type: string 1450 // RequirementLevel: Optional 1451 // Stability: stable 1452 // Examples: 'opentelemetry' 1453 K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name") 1454 ) 1455 1456 // K8SReplicaSetUID returns an attribute KeyValue conforming to the 1457 // "k8s.replicaset.uid" semantic conventions. It represents the UID of the 1458 // ReplicaSet. 1459 func K8SReplicaSetUID(val string) attribute.KeyValue { 1460 return K8SReplicaSetUIDKey.String(val) 1461 } 1462 1463 // K8SReplicaSetName returns an attribute KeyValue conforming to the 1464 // "k8s.replicaset.name" semantic conventions. It represents the name of the 1465 // ReplicaSet. 1466 func K8SReplicaSetName(val string) attribute.KeyValue { 1467 return K8SReplicaSetNameKey.String(val) 1468 } 1469 1470 // A Kubernetes Deployment object. 1471 const ( 1472 // K8SDeploymentUIDKey is the attribute Key conforming to the 1473 // "k8s.deployment.uid" semantic conventions. It represents the UID of the 1474 // Deployment. 1475 // 1476 // Type: string 1477 // RequirementLevel: Optional 1478 // Stability: stable 1479 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1480 K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") 1481 1482 // K8SDeploymentNameKey is the attribute Key conforming to the 1483 // "k8s.deployment.name" semantic conventions. It represents the name of 1484 // the Deployment. 1485 // 1486 // Type: string 1487 // RequirementLevel: Optional 1488 // Stability: stable 1489 // Examples: 'opentelemetry' 1490 K8SDeploymentNameKey = attribute.Key("k8s.deployment.name") 1491 ) 1492 1493 // K8SDeploymentUID returns an attribute KeyValue conforming to the 1494 // "k8s.deployment.uid" semantic conventions. It represents the UID of the 1495 // Deployment. 1496 func K8SDeploymentUID(val string) attribute.KeyValue { 1497 return K8SDeploymentUIDKey.String(val) 1498 } 1499 1500 // K8SDeploymentName returns an attribute KeyValue conforming to the 1501 // "k8s.deployment.name" semantic conventions. It represents the name of the 1502 // Deployment. 1503 func K8SDeploymentName(val string) attribute.KeyValue { 1504 return K8SDeploymentNameKey.String(val) 1505 } 1506 1507 // A Kubernetes StatefulSet object. 1508 const ( 1509 // K8SStatefulSetUIDKey is the attribute Key conforming to the 1510 // "k8s.statefulset.uid" semantic conventions. It represents the UID of the 1511 // StatefulSet. 1512 // 1513 // Type: string 1514 // RequirementLevel: Optional 1515 // Stability: stable 1516 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1517 K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") 1518 1519 // K8SStatefulSetNameKey is the attribute Key conforming to the 1520 // "k8s.statefulset.name" semantic conventions. It represents the name of 1521 // the StatefulSet. 1522 // 1523 // Type: string 1524 // RequirementLevel: Optional 1525 // Stability: stable 1526 // Examples: 'opentelemetry' 1527 K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name") 1528 ) 1529 1530 // K8SStatefulSetUID returns an attribute KeyValue conforming to the 1531 // "k8s.statefulset.uid" semantic conventions. It represents the UID of the 1532 // StatefulSet. 1533 func K8SStatefulSetUID(val string) attribute.KeyValue { 1534 return K8SStatefulSetUIDKey.String(val) 1535 } 1536 1537 // K8SStatefulSetName returns an attribute KeyValue conforming to the 1538 // "k8s.statefulset.name" semantic conventions. It represents the name of the 1539 // StatefulSet. 1540 func K8SStatefulSetName(val string) attribute.KeyValue { 1541 return K8SStatefulSetNameKey.String(val) 1542 } 1543 1544 // A Kubernetes DaemonSet object. 1545 const ( 1546 // K8SDaemonSetUIDKey is the attribute Key conforming to the 1547 // "k8s.daemonset.uid" semantic conventions. It represents the UID of the 1548 // DaemonSet. 1549 // 1550 // Type: string 1551 // RequirementLevel: Optional 1552 // Stability: stable 1553 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1554 K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid") 1555 1556 // K8SDaemonSetNameKey is the attribute Key conforming to the 1557 // "k8s.daemonset.name" semantic conventions. It represents the name of the 1558 // DaemonSet. 1559 // 1560 // Type: string 1561 // RequirementLevel: Optional 1562 // Stability: stable 1563 // Examples: 'opentelemetry' 1564 K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name") 1565 ) 1566 1567 // K8SDaemonSetUID returns an attribute KeyValue conforming to the 1568 // "k8s.daemonset.uid" semantic conventions. It represents the UID of the 1569 // DaemonSet. 1570 func K8SDaemonSetUID(val string) attribute.KeyValue { 1571 return K8SDaemonSetUIDKey.String(val) 1572 } 1573 1574 // K8SDaemonSetName returns an attribute KeyValue conforming to the 1575 // "k8s.daemonset.name" semantic conventions. It represents the name of the 1576 // DaemonSet. 1577 func K8SDaemonSetName(val string) attribute.KeyValue { 1578 return K8SDaemonSetNameKey.String(val) 1579 } 1580 1581 // A Kubernetes Job object. 1582 const ( 1583 // K8SJobUIDKey is the attribute Key conforming to the "k8s.job.uid" 1584 // semantic conventions. It represents the UID of the Job. 1585 // 1586 // Type: string 1587 // RequirementLevel: Optional 1588 // Stability: stable 1589 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1590 K8SJobUIDKey = attribute.Key("k8s.job.uid") 1591 1592 // K8SJobNameKey is the attribute Key conforming to the "k8s.job.name" 1593 // semantic conventions. It represents the name of the Job. 1594 // 1595 // Type: string 1596 // RequirementLevel: Optional 1597 // Stability: stable 1598 // Examples: 'opentelemetry' 1599 K8SJobNameKey = attribute.Key("k8s.job.name") 1600 ) 1601 1602 // K8SJobUID returns an attribute KeyValue conforming to the "k8s.job.uid" 1603 // semantic conventions. It represents the UID of the Job. 1604 func K8SJobUID(val string) attribute.KeyValue { 1605 return K8SJobUIDKey.String(val) 1606 } 1607 1608 // K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name" 1609 // semantic conventions. It represents the name of the Job. 1610 func K8SJobName(val string) attribute.KeyValue { 1611 return K8SJobNameKey.String(val) 1612 } 1613 1614 // A Kubernetes CronJob object. 1615 const ( 1616 // K8SCronJobUIDKey is the attribute Key conforming to the 1617 // "k8s.cronjob.uid" semantic conventions. It represents the UID of the 1618 // CronJob. 1619 // 1620 // Type: string 1621 // RequirementLevel: Optional 1622 // Stability: stable 1623 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1624 K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid") 1625 1626 // K8SCronJobNameKey is the attribute Key conforming to the 1627 // "k8s.cronjob.name" semantic conventions. It represents the name of the 1628 // CronJob. 1629 // 1630 // Type: string 1631 // RequirementLevel: Optional 1632 // Stability: stable 1633 // Examples: 'opentelemetry' 1634 K8SCronJobNameKey = attribute.Key("k8s.cronjob.name") 1635 ) 1636 1637 // K8SCronJobUID returns an attribute KeyValue conforming to the 1638 // "k8s.cronjob.uid" semantic conventions. It represents the UID of the 1639 // CronJob. 1640 func K8SCronJobUID(val string) attribute.KeyValue { 1641 return K8SCronJobUIDKey.String(val) 1642 } 1643 1644 // K8SCronJobName returns an attribute KeyValue conforming to the 1645 // "k8s.cronjob.name" semantic conventions. It represents the name of the 1646 // CronJob. 1647 func K8SCronJobName(val string) attribute.KeyValue { 1648 return K8SCronJobNameKey.String(val) 1649 } 1650 1651 // The operating system (OS) on which the process represented by this resource 1652 // is running. 1653 const ( 1654 // OSTypeKey is the attribute Key conforming to the "os.type" semantic 1655 // conventions. It represents the operating system type. 1656 // 1657 // Type: Enum 1658 // RequirementLevel: Required 1659 // Stability: stable 1660 OSTypeKey = attribute.Key("os.type") 1661 1662 // OSDescriptionKey is the attribute Key conforming to the "os.description" 1663 // semantic conventions. It represents the human readable (not intended to 1664 // be parsed) OS version information, like e.g. reported by `ver` or 1665 // `lsb_release -a` commands. 1666 // 1667 // Type: string 1668 // RequirementLevel: Optional 1669 // Stability: stable 1670 // Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 1671 // LTS' 1672 OSDescriptionKey = attribute.Key("os.description") 1673 1674 // OSNameKey is the attribute Key conforming to the "os.name" semantic 1675 // conventions. It represents the human readable operating system name. 1676 // 1677 // Type: string 1678 // RequirementLevel: Optional 1679 // Stability: stable 1680 // Examples: 'iOS', 'Android', 'Ubuntu' 1681 OSNameKey = attribute.Key("os.name") 1682 1683 // OSVersionKey is the attribute Key conforming to the "os.version" 1684 // semantic conventions. It represents the version string of the operating 1685 // system as defined in [Version 1686 // Attributes](/docs/resource/README.md#version-attributes). 1687 // 1688 // Type: string 1689 // RequirementLevel: Optional 1690 // Stability: stable 1691 // Examples: '14.2.1', '18.04.1' 1692 OSVersionKey = attribute.Key("os.version") 1693 ) 1694 1695 var ( 1696 // Microsoft Windows 1697 OSTypeWindows = OSTypeKey.String("windows") 1698 // Linux 1699 OSTypeLinux = OSTypeKey.String("linux") 1700 // Apple Darwin 1701 OSTypeDarwin = OSTypeKey.String("darwin") 1702 // FreeBSD 1703 OSTypeFreeBSD = OSTypeKey.String("freebsd") 1704 // NetBSD 1705 OSTypeNetBSD = OSTypeKey.String("netbsd") 1706 // OpenBSD 1707 OSTypeOpenBSD = OSTypeKey.String("openbsd") 1708 // DragonFly BSD 1709 OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd") 1710 // HP-UX (Hewlett Packard Unix) 1711 OSTypeHPUX = OSTypeKey.String("hpux") 1712 // AIX (Advanced Interactive eXecutive) 1713 OSTypeAIX = OSTypeKey.String("aix") 1714 // SunOS, Oracle Solaris 1715 OSTypeSolaris = OSTypeKey.String("solaris") 1716 // IBM z/OS 1717 OSTypeZOS = OSTypeKey.String("z_os") 1718 ) 1719 1720 // OSDescription returns an attribute KeyValue conforming to the 1721 // "os.description" semantic conventions. It represents the human readable (not 1722 // intended to be parsed) OS version information, like e.g. reported by `ver` 1723 // or `lsb_release -a` commands. 1724 func OSDescription(val string) attribute.KeyValue { 1725 return OSDescriptionKey.String(val) 1726 } 1727 1728 // OSName returns an attribute KeyValue conforming to the "os.name" semantic 1729 // conventions. It represents the human readable operating system name. 1730 func OSName(val string) attribute.KeyValue { 1731 return OSNameKey.String(val) 1732 } 1733 1734 // OSVersion returns an attribute KeyValue conforming to the "os.version" 1735 // semantic conventions. It represents the version string of the operating 1736 // system as defined in [Version 1737 // Attributes](/docs/resource/README.md#version-attributes). 1738 func OSVersion(val string) attribute.KeyValue { 1739 return OSVersionKey.String(val) 1740 } 1741 1742 // An operating system process. 1743 const ( 1744 // ProcessPIDKey is the attribute Key conforming to the "process.pid" 1745 // semantic conventions. It represents the process identifier (PID). 1746 // 1747 // Type: int 1748 // RequirementLevel: Optional 1749 // Stability: stable 1750 // Examples: 1234 1751 ProcessPIDKey = attribute.Key("process.pid") 1752 1753 // ProcessParentPIDKey is the attribute Key conforming to the 1754 // "process.parent_pid" semantic conventions. It represents the parent 1755 // Process identifier (PID). 1756 // 1757 // Type: int 1758 // RequirementLevel: Optional 1759 // Stability: stable 1760 // Examples: 111 1761 ProcessParentPIDKey = attribute.Key("process.parent_pid") 1762 1763 // ProcessExecutableNameKey is the attribute Key conforming to the 1764 // "process.executable.name" semantic conventions. It represents the name 1765 // of the process executable. On Linux based systems, can be set to the 1766 // `Name` in `proc/[pid]/status`. On Windows, can be set to the base name 1767 // of `GetProcessImageFileNameW`. 1768 // 1769 // Type: string 1770 // RequirementLevel: ConditionallyRequired (See alternative attributes 1771 // below.) 1772 // Stability: stable 1773 // Examples: 'otelcol' 1774 ProcessExecutableNameKey = attribute.Key("process.executable.name") 1775 1776 // ProcessExecutablePathKey is the attribute Key conforming to the 1777 // "process.executable.path" semantic conventions. It represents the full 1778 // path to the process executable. On Linux based systems, can be set to 1779 // the target of `proc/[pid]/exe`. On Windows, can be set to the result of 1780 // `GetProcessImageFileNameW`. 1781 // 1782 // Type: string 1783 // RequirementLevel: ConditionallyRequired (See alternative attributes 1784 // below.) 1785 // Stability: stable 1786 // Examples: '/usr/bin/cmd/otelcol' 1787 ProcessExecutablePathKey = attribute.Key("process.executable.path") 1788 1789 // ProcessCommandKey is the attribute Key conforming to the 1790 // "process.command" semantic conventions. It represents the command used 1791 // to launch the process (i.e. the command name). On Linux based systems, 1792 // can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can 1793 // be set to the first parameter extracted from `GetCommandLineW`. 1794 // 1795 // Type: string 1796 // RequirementLevel: ConditionallyRequired (See alternative attributes 1797 // below.) 1798 // Stability: stable 1799 // Examples: 'cmd/otelcol' 1800 ProcessCommandKey = attribute.Key("process.command") 1801 1802 // ProcessCommandLineKey is the attribute Key conforming to the 1803 // "process.command_line" semantic conventions. It represents the full 1804 // command used to launch the process as a single string representing the 1805 // full command. On Windows, can be set to the result of `GetCommandLineW`. 1806 // Do not set this if you have to assemble it just for monitoring; use 1807 // `process.command_args` instead. 1808 // 1809 // Type: string 1810 // RequirementLevel: ConditionallyRequired (See alternative attributes 1811 // below.) 1812 // Stability: stable 1813 // Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"' 1814 ProcessCommandLineKey = attribute.Key("process.command_line") 1815 1816 // ProcessCommandArgsKey is the attribute Key conforming to the 1817 // "process.command_args" semantic conventions. It represents the all the 1818 // command arguments (including the command/executable itself) as received 1819 // by the process. On Linux-based systems (and some other Unixoid systems 1820 // supporting procfs), can be set according to the list of null-delimited 1821 // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, 1822 // this would be the full argv vector passed to `main`. 1823 // 1824 // Type: string[] 1825 // RequirementLevel: ConditionallyRequired (See alternative attributes 1826 // below.) 1827 // Stability: stable 1828 // Examples: 'cmd/otecol', '--config=config.yaml' 1829 ProcessCommandArgsKey = attribute.Key("process.command_args") 1830 1831 // ProcessOwnerKey is the attribute Key conforming to the "process.owner" 1832 // semantic conventions. It represents the username of the user that owns 1833 // the process. 1834 // 1835 // Type: string 1836 // RequirementLevel: Optional 1837 // Stability: stable 1838 // Examples: 'root' 1839 ProcessOwnerKey = attribute.Key("process.owner") 1840 ) 1841 1842 // ProcessPID returns an attribute KeyValue conforming to the "process.pid" 1843 // semantic conventions. It represents the process identifier (PID). 1844 func ProcessPID(val int) attribute.KeyValue { 1845 return ProcessPIDKey.Int(val) 1846 } 1847 1848 // ProcessParentPID returns an attribute KeyValue conforming to the 1849 // "process.parent_pid" semantic conventions. It represents the parent Process 1850 // identifier (PID). 1851 func ProcessParentPID(val int) attribute.KeyValue { 1852 return ProcessParentPIDKey.Int(val) 1853 } 1854 1855 // ProcessExecutableName returns an attribute KeyValue conforming to the 1856 // "process.executable.name" semantic conventions. It represents the name of 1857 // the process executable. On Linux based systems, can be set to the `Name` in 1858 // `proc/[pid]/status`. On Windows, can be set to the base name of 1859 // `GetProcessImageFileNameW`. 1860 func ProcessExecutableName(val string) attribute.KeyValue { 1861 return ProcessExecutableNameKey.String(val) 1862 } 1863 1864 // ProcessExecutablePath returns an attribute KeyValue conforming to the 1865 // "process.executable.path" semantic conventions. It represents the full path 1866 // to the process executable. On Linux based systems, can be set to the target 1867 // of `proc/[pid]/exe`. On Windows, can be set to the result of 1868 // `GetProcessImageFileNameW`. 1869 func ProcessExecutablePath(val string) attribute.KeyValue { 1870 return ProcessExecutablePathKey.String(val) 1871 } 1872 1873 // ProcessCommand returns an attribute KeyValue conforming to the 1874 // "process.command" semantic conventions. It represents the command used to 1875 // launch the process (i.e. the command name). On Linux based systems, can be 1876 // set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to 1877 // the first parameter extracted from `GetCommandLineW`. 1878 func ProcessCommand(val string) attribute.KeyValue { 1879 return ProcessCommandKey.String(val) 1880 } 1881 1882 // ProcessCommandLine returns an attribute KeyValue conforming to the 1883 // "process.command_line" semantic conventions. It represents the full command 1884 // used to launch the process as a single string representing the full command. 1885 // On Windows, can be set to the result of `GetCommandLineW`. Do not set this 1886 // if you have to assemble it just for monitoring; use `process.command_args` 1887 // instead. 1888 func ProcessCommandLine(val string) attribute.KeyValue { 1889 return ProcessCommandLineKey.String(val) 1890 } 1891 1892 // ProcessCommandArgs returns an attribute KeyValue conforming to the 1893 // "process.command_args" semantic conventions. It represents the all the 1894 // command arguments (including the command/executable itself) as received by 1895 // the process. On Linux-based systems (and some other Unixoid systems 1896 // supporting procfs), can be set according to the list of null-delimited 1897 // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, 1898 // this would be the full argv vector passed to `main`. 1899 func ProcessCommandArgs(val ...string) attribute.KeyValue { 1900 return ProcessCommandArgsKey.StringSlice(val) 1901 } 1902 1903 // ProcessOwner returns an attribute KeyValue conforming to the 1904 // "process.owner" semantic conventions. It represents the username of the user 1905 // that owns the process. 1906 func ProcessOwner(val string) attribute.KeyValue { 1907 return ProcessOwnerKey.String(val) 1908 } 1909 1910 // The single (language) runtime instance which is monitored. 1911 const ( 1912 // ProcessRuntimeNameKey is the attribute Key conforming to the 1913 // "process.runtime.name" semantic conventions. It represents the name of 1914 // the runtime of this process. For compiled native binaries, this SHOULD 1915 // be the name of the compiler. 1916 // 1917 // Type: string 1918 // RequirementLevel: Optional 1919 // Stability: stable 1920 // Examples: 'OpenJDK Runtime Environment' 1921 ProcessRuntimeNameKey = attribute.Key("process.runtime.name") 1922 1923 // ProcessRuntimeVersionKey is the attribute Key conforming to the 1924 // "process.runtime.version" semantic conventions. It represents the 1925 // version of the runtime of this process, as returned by the runtime 1926 // without modification. 1927 // 1928 // Type: string 1929 // RequirementLevel: Optional 1930 // Stability: stable 1931 // Examples: '14.0.2' 1932 ProcessRuntimeVersionKey = attribute.Key("process.runtime.version") 1933 1934 // ProcessRuntimeDescriptionKey is the attribute Key conforming to the 1935 // "process.runtime.description" semantic conventions. It represents an 1936 // additional description about the runtime of the process, for example a 1937 // specific vendor customization of the runtime environment. 1938 // 1939 // Type: string 1940 // RequirementLevel: Optional 1941 // Stability: stable 1942 // Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0' 1943 ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description") 1944 ) 1945 1946 // ProcessRuntimeName returns an attribute KeyValue conforming to the 1947 // "process.runtime.name" semantic conventions. It represents the name of the 1948 // runtime of this process. For compiled native binaries, this SHOULD be the 1949 // name of the compiler. 1950 func ProcessRuntimeName(val string) attribute.KeyValue { 1951 return ProcessRuntimeNameKey.String(val) 1952 } 1953 1954 // ProcessRuntimeVersion returns an attribute KeyValue conforming to the 1955 // "process.runtime.version" semantic conventions. It represents the version of 1956 // the runtime of this process, as returned by the runtime without 1957 // modification. 1958 func ProcessRuntimeVersion(val string) attribute.KeyValue { 1959 return ProcessRuntimeVersionKey.String(val) 1960 } 1961 1962 // ProcessRuntimeDescription returns an attribute KeyValue conforming to the 1963 // "process.runtime.description" semantic conventions. It represents an 1964 // additional description about the runtime of the process, for example a 1965 // specific vendor customization of the runtime environment. 1966 func ProcessRuntimeDescription(val string) attribute.KeyValue { 1967 return ProcessRuntimeDescriptionKey.String(val) 1968 } 1969 1970 // A service instance. 1971 const ( 1972 // ServiceNameKey is the attribute Key conforming to the "service.name" 1973 // semantic conventions. It represents the logical name of the service. 1974 // 1975 // Type: string 1976 // RequirementLevel: Required 1977 // Stability: stable 1978 // Examples: 'shoppingcart' 1979 // Note: MUST be the same for all instances of horizontally scaled 1980 // services. If the value was not specified, SDKs MUST fallback to 1981 // `unknown_service:` concatenated with 1982 // [`process.executable.name`](process.md#process), e.g. 1983 // `unknown_service:bash`. If `process.executable.name` is not available, 1984 // the value MUST be set to `unknown_service`. 1985 ServiceNameKey = attribute.Key("service.name") 1986 1987 // ServiceVersionKey is the attribute Key conforming to the 1988 // "service.version" semantic conventions. It represents the version string 1989 // of the service API or implementation. The format is not defined by these 1990 // conventions. 1991 // 1992 // Type: string 1993 // RequirementLevel: Optional 1994 // Stability: stable 1995 // Examples: '2.0.0', 'a01dbef8a' 1996 ServiceVersionKey = attribute.Key("service.version") 1997 ) 1998 1999 // ServiceName returns an attribute KeyValue conforming to the 2000 // "service.name" semantic conventions. It represents the logical name of the 2001 // service. 2002 func ServiceName(val string) attribute.KeyValue { 2003 return ServiceNameKey.String(val) 2004 } 2005 2006 // ServiceVersion returns an attribute KeyValue conforming to the 2007 // "service.version" semantic conventions. It represents the version string of 2008 // the service API or implementation. The format is not defined by these 2009 // conventions. 2010 func ServiceVersion(val string) attribute.KeyValue { 2011 return ServiceVersionKey.String(val) 2012 } 2013 2014 // A service instance. 2015 const ( 2016 // ServiceNamespaceKey is the attribute Key conforming to the 2017 // "service.namespace" semantic conventions. It represents a namespace for 2018 // `service.name`. 2019 // 2020 // Type: string 2021 // RequirementLevel: Optional 2022 // Stability: stable 2023 // Examples: 'Shop' 2024 // Note: A string value having a meaning that helps to distinguish a group 2025 // of services, for example the team name that owns a group of services. 2026 // `service.name` is expected to be unique within the same namespace. If 2027 // `service.namespace` is not specified in the Resource then `service.name` 2028 // is expected to be unique for all services that have no explicit 2029 // namespace defined (so the empty/unspecified namespace is simply one more 2030 // valid namespace). Zero-length namespace string is assumed equal to 2031 // unspecified namespace. 2032 ServiceNamespaceKey = attribute.Key("service.namespace") 2033 2034 // ServiceInstanceIDKey is the attribute Key conforming to the 2035 // "service.instance.id" semantic conventions. It represents the string ID 2036 // of the service instance. 2037 // 2038 // Type: string 2039 // RequirementLevel: Optional 2040 // Stability: stable 2041 // Examples: 'my-k8s-pod-deployment-1', 2042 // '627cc493-f310-47de-96bd-71410b7dec09' 2043 // Note: MUST be unique for each instance of the same 2044 // `service.namespace,service.name` pair (in other words 2045 // `service.namespace,service.name,service.instance.id` triplet MUST be 2046 // globally unique). The ID helps to distinguish instances of the same 2047 // service that exist at the same time (e.g. instances of a horizontally 2048 // scaled service). It is preferable for the ID to be persistent and stay 2049 // the same for the lifetime of the service instance, however it is 2050 // acceptable that the ID is ephemeral and changes during important 2051 // lifetime events for the service (e.g. service restarts). If the service 2052 // has no inherent unique ID that can be used as the value of this 2053 // attribute it is recommended to generate a random Version 1 or Version 4 2054 // RFC 4122 UUID (services aiming for reproducible UUIDs may also use 2055 // Version 5, see RFC 4122 for more recommendations). 2056 ServiceInstanceIDKey = attribute.Key("service.instance.id") 2057 ) 2058 2059 // ServiceNamespace returns an attribute KeyValue conforming to the 2060 // "service.namespace" semantic conventions. It represents a namespace for 2061 // `service.name`. 2062 func ServiceNamespace(val string) attribute.KeyValue { 2063 return ServiceNamespaceKey.String(val) 2064 } 2065 2066 // ServiceInstanceID returns an attribute KeyValue conforming to the 2067 // "service.instance.id" semantic conventions. It represents the string ID of 2068 // the service instance. 2069 func ServiceInstanceID(val string) attribute.KeyValue { 2070 return ServiceInstanceIDKey.String(val) 2071 } 2072 2073 // The telemetry SDK used to capture data recorded by the instrumentation 2074 // libraries. 2075 const ( 2076 // TelemetrySDKNameKey is the attribute Key conforming to the 2077 // "telemetry.sdk.name" semantic conventions. It represents the name of the 2078 // telemetry SDK as defined above. 2079 // 2080 // Type: string 2081 // RequirementLevel: Required 2082 // Stability: stable 2083 // Examples: 'opentelemetry' 2084 // Note: The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute 2085 // to `opentelemetry`. 2086 // If another SDK, like a fork or a vendor-provided implementation, is 2087 // used, this SDK MUST set the 2088 // `telemetry.sdk.name` attribute to the fully-qualified class or module 2089 // name of this SDK's main entry point 2090 // or another suitable identifier depending on the language. 2091 // The identifier `opentelemetry` is reserved and MUST NOT be used in this 2092 // case. 2093 // All custom identifiers SHOULD be stable across different versions of an 2094 // implementation. 2095 TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name") 2096 2097 // TelemetrySDKLanguageKey is the attribute Key conforming to the 2098 // "telemetry.sdk.language" semantic conventions. It represents the 2099 // language of the telemetry SDK. 2100 // 2101 // Type: Enum 2102 // RequirementLevel: Required 2103 // Stability: stable 2104 TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language") 2105 2106 // TelemetrySDKVersionKey is the attribute Key conforming to the 2107 // "telemetry.sdk.version" semantic conventions. It represents the version 2108 // string of the telemetry SDK. 2109 // 2110 // Type: string 2111 // RequirementLevel: Required 2112 // Stability: stable 2113 // Examples: '1.2.3' 2114 TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version") 2115 ) 2116 2117 var ( 2118 // cpp 2119 TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp") 2120 // dotnet 2121 TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet") 2122 // erlang 2123 TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang") 2124 // go 2125 TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go") 2126 // java 2127 TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java") 2128 // nodejs 2129 TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs") 2130 // php 2131 TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php") 2132 // python 2133 TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python") 2134 // ruby 2135 TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby") 2136 // rust 2137 TelemetrySDKLanguageRust = TelemetrySDKLanguageKey.String("rust") 2138 // swift 2139 TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift") 2140 // webjs 2141 TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs") 2142 ) 2143 2144 // TelemetrySDKName returns an attribute KeyValue conforming to the 2145 // "telemetry.sdk.name" semantic conventions. It represents the name of the 2146 // telemetry SDK as defined above. 2147 func TelemetrySDKName(val string) attribute.KeyValue { 2148 return TelemetrySDKNameKey.String(val) 2149 } 2150 2151 // TelemetrySDKVersion returns an attribute KeyValue conforming to the 2152 // "telemetry.sdk.version" semantic conventions. It represents the version 2153 // string of the telemetry SDK. 2154 func TelemetrySDKVersion(val string) attribute.KeyValue { 2155 return TelemetrySDKVersionKey.String(val) 2156 } 2157 2158 // The telemetry SDK used to capture data recorded by the instrumentation 2159 // libraries. 2160 const ( 2161 // TelemetryAutoVersionKey is the attribute Key conforming to the 2162 // "telemetry.auto.version" semantic conventions. It represents the version 2163 // string of the auto instrumentation agent, if used. 2164 // 2165 // Type: string 2166 // RequirementLevel: Optional 2167 // Stability: stable 2168 // Examples: '1.2.3' 2169 TelemetryAutoVersionKey = attribute.Key("telemetry.auto.version") 2170 ) 2171 2172 // TelemetryAutoVersion returns an attribute KeyValue conforming to the 2173 // "telemetry.auto.version" semantic conventions. It represents the version 2174 // string of the auto instrumentation agent, if used. 2175 func TelemetryAutoVersion(val string) attribute.KeyValue { 2176 return TelemetryAutoVersionKey.String(val) 2177 } 2178 2179 // Resource describing the packaged software running the application code. Web 2180 // engines are typically executed using process.runtime. 2181 const ( 2182 // WebEngineNameKey is the attribute Key conforming to the "webengine.name" 2183 // semantic conventions. It represents the name of the web engine. 2184 // 2185 // Type: string 2186 // RequirementLevel: Required 2187 // Stability: stable 2188 // Examples: 'WildFly' 2189 WebEngineNameKey = attribute.Key("webengine.name") 2190 2191 // WebEngineVersionKey is the attribute Key conforming to the 2192 // "webengine.version" semantic conventions. It represents the version of 2193 // the web engine. 2194 // 2195 // Type: string 2196 // RequirementLevel: Optional 2197 // Stability: stable 2198 // Examples: '21.0.0' 2199 WebEngineVersionKey = attribute.Key("webengine.version") 2200 2201 // WebEngineDescriptionKey is the attribute Key conforming to the 2202 // "webengine.description" semantic conventions. It represents the 2203 // additional description of the web engine (e.g. detailed version and 2204 // edition information). 2205 // 2206 // Type: string 2207 // RequirementLevel: Optional 2208 // Stability: stable 2209 // Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2210 // 2.2.2.Final' 2211 WebEngineDescriptionKey = attribute.Key("webengine.description") 2212 ) 2213 2214 // WebEngineName returns an attribute KeyValue conforming to the 2215 // "webengine.name" semantic conventions. It represents the name of the web 2216 // engine. 2217 func WebEngineName(val string) attribute.KeyValue { 2218 return WebEngineNameKey.String(val) 2219 } 2220 2221 // WebEngineVersion returns an attribute KeyValue conforming to the 2222 // "webengine.version" semantic conventions. It represents the version of the 2223 // web engine. 2224 func WebEngineVersion(val string) attribute.KeyValue { 2225 return WebEngineVersionKey.String(val) 2226 } 2227 2228 // WebEngineDescription returns an attribute KeyValue conforming to the 2229 // "webengine.description" semantic conventions. It represents the additional 2230 // description of the web engine (e.g. detailed version and edition 2231 // information). 2232 func WebEngineDescription(val string) attribute.KeyValue { 2233 return WebEngineDescriptionKey.String(val) 2234 } 2235 2236 // Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's 2237 // concepts. 2238 const ( 2239 // OTelScopeNameKey is the attribute Key conforming to the 2240 // "otel.scope.name" semantic conventions. It represents the name of the 2241 // instrumentation scope - (`InstrumentationScope.Name` in OTLP). 2242 // 2243 // Type: string 2244 // RequirementLevel: Optional 2245 // Stability: stable 2246 // Examples: 'io.opentelemetry.contrib.mongodb' 2247 OTelScopeNameKey = attribute.Key("otel.scope.name") 2248 2249 // OTelScopeVersionKey is the attribute Key conforming to the 2250 // "otel.scope.version" semantic conventions. It represents the version of 2251 // the instrumentation scope - (`InstrumentationScope.Version` in OTLP). 2252 // 2253 // Type: string 2254 // RequirementLevel: Optional 2255 // Stability: stable 2256 // Examples: '1.0.0' 2257 OTelScopeVersionKey = attribute.Key("otel.scope.version") 2258 ) 2259 2260 // OTelScopeName returns an attribute KeyValue conforming to the 2261 // "otel.scope.name" semantic conventions. It represents the name of the 2262 // instrumentation scope - (`InstrumentationScope.Name` in OTLP). 2263 func OTelScopeName(val string) attribute.KeyValue { 2264 return OTelScopeNameKey.String(val) 2265 } 2266 2267 // OTelScopeVersion returns an attribute KeyValue conforming to the 2268 // "otel.scope.version" semantic conventions. It represents the version of the 2269 // instrumentation scope - (`InstrumentationScope.Version` in OTLP). 2270 func OTelScopeVersion(val string) attribute.KeyValue { 2271 return OTelScopeVersionKey.String(val) 2272 } 2273 2274 // Span attributes used by non-OTLP exporters to represent OpenTelemetry 2275 // Scope's concepts. 2276 const ( 2277 // OTelLibraryNameKey is the attribute Key conforming to the 2278 // "otel.library.name" semantic conventions. It represents the deprecated, 2279 // use the `otel.scope.name` attribute. 2280 // 2281 // Type: string 2282 // RequirementLevel: Optional 2283 // Stability: deprecated 2284 // Examples: 'io.opentelemetry.contrib.mongodb' 2285 OTelLibraryNameKey = attribute.Key("otel.library.name") 2286 2287 // OTelLibraryVersionKey is the attribute Key conforming to the 2288 // "otel.library.version" semantic conventions. It represents the 2289 // deprecated, use the `otel.scope.version` attribute. 2290 // 2291 // Type: string 2292 // RequirementLevel: Optional 2293 // Stability: deprecated 2294 // Examples: '1.0.0' 2295 OTelLibraryVersionKey = attribute.Key("otel.library.version") 2296 ) 2297 2298 // OTelLibraryName returns an attribute KeyValue conforming to the 2299 // "otel.library.name" semantic conventions. It represents the deprecated, use 2300 // the `otel.scope.name` attribute. 2301 func OTelLibraryName(val string) attribute.KeyValue { 2302 return OTelLibraryNameKey.String(val) 2303 } 2304 2305 // OTelLibraryVersion returns an attribute KeyValue conforming to the 2306 // "otel.library.version" semantic conventions. It represents the deprecated, 2307 // use the `otel.scope.version` attribute. 2308 func OTelLibraryVersion(val string) attribute.KeyValue { 2309 return OTelLibraryVersionKey.String(val) 2310 } 2311