resource.go (80795B)
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.20.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 Cloud Compute Engine (GCE) 277 CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine") 278 // Google Cloud Run 279 CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run") 280 // Google Cloud Kubernetes Engine (GKE) 281 CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine") 282 // Google Cloud Functions (GCF) 283 CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions") 284 // Google Cloud App Engine (GAE) 285 CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine") 286 // Red Hat OpenShift on Google Cloud 287 CloudPlatformGCPOpenshift = CloudPlatformKey.String("gcp_openshift") 288 // Red Hat OpenShift on IBM Cloud 289 CloudPlatformIbmCloudOpenshift = CloudPlatformKey.String("ibm_cloud_openshift") 290 // Tencent Cloud Cloud Virtual Machine (CVM) 291 CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm") 292 // Tencent Cloud Elastic Kubernetes Service (EKS) 293 CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks") 294 // Tencent Cloud Serverless Cloud Function (SCF) 295 CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf") 296 ) 297 298 // CloudAccountID returns an attribute KeyValue conforming to the 299 // "cloud.account.id" semantic conventions. It represents the cloud account ID 300 // the resource is assigned to. 301 func CloudAccountID(val string) attribute.KeyValue { 302 return CloudAccountIDKey.String(val) 303 } 304 305 // CloudRegion returns an attribute KeyValue conforming to the 306 // "cloud.region" semantic conventions. It represents the geographical region 307 // the resource is running. 308 func CloudRegion(val string) attribute.KeyValue { 309 return CloudRegionKey.String(val) 310 } 311 312 // CloudResourceID returns an attribute KeyValue conforming to the 313 // "cloud.resource_id" semantic conventions. It represents the cloud 314 // provider-specific native identifier of the monitored cloud resource (e.g. an 315 // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 316 // on AWS, a [fully qualified resource 317 // ID](https://learn.microsoft.com/en-us/rest/api/resources/resources/get-by-id) 318 // on Azure, a [full resource 319 // name](https://cloud.google.com/apis/design/resource_names#full_resource_name) 320 // on GCP) 321 func CloudResourceID(val string) attribute.KeyValue { 322 return CloudResourceIDKey.String(val) 323 } 324 325 // CloudAvailabilityZone returns an attribute KeyValue conforming to the 326 // "cloud.availability_zone" semantic conventions. It represents the cloud 327 // regions often have multiple, isolated locations known as zones to increase 328 // availability. Availability zone represents the zone where the resource is 329 // running. 330 func CloudAvailabilityZone(val string) attribute.KeyValue { 331 return CloudAvailabilityZoneKey.String(val) 332 } 333 334 // Resources used by AWS Elastic Container Service (ECS). 335 const ( 336 // AWSECSContainerARNKey is the attribute Key conforming to the 337 // "aws.ecs.container.arn" semantic conventions. It represents the Amazon 338 // Resource Name (ARN) of an [ECS container 339 // instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). 340 // 341 // Type: string 342 // RequirementLevel: Optional 343 // Stability: stable 344 // Examples: 345 // 'arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9' 346 AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn") 347 348 // AWSECSClusterARNKey is the attribute Key conforming to the 349 // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an 350 // [ECS 351 // cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). 352 // 353 // Type: string 354 // RequirementLevel: Optional 355 // Stability: stable 356 // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' 357 AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn") 358 359 // AWSECSLaunchtypeKey is the attribute Key conforming to the 360 // "aws.ecs.launchtype" semantic conventions. It represents the [launch 361 // type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 362 // for an ECS task. 363 // 364 // Type: Enum 365 // RequirementLevel: Optional 366 // Stability: stable 367 AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype") 368 369 // AWSECSTaskARNKey is the attribute Key conforming to the 370 // "aws.ecs.task.arn" semantic conventions. It represents the ARN of an 371 // [ECS task 372 // definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). 373 // 374 // Type: string 375 // RequirementLevel: Optional 376 // Stability: stable 377 // Examples: 378 // 'arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b' 379 AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn") 380 381 // AWSECSTaskFamilyKey is the attribute Key conforming to the 382 // "aws.ecs.task.family" semantic conventions. It represents the task 383 // definition family this task definition is a member of. 384 // 385 // Type: string 386 // RequirementLevel: Optional 387 // Stability: stable 388 // Examples: 'opentelemetry-family' 389 AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family") 390 391 // AWSECSTaskRevisionKey is the attribute Key conforming to the 392 // "aws.ecs.task.revision" semantic conventions. It represents the revision 393 // for this task definition. 394 // 395 // Type: string 396 // RequirementLevel: Optional 397 // Stability: stable 398 // Examples: '8', '26' 399 AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision") 400 ) 401 402 var ( 403 // ec2 404 AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") 405 // fargate 406 AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") 407 ) 408 409 // AWSECSContainerARN returns an attribute KeyValue conforming to the 410 // "aws.ecs.container.arn" semantic conventions. It represents the Amazon 411 // Resource Name (ARN) of an [ECS container 412 // instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). 413 func AWSECSContainerARN(val string) attribute.KeyValue { 414 return AWSECSContainerARNKey.String(val) 415 } 416 417 // AWSECSClusterARN returns an attribute KeyValue conforming to the 418 // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an [ECS 419 // cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). 420 func AWSECSClusterARN(val string) attribute.KeyValue { 421 return AWSECSClusterARNKey.String(val) 422 } 423 424 // AWSECSTaskARN returns an attribute KeyValue conforming to the 425 // "aws.ecs.task.arn" semantic conventions. It represents the ARN of an [ECS 426 // task 427 // definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). 428 func AWSECSTaskARN(val string) attribute.KeyValue { 429 return AWSECSTaskARNKey.String(val) 430 } 431 432 // AWSECSTaskFamily returns an attribute KeyValue conforming to the 433 // "aws.ecs.task.family" semantic conventions. It represents the task 434 // definition family this task definition is a member of. 435 func AWSECSTaskFamily(val string) attribute.KeyValue { 436 return AWSECSTaskFamilyKey.String(val) 437 } 438 439 // AWSECSTaskRevision returns an attribute KeyValue conforming to the 440 // "aws.ecs.task.revision" semantic conventions. It represents the revision for 441 // this task definition. 442 func AWSECSTaskRevision(val string) attribute.KeyValue { 443 return AWSECSTaskRevisionKey.String(val) 444 } 445 446 // Resources used by AWS Elastic Kubernetes Service (EKS). 447 const ( 448 // AWSEKSClusterARNKey is the attribute Key conforming to the 449 // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an 450 // EKS cluster. 451 // 452 // Type: string 453 // RequirementLevel: Optional 454 // Stability: stable 455 // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' 456 AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn") 457 ) 458 459 // AWSEKSClusterARN returns an attribute KeyValue conforming to the 460 // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS 461 // cluster. 462 func AWSEKSClusterARN(val string) attribute.KeyValue { 463 return AWSEKSClusterARNKey.String(val) 464 } 465 466 // Resources specific to Amazon Web Services. 467 const ( 468 // AWSLogGroupNamesKey is the attribute Key conforming to the 469 // "aws.log.group.names" semantic conventions. It represents the name(s) of 470 // the AWS log group(s) an application is writing to. 471 // 472 // Type: string[] 473 // RequirementLevel: Optional 474 // Stability: stable 475 // Examples: '/aws/lambda/my-function', 'opentelemetry-service' 476 // Note: Multiple log groups must be supported for cases like 477 // multi-container applications, where a single application has sidecar 478 // containers, and each write to their own log group. 479 AWSLogGroupNamesKey = attribute.Key("aws.log.group.names") 480 481 // AWSLogGroupARNsKey is the attribute Key conforming to the 482 // "aws.log.group.arns" semantic conventions. It represents the Amazon 483 // Resource Name(s) (ARN) of the AWS log group(s). 484 // 485 // Type: string[] 486 // RequirementLevel: Optional 487 // Stability: stable 488 // Examples: 489 // 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*' 490 // Note: See the [log group ARN format 491 // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). 492 AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns") 493 494 // AWSLogStreamNamesKey is the attribute Key conforming to the 495 // "aws.log.stream.names" semantic conventions. It represents the name(s) 496 // of the AWS log stream(s) an application is writing to. 497 // 498 // Type: string[] 499 // RequirementLevel: Optional 500 // Stability: stable 501 // Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' 502 AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names") 503 504 // AWSLogStreamARNsKey is the attribute Key conforming to the 505 // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of 506 // the AWS log stream(s). 507 // 508 // Type: string[] 509 // RequirementLevel: Optional 510 // Stability: stable 511 // Examples: 512 // 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' 513 // Note: See the [log stream ARN format 514 // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). 515 // One log group can contain several log streams, so these ARNs necessarily 516 // identify both a log group and a log stream. 517 AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns") 518 ) 519 520 // AWSLogGroupNames returns an attribute KeyValue conforming to the 521 // "aws.log.group.names" semantic conventions. It represents the name(s) of the 522 // AWS log group(s) an application is writing to. 523 func AWSLogGroupNames(val ...string) attribute.KeyValue { 524 return AWSLogGroupNamesKey.StringSlice(val) 525 } 526 527 // AWSLogGroupARNs returns an attribute KeyValue conforming to the 528 // "aws.log.group.arns" semantic conventions. It represents the Amazon Resource 529 // Name(s) (ARN) of the AWS log group(s). 530 func AWSLogGroupARNs(val ...string) attribute.KeyValue { 531 return AWSLogGroupARNsKey.StringSlice(val) 532 } 533 534 // AWSLogStreamNames returns an attribute KeyValue conforming to the 535 // "aws.log.stream.names" semantic conventions. It represents the name(s) of 536 // the AWS log stream(s) an application is writing to. 537 func AWSLogStreamNames(val ...string) attribute.KeyValue { 538 return AWSLogStreamNamesKey.StringSlice(val) 539 } 540 541 // AWSLogStreamARNs returns an attribute KeyValue conforming to the 542 // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the 543 // AWS log stream(s). 544 func AWSLogStreamARNs(val ...string) attribute.KeyValue { 545 return AWSLogStreamARNsKey.StringSlice(val) 546 } 547 548 // Heroku dyno metadata 549 const ( 550 // HerokuReleaseCreationTimestampKey is the attribute Key conforming to the 551 // "heroku.release.creation_timestamp" semantic conventions. It represents 552 // the time and date the release was created 553 // 554 // Type: string 555 // RequirementLevel: Optional 556 // Stability: stable 557 // Examples: '2022-10-23T18:00:42Z' 558 HerokuReleaseCreationTimestampKey = attribute.Key("heroku.release.creation_timestamp") 559 560 // HerokuReleaseCommitKey is the attribute Key conforming to the 561 // "heroku.release.commit" semantic conventions. It represents the commit 562 // hash for the current release 563 // 564 // Type: string 565 // RequirementLevel: Optional 566 // Stability: stable 567 // Examples: 'e6134959463efd8966b20e75b913cafe3f5ec' 568 HerokuReleaseCommitKey = attribute.Key("heroku.release.commit") 569 570 // HerokuAppIDKey is the attribute Key conforming to the "heroku.app.id" 571 // semantic conventions. It represents the unique identifier for the 572 // application 573 // 574 // Type: string 575 // RequirementLevel: Optional 576 // Stability: stable 577 // Examples: '2daa2797-e42b-4624-9322-ec3f968df4da' 578 HerokuAppIDKey = attribute.Key("heroku.app.id") 579 ) 580 581 // HerokuReleaseCreationTimestamp returns an attribute KeyValue conforming 582 // to the "heroku.release.creation_timestamp" semantic conventions. It 583 // represents the time and date the release was created 584 func HerokuReleaseCreationTimestamp(val string) attribute.KeyValue { 585 return HerokuReleaseCreationTimestampKey.String(val) 586 } 587 588 // HerokuReleaseCommit returns an attribute KeyValue conforming to the 589 // "heroku.release.commit" semantic conventions. It represents the commit hash 590 // for the current release 591 func HerokuReleaseCommit(val string) attribute.KeyValue { 592 return HerokuReleaseCommitKey.String(val) 593 } 594 595 // HerokuAppID returns an attribute KeyValue conforming to the 596 // "heroku.app.id" semantic conventions. It represents the unique identifier 597 // for the application 598 func HerokuAppID(val string) attribute.KeyValue { 599 return HerokuAppIDKey.String(val) 600 } 601 602 // A container instance. 603 const ( 604 // ContainerNameKey is the attribute Key conforming to the "container.name" 605 // semantic conventions. It represents the container name used by container 606 // runtime. 607 // 608 // Type: string 609 // RequirementLevel: Optional 610 // Stability: stable 611 // Examples: 'opentelemetry-autoconf' 612 ContainerNameKey = attribute.Key("container.name") 613 614 // ContainerIDKey is the attribute Key conforming to the "container.id" 615 // semantic conventions. It represents the container ID. Usually a UUID, as 616 // for example used to [identify Docker 617 // containers](https://docs.docker.com/engine/reference/run/#container-identification). 618 // The UUID might be abbreviated. 619 // 620 // Type: string 621 // RequirementLevel: Optional 622 // Stability: stable 623 // Examples: 'a3bf90e006b2' 624 ContainerIDKey = attribute.Key("container.id") 625 626 // ContainerRuntimeKey is the attribute Key conforming to the 627 // "container.runtime" semantic conventions. It represents the container 628 // runtime managing this container. 629 // 630 // Type: string 631 // RequirementLevel: Optional 632 // Stability: stable 633 // Examples: 'docker', 'containerd', 'rkt' 634 ContainerRuntimeKey = attribute.Key("container.runtime") 635 636 // ContainerImageNameKey is the attribute Key conforming to the 637 // "container.image.name" semantic conventions. It represents the name of 638 // the image the container was built on. 639 // 640 // Type: string 641 // RequirementLevel: Optional 642 // Stability: stable 643 // Examples: 'gcr.io/opentelemetry/operator' 644 ContainerImageNameKey = attribute.Key("container.image.name") 645 646 // ContainerImageTagKey is the attribute Key conforming to the 647 // "container.image.tag" semantic conventions. It represents the container 648 // image tag. 649 // 650 // Type: string 651 // RequirementLevel: Optional 652 // Stability: stable 653 // Examples: '0.1' 654 ContainerImageTagKey = attribute.Key("container.image.tag") 655 ) 656 657 // ContainerName returns an attribute KeyValue conforming to the 658 // "container.name" semantic conventions. It represents the container name used 659 // by container runtime. 660 func ContainerName(val string) attribute.KeyValue { 661 return ContainerNameKey.String(val) 662 } 663 664 // ContainerID returns an attribute KeyValue conforming to the 665 // "container.id" semantic conventions. It represents the container ID. Usually 666 // a UUID, as for example used to [identify Docker 667 // containers](https://docs.docker.com/engine/reference/run/#container-identification). 668 // The UUID might be abbreviated. 669 func ContainerID(val string) attribute.KeyValue { 670 return ContainerIDKey.String(val) 671 } 672 673 // ContainerRuntime returns an attribute KeyValue conforming to the 674 // "container.runtime" semantic conventions. It represents the container 675 // runtime managing this container. 676 func ContainerRuntime(val string) attribute.KeyValue { 677 return ContainerRuntimeKey.String(val) 678 } 679 680 // ContainerImageName returns an attribute KeyValue conforming to the 681 // "container.image.name" semantic conventions. It represents the name of the 682 // image the container was built on. 683 func ContainerImageName(val string) attribute.KeyValue { 684 return ContainerImageNameKey.String(val) 685 } 686 687 // ContainerImageTag returns an attribute KeyValue conforming to the 688 // "container.image.tag" semantic conventions. It represents the container 689 // image tag. 690 func ContainerImageTag(val string) attribute.KeyValue { 691 return ContainerImageTagKey.String(val) 692 } 693 694 // The software deployment. 695 const ( 696 // DeploymentEnvironmentKey is the attribute Key conforming to the 697 // "deployment.environment" semantic conventions. It represents the name of 698 // the [deployment 699 // environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka 700 // deployment tier). 701 // 702 // Type: string 703 // RequirementLevel: Optional 704 // Stability: stable 705 // Examples: 'staging', 'production' 706 DeploymentEnvironmentKey = attribute.Key("deployment.environment") 707 ) 708 709 // DeploymentEnvironment returns an attribute KeyValue conforming to the 710 // "deployment.environment" semantic conventions. It represents the name of the 711 // [deployment 712 // environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka 713 // deployment tier). 714 func DeploymentEnvironment(val string) attribute.KeyValue { 715 return DeploymentEnvironmentKey.String(val) 716 } 717 718 // The device on which the process represented by this resource is running. 719 const ( 720 // DeviceIDKey is the attribute Key conforming to the "device.id" semantic 721 // conventions. It represents a unique identifier representing the device 722 // 723 // Type: string 724 // RequirementLevel: Optional 725 // Stability: stable 726 // Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092' 727 // Note: The device identifier MUST only be defined using the values 728 // outlined below. This value is not an advertising identifier and MUST NOT 729 // be used as such. On iOS (Swift or Objective-C), this value MUST be equal 730 // to the [vendor 731 // identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). 732 // On Android (Java or Kotlin), this value MUST be equal to the Firebase 733 // Installation ID or a globally unique UUID which is persisted across 734 // sessions in your application. More information can be found 735 // [here](https://developer.android.com/training/articles/user-data-ids) on 736 // best practices and exact implementation details. Caution should be taken 737 // when storing personal data or anything which can identify a user. GDPR 738 // and data protection laws may apply, ensure you do your own due 739 // diligence. 740 DeviceIDKey = attribute.Key("device.id") 741 742 // DeviceModelIdentifierKey is the attribute Key conforming to the 743 // "device.model.identifier" semantic conventions. It represents the model 744 // identifier for the device 745 // 746 // Type: string 747 // RequirementLevel: Optional 748 // Stability: stable 749 // Examples: 'iPhone3,4', 'SM-G920F' 750 // Note: It's recommended this value represents a machine readable version 751 // of the model identifier rather than the market or consumer-friendly name 752 // of the device. 753 DeviceModelIdentifierKey = attribute.Key("device.model.identifier") 754 755 // DeviceModelNameKey is the attribute Key conforming to the 756 // "device.model.name" semantic conventions. It represents the marketing 757 // name for the device model 758 // 759 // Type: string 760 // RequirementLevel: Optional 761 // Stability: stable 762 // Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6' 763 // Note: It's recommended this value represents a human readable version of 764 // the device model rather than a machine readable alternative. 765 DeviceModelNameKey = attribute.Key("device.model.name") 766 767 // DeviceManufacturerKey is the attribute Key conforming to the 768 // "device.manufacturer" semantic conventions. It represents the name of 769 // the device manufacturer 770 // 771 // Type: string 772 // RequirementLevel: Optional 773 // Stability: stable 774 // Examples: 'Apple', 'Samsung' 775 // Note: The Android OS provides this field via 776 // [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). 777 // iOS apps SHOULD hardcode the value `Apple`. 778 DeviceManufacturerKey = attribute.Key("device.manufacturer") 779 ) 780 781 // DeviceID returns an attribute KeyValue conforming to the "device.id" 782 // semantic conventions. It represents a unique identifier representing the 783 // device 784 func DeviceID(val string) attribute.KeyValue { 785 return DeviceIDKey.String(val) 786 } 787 788 // DeviceModelIdentifier returns an attribute KeyValue conforming to the 789 // "device.model.identifier" semantic conventions. It represents the model 790 // identifier for the device 791 func DeviceModelIdentifier(val string) attribute.KeyValue { 792 return DeviceModelIdentifierKey.String(val) 793 } 794 795 // DeviceModelName returns an attribute KeyValue conforming to the 796 // "device.model.name" semantic conventions. It represents the marketing name 797 // for the device model 798 func DeviceModelName(val string) attribute.KeyValue { 799 return DeviceModelNameKey.String(val) 800 } 801 802 // DeviceManufacturer returns an attribute KeyValue conforming to the 803 // "device.manufacturer" semantic conventions. It represents the name of the 804 // device manufacturer 805 func DeviceManufacturer(val string) attribute.KeyValue { 806 return DeviceManufacturerKey.String(val) 807 } 808 809 // A serverless instance. 810 const ( 811 // FaaSNameKey is the attribute Key conforming to the "faas.name" semantic 812 // conventions. It represents the name of the single function that this 813 // runtime instance executes. 814 // 815 // Type: string 816 // RequirementLevel: Required 817 // Stability: stable 818 // Examples: 'my-function', 'myazurefunctionapp/some-function-name' 819 // Note: This is the name of the function as configured/deployed on the 820 // FaaS 821 // platform and is usually different from the name of the callback 822 // function (which may be stored in the 823 // [`code.namespace`/`code.function`](../../trace/semantic_conventions/span-general.md#source-code-attributes) 824 // span attributes). 825 // 826 // For some cloud providers, the above definition is ambiguous. The 827 // following 828 // definition of function name MUST be used for this attribute 829 // (and consequently the span name) for the listed cloud 830 // providers/products: 831 // 832 // * **Azure:** The full name `<FUNCAPP>/<FUNC>`, i.e., function app name 833 // followed by a forward slash followed by the function name (this form 834 // can also be seen in the resource JSON for the function). 835 // This means that a span attribute MUST be used, as an Azure function 836 // app can host multiple functions that would usually share 837 // a TracerProvider (see also the `cloud.resource_id` attribute). 838 FaaSNameKey = attribute.Key("faas.name") 839 840 // FaaSVersionKey is the attribute Key conforming to the "faas.version" 841 // semantic conventions. It represents the immutable version of the 842 // function being executed. 843 // 844 // Type: string 845 // RequirementLevel: Optional 846 // Stability: stable 847 // Examples: '26', 'pinkfroid-00002' 848 // Note: Depending on the cloud provider and platform, use: 849 // 850 // * **AWS Lambda:** The [function 851 // version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) 852 // (an integer represented as a decimal string). 853 // * **Google Cloud Run:** The 854 // [revision](https://cloud.google.com/run/docs/managing/revisions) 855 // (i.e., the function name plus the revision suffix). 856 // * **Google Cloud Functions:** The value of the 857 // [`K_REVISION` environment 858 // variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). 859 // * **Azure Functions:** Not applicable. Do not set this attribute. 860 FaaSVersionKey = attribute.Key("faas.version") 861 862 // FaaSInstanceKey is the attribute Key conforming to the "faas.instance" 863 // semantic conventions. It represents the execution environment ID as a 864 // string, that will be potentially reused for other invocations to the 865 // same function/function version. 866 // 867 // Type: string 868 // RequirementLevel: Optional 869 // Stability: stable 870 // Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de' 871 // Note: * **AWS Lambda:** Use the (full) log stream name. 872 FaaSInstanceKey = attribute.Key("faas.instance") 873 874 // FaaSMaxMemoryKey is the attribute Key conforming to the 875 // "faas.max_memory" semantic conventions. It represents the amount of 876 // memory available to the serverless function converted to Bytes. 877 // 878 // Type: int 879 // RequirementLevel: Optional 880 // Stability: stable 881 // Examples: 134217728 882 // Note: It's recommended to set this attribute since e.g. too little 883 // memory can easily stop a Java AWS Lambda function from working 884 // correctly. On AWS Lambda, the environment variable 885 // `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must 886 // be multiplied by 1,048,576). 887 FaaSMaxMemoryKey = attribute.Key("faas.max_memory") 888 ) 889 890 // FaaSName returns an attribute KeyValue conforming to the "faas.name" 891 // semantic conventions. It represents the name of the single function that 892 // this runtime instance executes. 893 func FaaSName(val string) attribute.KeyValue { 894 return FaaSNameKey.String(val) 895 } 896 897 // FaaSVersion returns an attribute KeyValue conforming to the 898 // "faas.version" semantic conventions. It represents the immutable version of 899 // the function being executed. 900 func FaaSVersion(val string) attribute.KeyValue { 901 return FaaSVersionKey.String(val) 902 } 903 904 // FaaSInstance returns an attribute KeyValue conforming to the 905 // "faas.instance" semantic conventions. It represents the execution 906 // environment ID as a string, that will be potentially reused for other 907 // invocations to the same function/function version. 908 func FaaSInstance(val string) attribute.KeyValue { 909 return FaaSInstanceKey.String(val) 910 } 911 912 // FaaSMaxMemory returns an attribute KeyValue conforming to the 913 // "faas.max_memory" semantic conventions. It represents the amount of memory 914 // available to the serverless function converted to Bytes. 915 func FaaSMaxMemory(val int) attribute.KeyValue { 916 return FaaSMaxMemoryKey.Int(val) 917 } 918 919 // A host is defined as a general computing instance. 920 const ( 921 // HostIDKey is the attribute Key conforming to the "host.id" semantic 922 // conventions. It represents the unique host ID. For Cloud, this must be 923 // the instance_id assigned by the cloud provider. For non-containerized 924 // systems, this should be the `machine-id`. See the table below for the 925 // sources to use to determine the `machine-id` based on operating system. 926 // 927 // Type: string 928 // RequirementLevel: Optional 929 // Stability: stable 930 // Examples: 'fdbf79e8af94cb7f9e8df36789187052' 931 HostIDKey = attribute.Key("host.id") 932 933 // HostNameKey is the attribute Key conforming to the "host.name" semantic 934 // conventions. It represents the name of the host. On Unix systems, it may 935 // contain what the hostname command returns, or the fully qualified 936 // hostname, or another name specified by the user. 937 // 938 // Type: string 939 // RequirementLevel: Optional 940 // Stability: stable 941 // Examples: 'opentelemetry-test' 942 HostNameKey = attribute.Key("host.name") 943 944 // HostTypeKey is the attribute Key conforming to the "host.type" semantic 945 // conventions. It represents the type of host. For Cloud, this must be the 946 // machine type. 947 // 948 // Type: string 949 // RequirementLevel: Optional 950 // Stability: stable 951 // Examples: 'n1-standard-1' 952 HostTypeKey = attribute.Key("host.type") 953 954 // HostArchKey is the attribute Key conforming to the "host.arch" semantic 955 // conventions. It represents the CPU architecture the host system is 956 // running on. 957 // 958 // Type: Enum 959 // RequirementLevel: Optional 960 // Stability: stable 961 HostArchKey = attribute.Key("host.arch") 962 963 // HostImageNameKey is the attribute Key conforming to the 964 // "host.image.name" semantic conventions. It represents the name of the VM 965 // image or OS install the host was instantiated from. 966 // 967 // Type: string 968 // RequirementLevel: Optional 969 // Stability: stable 970 // Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905' 971 HostImageNameKey = attribute.Key("host.image.name") 972 973 // HostImageIDKey is the attribute Key conforming to the "host.image.id" 974 // semantic conventions. It represents the vM image ID. For Cloud, this 975 // value is from the provider. 976 // 977 // Type: string 978 // RequirementLevel: Optional 979 // Stability: stable 980 // Examples: 'ami-07b06b442921831e5' 981 HostImageIDKey = attribute.Key("host.image.id") 982 983 // HostImageVersionKey is the attribute Key conforming to the 984 // "host.image.version" semantic conventions. It represents the version 985 // string of the VM image as defined in [Version 986 // Attributes](README.md#version-attributes). 987 // 988 // Type: string 989 // RequirementLevel: Optional 990 // Stability: stable 991 // Examples: '0.1' 992 HostImageVersionKey = attribute.Key("host.image.version") 993 ) 994 995 var ( 996 // AMD64 997 HostArchAMD64 = HostArchKey.String("amd64") 998 // ARM32 999 HostArchARM32 = HostArchKey.String("arm32") 1000 // ARM64 1001 HostArchARM64 = HostArchKey.String("arm64") 1002 // Itanium 1003 HostArchIA64 = HostArchKey.String("ia64") 1004 // 32-bit PowerPC 1005 HostArchPPC32 = HostArchKey.String("ppc32") 1006 // 64-bit PowerPC 1007 HostArchPPC64 = HostArchKey.String("ppc64") 1008 // IBM z/Architecture 1009 HostArchS390x = HostArchKey.String("s390x") 1010 // 32-bit x86 1011 HostArchX86 = HostArchKey.String("x86") 1012 ) 1013 1014 // HostID returns an attribute KeyValue conforming to the "host.id" semantic 1015 // conventions. It represents the unique host ID. For Cloud, this must be the 1016 // instance_id assigned by the cloud provider. For non-containerized systems, 1017 // this should be the `machine-id`. See the table below for the sources to use 1018 // to determine the `machine-id` based on operating system. 1019 func HostID(val string) attribute.KeyValue { 1020 return HostIDKey.String(val) 1021 } 1022 1023 // HostName returns an attribute KeyValue conforming to the "host.name" 1024 // semantic conventions. It represents the name of the host. On Unix systems, 1025 // it may contain what the hostname command returns, or the fully qualified 1026 // hostname, or another name specified by the user. 1027 func HostName(val string) attribute.KeyValue { 1028 return HostNameKey.String(val) 1029 } 1030 1031 // HostType returns an attribute KeyValue conforming to the "host.type" 1032 // semantic conventions. It represents the type of host. For Cloud, this must 1033 // be the machine type. 1034 func HostType(val string) attribute.KeyValue { 1035 return HostTypeKey.String(val) 1036 } 1037 1038 // HostImageName returns an attribute KeyValue conforming to the 1039 // "host.image.name" semantic conventions. It represents the name of the VM 1040 // image or OS install the host was instantiated from. 1041 func HostImageName(val string) attribute.KeyValue { 1042 return HostImageNameKey.String(val) 1043 } 1044 1045 // HostImageID returns an attribute KeyValue conforming to the 1046 // "host.image.id" semantic conventions. It represents the vM image ID. For 1047 // Cloud, this value is from the provider. 1048 func HostImageID(val string) attribute.KeyValue { 1049 return HostImageIDKey.String(val) 1050 } 1051 1052 // HostImageVersion returns an attribute KeyValue conforming to the 1053 // "host.image.version" semantic conventions. It represents the version string 1054 // of the VM image as defined in [Version 1055 // Attributes](README.md#version-attributes). 1056 func HostImageVersion(val string) attribute.KeyValue { 1057 return HostImageVersionKey.String(val) 1058 } 1059 1060 // A Kubernetes Cluster. 1061 const ( 1062 // K8SClusterNameKey is the attribute Key conforming to the 1063 // "k8s.cluster.name" semantic conventions. It represents the name of the 1064 // cluster. 1065 // 1066 // Type: string 1067 // RequirementLevel: Optional 1068 // Stability: stable 1069 // Examples: 'opentelemetry-cluster' 1070 K8SClusterNameKey = attribute.Key("k8s.cluster.name") 1071 ) 1072 1073 // K8SClusterName returns an attribute KeyValue conforming to the 1074 // "k8s.cluster.name" semantic conventions. It represents the name of the 1075 // cluster. 1076 func K8SClusterName(val string) attribute.KeyValue { 1077 return K8SClusterNameKey.String(val) 1078 } 1079 1080 // A Kubernetes Node object. 1081 const ( 1082 // K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name" 1083 // semantic conventions. It represents the name of the Node. 1084 // 1085 // Type: string 1086 // RequirementLevel: Optional 1087 // Stability: stable 1088 // Examples: 'node-1' 1089 K8SNodeNameKey = attribute.Key("k8s.node.name") 1090 1091 // K8SNodeUIDKey is the attribute Key conforming to the "k8s.node.uid" 1092 // semantic conventions. It represents the UID of the Node. 1093 // 1094 // Type: string 1095 // RequirementLevel: Optional 1096 // Stability: stable 1097 // Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2' 1098 K8SNodeUIDKey = attribute.Key("k8s.node.uid") 1099 ) 1100 1101 // K8SNodeName returns an attribute KeyValue conforming to the 1102 // "k8s.node.name" semantic conventions. It represents the name of the Node. 1103 func K8SNodeName(val string) attribute.KeyValue { 1104 return K8SNodeNameKey.String(val) 1105 } 1106 1107 // K8SNodeUID returns an attribute KeyValue conforming to the "k8s.node.uid" 1108 // semantic conventions. It represents the UID of the Node. 1109 func K8SNodeUID(val string) attribute.KeyValue { 1110 return K8SNodeUIDKey.String(val) 1111 } 1112 1113 // A Kubernetes Namespace. 1114 const ( 1115 // K8SNamespaceNameKey is the attribute Key conforming to the 1116 // "k8s.namespace.name" semantic conventions. It represents the name of the 1117 // namespace that the pod is running in. 1118 // 1119 // Type: string 1120 // RequirementLevel: Optional 1121 // Stability: stable 1122 // Examples: 'default' 1123 K8SNamespaceNameKey = attribute.Key("k8s.namespace.name") 1124 ) 1125 1126 // K8SNamespaceName returns an attribute KeyValue conforming to the 1127 // "k8s.namespace.name" semantic conventions. It represents the name of the 1128 // namespace that the pod is running in. 1129 func K8SNamespaceName(val string) attribute.KeyValue { 1130 return K8SNamespaceNameKey.String(val) 1131 } 1132 1133 // A Kubernetes Pod object. 1134 const ( 1135 // K8SPodUIDKey is the attribute Key conforming to the "k8s.pod.uid" 1136 // semantic conventions. It represents the UID of the Pod. 1137 // 1138 // Type: string 1139 // RequirementLevel: Optional 1140 // Stability: stable 1141 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1142 K8SPodUIDKey = attribute.Key("k8s.pod.uid") 1143 1144 // K8SPodNameKey is the attribute Key conforming to the "k8s.pod.name" 1145 // semantic conventions. It represents the name of the Pod. 1146 // 1147 // Type: string 1148 // RequirementLevel: Optional 1149 // Stability: stable 1150 // Examples: 'opentelemetry-pod-autoconf' 1151 K8SPodNameKey = attribute.Key("k8s.pod.name") 1152 ) 1153 1154 // K8SPodUID returns an attribute KeyValue conforming to the "k8s.pod.uid" 1155 // semantic conventions. It represents the UID of the Pod. 1156 func K8SPodUID(val string) attribute.KeyValue { 1157 return K8SPodUIDKey.String(val) 1158 } 1159 1160 // K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name" 1161 // semantic conventions. It represents the name of the Pod. 1162 func K8SPodName(val string) attribute.KeyValue { 1163 return K8SPodNameKey.String(val) 1164 } 1165 1166 // A container in a 1167 // [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). 1168 const ( 1169 // K8SContainerNameKey is the attribute Key conforming to the 1170 // "k8s.container.name" semantic conventions. It represents the name of the 1171 // Container from Pod specification, must be unique within a Pod. Container 1172 // runtime usually uses different globally unique name (`container.name`). 1173 // 1174 // Type: string 1175 // RequirementLevel: Optional 1176 // Stability: stable 1177 // Examples: 'redis' 1178 K8SContainerNameKey = attribute.Key("k8s.container.name") 1179 1180 // K8SContainerRestartCountKey is the attribute Key conforming to the 1181 // "k8s.container.restart_count" semantic conventions. It represents the 1182 // number of times the container was restarted. This attribute can be used 1183 // to identify a particular container (running or stopped) within a 1184 // container spec. 1185 // 1186 // Type: int 1187 // RequirementLevel: Optional 1188 // Stability: stable 1189 // Examples: 0, 2 1190 K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count") 1191 ) 1192 1193 // K8SContainerName returns an attribute KeyValue conforming to the 1194 // "k8s.container.name" semantic conventions. It represents the name of the 1195 // Container from Pod specification, must be unique within a Pod. Container 1196 // runtime usually uses different globally unique name (`container.name`). 1197 func K8SContainerName(val string) attribute.KeyValue { 1198 return K8SContainerNameKey.String(val) 1199 } 1200 1201 // K8SContainerRestartCount returns an attribute KeyValue conforming to the 1202 // "k8s.container.restart_count" semantic conventions. It represents the number 1203 // of times the container was restarted. This attribute can be used to identify 1204 // a particular container (running or stopped) within a container spec. 1205 func K8SContainerRestartCount(val int) attribute.KeyValue { 1206 return K8SContainerRestartCountKey.Int(val) 1207 } 1208 1209 // A Kubernetes ReplicaSet object. 1210 const ( 1211 // K8SReplicaSetUIDKey is the attribute Key conforming to the 1212 // "k8s.replicaset.uid" semantic conventions. It represents the UID of the 1213 // ReplicaSet. 1214 // 1215 // Type: string 1216 // RequirementLevel: Optional 1217 // Stability: stable 1218 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1219 K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid") 1220 1221 // K8SReplicaSetNameKey is the attribute Key conforming to the 1222 // "k8s.replicaset.name" semantic conventions. It represents the name of 1223 // the ReplicaSet. 1224 // 1225 // Type: string 1226 // RequirementLevel: Optional 1227 // Stability: stable 1228 // Examples: 'opentelemetry' 1229 K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name") 1230 ) 1231 1232 // K8SReplicaSetUID returns an attribute KeyValue conforming to the 1233 // "k8s.replicaset.uid" semantic conventions. It represents the UID of the 1234 // ReplicaSet. 1235 func K8SReplicaSetUID(val string) attribute.KeyValue { 1236 return K8SReplicaSetUIDKey.String(val) 1237 } 1238 1239 // K8SReplicaSetName returns an attribute KeyValue conforming to the 1240 // "k8s.replicaset.name" semantic conventions. It represents the name of the 1241 // ReplicaSet. 1242 func K8SReplicaSetName(val string) attribute.KeyValue { 1243 return K8SReplicaSetNameKey.String(val) 1244 } 1245 1246 // A Kubernetes Deployment object. 1247 const ( 1248 // K8SDeploymentUIDKey is the attribute Key conforming to the 1249 // "k8s.deployment.uid" semantic conventions. It represents the UID of the 1250 // Deployment. 1251 // 1252 // Type: string 1253 // RequirementLevel: Optional 1254 // Stability: stable 1255 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1256 K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") 1257 1258 // K8SDeploymentNameKey is the attribute Key conforming to the 1259 // "k8s.deployment.name" semantic conventions. It represents the name of 1260 // the Deployment. 1261 // 1262 // Type: string 1263 // RequirementLevel: Optional 1264 // Stability: stable 1265 // Examples: 'opentelemetry' 1266 K8SDeploymentNameKey = attribute.Key("k8s.deployment.name") 1267 ) 1268 1269 // K8SDeploymentUID returns an attribute KeyValue conforming to the 1270 // "k8s.deployment.uid" semantic conventions. It represents the UID of the 1271 // Deployment. 1272 func K8SDeploymentUID(val string) attribute.KeyValue { 1273 return K8SDeploymentUIDKey.String(val) 1274 } 1275 1276 // K8SDeploymentName returns an attribute KeyValue conforming to the 1277 // "k8s.deployment.name" semantic conventions. It represents the name of the 1278 // Deployment. 1279 func K8SDeploymentName(val string) attribute.KeyValue { 1280 return K8SDeploymentNameKey.String(val) 1281 } 1282 1283 // A Kubernetes StatefulSet object. 1284 const ( 1285 // K8SStatefulSetUIDKey is the attribute Key conforming to the 1286 // "k8s.statefulset.uid" semantic conventions. It represents the UID of the 1287 // StatefulSet. 1288 // 1289 // Type: string 1290 // RequirementLevel: Optional 1291 // Stability: stable 1292 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1293 K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") 1294 1295 // K8SStatefulSetNameKey is the attribute Key conforming to the 1296 // "k8s.statefulset.name" semantic conventions. It represents the name of 1297 // the StatefulSet. 1298 // 1299 // Type: string 1300 // RequirementLevel: Optional 1301 // Stability: stable 1302 // Examples: 'opentelemetry' 1303 K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name") 1304 ) 1305 1306 // K8SStatefulSetUID returns an attribute KeyValue conforming to the 1307 // "k8s.statefulset.uid" semantic conventions. It represents the UID of the 1308 // StatefulSet. 1309 func K8SStatefulSetUID(val string) attribute.KeyValue { 1310 return K8SStatefulSetUIDKey.String(val) 1311 } 1312 1313 // K8SStatefulSetName returns an attribute KeyValue conforming to the 1314 // "k8s.statefulset.name" semantic conventions. It represents the name of the 1315 // StatefulSet. 1316 func K8SStatefulSetName(val string) attribute.KeyValue { 1317 return K8SStatefulSetNameKey.String(val) 1318 } 1319 1320 // A Kubernetes DaemonSet object. 1321 const ( 1322 // K8SDaemonSetUIDKey is the attribute Key conforming to the 1323 // "k8s.daemonset.uid" semantic conventions. It represents the UID of the 1324 // DaemonSet. 1325 // 1326 // Type: string 1327 // RequirementLevel: Optional 1328 // Stability: stable 1329 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1330 K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid") 1331 1332 // K8SDaemonSetNameKey is the attribute Key conforming to the 1333 // "k8s.daemonset.name" semantic conventions. It represents the name of the 1334 // DaemonSet. 1335 // 1336 // Type: string 1337 // RequirementLevel: Optional 1338 // Stability: stable 1339 // Examples: 'opentelemetry' 1340 K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name") 1341 ) 1342 1343 // K8SDaemonSetUID returns an attribute KeyValue conforming to the 1344 // "k8s.daemonset.uid" semantic conventions. It represents the UID of the 1345 // DaemonSet. 1346 func K8SDaemonSetUID(val string) attribute.KeyValue { 1347 return K8SDaemonSetUIDKey.String(val) 1348 } 1349 1350 // K8SDaemonSetName returns an attribute KeyValue conforming to the 1351 // "k8s.daemonset.name" semantic conventions. It represents the name of the 1352 // DaemonSet. 1353 func K8SDaemonSetName(val string) attribute.KeyValue { 1354 return K8SDaemonSetNameKey.String(val) 1355 } 1356 1357 // A Kubernetes Job object. 1358 const ( 1359 // K8SJobUIDKey is the attribute Key conforming to the "k8s.job.uid" 1360 // semantic conventions. It represents the UID of the Job. 1361 // 1362 // Type: string 1363 // RequirementLevel: Optional 1364 // Stability: stable 1365 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1366 K8SJobUIDKey = attribute.Key("k8s.job.uid") 1367 1368 // K8SJobNameKey is the attribute Key conforming to the "k8s.job.name" 1369 // semantic conventions. It represents the name of the Job. 1370 // 1371 // Type: string 1372 // RequirementLevel: Optional 1373 // Stability: stable 1374 // Examples: 'opentelemetry' 1375 K8SJobNameKey = attribute.Key("k8s.job.name") 1376 ) 1377 1378 // K8SJobUID returns an attribute KeyValue conforming to the "k8s.job.uid" 1379 // semantic conventions. It represents the UID of the Job. 1380 func K8SJobUID(val string) attribute.KeyValue { 1381 return K8SJobUIDKey.String(val) 1382 } 1383 1384 // K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name" 1385 // semantic conventions. It represents the name of the Job. 1386 func K8SJobName(val string) attribute.KeyValue { 1387 return K8SJobNameKey.String(val) 1388 } 1389 1390 // A Kubernetes CronJob object. 1391 const ( 1392 // K8SCronJobUIDKey is the attribute Key conforming to the 1393 // "k8s.cronjob.uid" semantic conventions. It represents the UID of the 1394 // CronJob. 1395 // 1396 // Type: string 1397 // RequirementLevel: Optional 1398 // Stability: stable 1399 // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' 1400 K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid") 1401 1402 // K8SCronJobNameKey is the attribute Key conforming to the 1403 // "k8s.cronjob.name" semantic conventions. It represents the name of the 1404 // CronJob. 1405 // 1406 // Type: string 1407 // RequirementLevel: Optional 1408 // Stability: stable 1409 // Examples: 'opentelemetry' 1410 K8SCronJobNameKey = attribute.Key("k8s.cronjob.name") 1411 ) 1412 1413 // K8SCronJobUID returns an attribute KeyValue conforming to the 1414 // "k8s.cronjob.uid" semantic conventions. It represents the UID of the 1415 // CronJob. 1416 func K8SCronJobUID(val string) attribute.KeyValue { 1417 return K8SCronJobUIDKey.String(val) 1418 } 1419 1420 // K8SCronJobName returns an attribute KeyValue conforming to the 1421 // "k8s.cronjob.name" semantic conventions. It represents the name of the 1422 // CronJob. 1423 func K8SCronJobName(val string) attribute.KeyValue { 1424 return K8SCronJobNameKey.String(val) 1425 } 1426 1427 // The operating system (OS) on which the process represented by this resource 1428 // is running. 1429 const ( 1430 // OSTypeKey is the attribute Key conforming to the "os.type" semantic 1431 // conventions. It represents the operating system type. 1432 // 1433 // Type: Enum 1434 // RequirementLevel: Required 1435 // Stability: stable 1436 OSTypeKey = attribute.Key("os.type") 1437 1438 // OSDescriptionKey is the attribute Key conforming to the "os.description" 1439 // semantic conventions. It represents the human readable (not intended to 1440 // be parsed) OS version information, like e.g. reported by `ver` or 1441 // `lsb_release -a` commands. 1442 // 1443 // Type: string 1444 // RequirementLevel: Optional 1445 // Stability: stable 1446 // Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 1447 // LTS' 1448 OSDescriptionKey = attribute.Key("os.description") 1449 1450 // OSNameKey is the attribute Key conforming to the "os.name" semantic 1451 // conventions. It represents the human readable operating system name. 1452 // 1453 // Type: string 1454 // RequirementLevel: Optional 1455 // Stability: stable 1456 // Examples: 'iOS', 'Android', 'Ubuntu' 1457 OSNameKey = attribute.Key("os.name") 1458 1459 // OSVersionKey is the attribute Key conforming to the "os.version" 1460 // semantic conventions. It represents the version string of the operating 1461 // system as defined in [Version 1462 // Attributes](../../resource/semantic_conventions/README.md#version-attributes). 1463 // 1464 // Type: string 1465 // RequirementLevel: Optional 1466 // Stability: stable 1467 // Examples: '14.2.1', '18.04.1' 1468 OSVersionKey = attribute.Key("os.version") 1469 ) 1470 1471 var ( 1472 // Microsoft Windows 1473 OSTypeWindows = OSTypeKey.String("windows") 1474 // Linux 1475 OSTypeLinux = OSTypeKey.String("linux") 1476 // Apple Darwin 1477 OSTypeDarwin = OSTypeKey.String("darwin") 1478 // FreeBSD 1479 OSTypeFreeBSD = OSTypeKey.String("freebsd") 1480 // NetBSD 1481 OSTypeNetBSD = OSTypeKey.String("netbsd") 1482 // OpenBSD 1483 OSTypeOpenBSD = OSTypeKey.String("openbsd") 1484 // DragonFly BSD 1485 OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd") 1486 // HP-UX (Hewlett Packard Unix) 1487 OSTypeHPUX = OSTypeKey.String("hpux") 1488 // AIX (Advanced Interactive eXecutive) 1489 OSTypeAIX = OSTypeKey.String("aix") 1490 // SunOS, Oracle Solaris 1491 OSTypeSolaris = OSTypeKey.String("solaris") 1492 // IBM z/OS 1493 OSTypeZOS = OSTypeKey.String("z_os") 1494 ) 1495 1496 // OSDescription returns an attribute KeyValue conforming to the 1497 // "os.description" semantic conventions. It represents the human readable (not 1498 // intended to be parsed) OS version information, like e.g. reported by `ver` 1499 // or `lsb_release -a` commands. 1500 func OSDescription(val string) attribute.KeyValue { 1501 return OSDescriptionKey.String(val) 1502 } 1503 1504 // OSName returns an attribute KeyValue conforming to the "os.name" semantic 1505 // conventions. It represents the human readable operating system name. 1506 func OSName(val string) attribute.KeyValue { 1507 return OSNameKey.String(val) 1508 } 1509 1510 // OSVersion returns an attribute KeyValue conforming to the "os.version" 1511 // semantic conventions. It represents the version string of the operating 1512 // system as defined in [Version 1513 // Attributes](../../resource/semantic_conventions/README.md#version-attributes). 1514 func OSVersion(val string) attribute.KeyValue { 1515 return OSVersionKey.String(val) 1516 } 1517 1518 // An operating system process. 1519 const ( 1520 // ProcessPIDKey is the attribute Key conforming to the "process.pid" 1521 // semantic conventions. It represents the process identifier (PID). 1522 // 1523 // Type: int 1524 // RequirementLevel: Optional 1525 // Stability: stable 1526 // Examples: 1234 1527 ProcessPIDKey = attribute.Key("process.pid") 1528 1529 // ProcessParentPIDKey is the attribute Key conforming to the 1530 // "process.parent_pid" semantic conventions. It represents the parent 1531 // Process identifier (PID). 1532 // 1533 // Type: int 1534 // RequirementLevel: Optional 1535 // Stability: stable 1536 // Examples: 111 1537 ProcessParentPIDKey = attribute.Key("process.parent_pid") 1538 1539 // ProcessExecutableNameKey is the attribute Key conforming to the 1540 // "process.executable.name" semantic conventions. It represents the name 1541 // of the process executable. On Linux based systems, can be set to the 1542 // `Name` in `proc/[pid]/status`. On Windows, can be set to the base name 1543 // of `GetProcessImageFileNameW`. 1544 // 1545 // Type: string 1546 // RequirementLevel: ConditionallyRequired (See alternative attributes 1547 // below.) 1548 // Stability: stable 1549 // Examples: 'otelcol' 1550 ProcessExecutableNameKey = attribute.Key("process.executable.name") 1551 1552 // ProcessExecutablePathKey is the attribute Key conforming to the 1553 // "process.executable.path" semantic conventions. It represents the full 1554 // path to the process executable. On Linux based systems, can be set to 1555 // the target of `proc/[pid]/exe`. On Windows, can be set to the result of 1556 // `GetProcessImageFileNameW`. 1557 // 1558 // Type: string 1559 // RequirementLevel: ConditionallyRequired (See alternative attributes 1560 // below.) 1561 // Stability: stable 1562 // Examples: '/usr/bin/cmd/otelcol' 1563 ProcessExecutablePathKey = attribute.Key("process.executable.path") 1564 1565 // ProcessCommandKey is the attribute Key conforming to the 1566 // "process.command" semantic conventions. It represents the command used 1567 // to launch the process (i.e. the command name). On Linux based systems, 1568 // can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can 1569 // be set to the first parameter extracted from `GetCommandLineW`. 1570 // 1571 // Type: string 1572 // RequirementLevel: ConditionallyRequired (See alternative attributes 1573 // below.) 1574 // Stability: stable 1575 // Examples: 'cmd/otelcol' 1576 ProcessCommandKey = attribute.Key("process.command") 1577 1578 // ProcessCommandLineKey is the attribute Key conforming to the 1579 // "process.command_line" semantic conventions. It represents the full 1580 // command used to launch the process as a single string representing the 1581 // full command. On Windows, can be set to the result of `GetCommandLineW`. 1582 // Do not set this if you have to assemble it just for monitoring; use 1583 // `process.command_args` instead. 1584 // 1585 // Type: string 1586 // RequirementLevel: ConditionallyRequired (See alternative attributes 1587 // below.) 1588 // Stability: stable 1589 // Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"' 1590 ProcessCommandLineKey = attribute.Key("process.command_line") 1591 1592 // ProcessCommandArgsKey is the attribute Key conforming to the 1593 // "process.command_args" semantic conventions. It represents the all the 1594 // command arguments (including the command/executable itself) as received 1595 // by the process. On Linux-based systems (and some other Unixoid systems 1596 // supporting procfs), can be set according to the list of null-delimited 1597 // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, 1598 // this would be the full argv vector passed to `main`. 1599 // 1600 // Type: string[] 1601 // RequirementLevel: ConditionallyRequired (See alternative attributes 1602 // below.) 1603 // Stability: stable 1604 // Examples: 'cmd/otecol', '--config=config.yaml' 1605 ProcessCommandArgsKey = attribute.Key("process.command_args") 1606 1607 // ProcessOwnerKey is the attribute Key conforming to the "process.owner" 1608 // semantic conventions. It represents the username of the user that owns 1609 // the process. 1610 // 1611 // Type: string 1612 // RequirementLevel: Optional 1613 // Stability: stable 1614 // Examples: 'root' 1615 ProcessOwnerKey = attribute.Key("process.owner") 1616 ) 1617 1618 // ProcessPID returns an attribute KeyValue conforming to the "process.pid" 1619 // semantic conventions. It represents the process identifier (PID). 1620 func ProcessPID(val int) attribute.KeyValue { 1621 return ProcessPIDKey.Int(val) 1622 } 1623 1624 // ProcessParentPID returns an attribute KeyValue conforming to the 1625 // "process.parent_pid" semantic conventions. It represents the parent Process 1626 // identifier (PID). 1627 func ProcessParentPID(val int) attribute.KeyValue { 1628 return ProcessParentPIDKey.Int(val) 1629 } 1630 1631 // ProcessExecutableName returns an attribute KeyValue conforming to the 1632 // "process.executable.name" semantic conventions. It represents the name of 1633 // the process executable. On Linux based systems, can be set to the `Name` in 1634 // `proc/[pid]/status`. On Windows, can be set to the base name of 1635 // `GetProcessImageFileNameW`. 1636 func ProcessExecutableName(val string) attribute.KeyValue { 1637 return ProcessExecutableNameKey.String(val) 1638 } 1639 1640 // ProcessExecutablePath returns an attribute KeyValue conforming to the 1641 // "process.executable.path" semantic conventions. It represents the full path 1642 // to the process executable. On Linux based systems, can be set to the target 1643 // of `proc/[pid]/exe`. On Windows, can be set to the result of 1644 // `GetProcessImageFileNameW`. 1645 func ProcessExecutablePath(val string) attribute.KeyValue { 1646 return ProcessExecutablePathKey.String(val) 1647 } 1648 1649 // ProcessCommand returns an attribute KeyValue conforming to the 1650 // "process.command" semantic conventions. It represents the command used to 1651 // launch the process (i.e. the command name). On Linux based systems, can be 1652 // set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to 1653 // the first parameter extracted from `GetCommandLineW`. 1654 func ProcessCommand(val string) attribute.KeyValue { 1655 return ProcessCommandKey.String(val) 1656 } 1657 1658 // ProcessCommandLine returns an attribute KeyValue conforming to the 1659 // "process.command_line" semantic conventions. It represents the full command 1660 // used to launch the process as a single string representing the full command. 1661 // On Windows, can be set to the result of `GetCommandLineW`. Do not set this 1662 // if you have to assemble it just for monitoring; use `process.command_args` 1663 // instead. 1664 func ProcessCommandLine(val string) attribute.KeyValue { 1665 return ProcessCommandLineKey.String(val) 1666 } 1667 1668 // ProcessCommandArgs returns an attribute KeyValue conforming to the 1669 // "process.command_args" semantic conventions. It represents the all the 1670 // command arguments (including the command/executable itself) as received by 1671 // the process. On Linux-based systems (and some other Unixoid systems 1672 // supporting procfs), can be set according to the list of null-delimited 1673 // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, 1674 // this would be the full argv vector passed to `main`. 1675 func ProcessCommandArgs(val ...string) attribute.KeyValue { 1676 return ProcessCommandArgsKey.StringSlice(val) 1677 } 1678 1679 // ProcessOwner returns an attribute KeyValue conforming to the 1680 // "process.owner" semantic conventions. It represents the username of the user 1681 // that owns the process. 1682 func ProcessOwner(val string) attribute.KeyValue { 1683 return ProcessOwnerKey.String(val) 1684 } 1685 1686 // The single (language) runtime instance which is monitored. 1687 const ( 1688 // ProcessRuntimeNameKey is the attribute Key conforming to the 1689 // "process.runtime.name" semantic conventions. It represents the name of 1690 // the runtime of this process. For compiled native binaries, this SHOULD 1691 // be the name of the compiler. 1692 // 1693 // Type: string 1694 // RequirementLevel: Optional 1695 // Stability: stable 1696 // Examples: 'OpenJDK Runtime Environment' 1697 ProcessRuntimeNameKey = attribute.Key("process.runtime.name") 1698 1699 // ProcessRuntimeVersionKey is the attribute Key conforming to the 1700 // "process.runtime.version" semantic conventions. It represents the 1701 // version of the runtime of this process, as returned by the runtime 1702 // without modification. 1703 // 1704 // Type: string 1705 // RequirementLevel: Optional 1706 // Stability: stable 1707 // Examples: '14.0.2' 1708 ProcessRuntimeVersionKey = attribute.Key("process.runtime.version") 1709 1710 // ProcessRuntimeDescriptionKey is the attribute Key conforming to the 1711 // "process.runtime.description" semantic conventions. It represents an 1712 // additional description about the runtime of the process, for example a 1713 // specific vendor customization of the runtime environment. 1714 // 1715 // Type: string 1716 // RequirementLevel: Optional 1717 // Stability: stable 1718 // Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0' 1719 ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description") 1720 ) 1721 1722 // ProcessRuntimeName returns an attribute KeyValue conforming to the 1723 // "process.runtime.name" semantic conventions. It represents the name of the 1724 // runtime of this process. For compiled native binaries, this SHOULD be the 1725 // name of the compiler. 1726 func ProcessRuntimeName(val string) attribute.KeyValue { 1727 return ProcessRuntimeNameKey.String(val) 1728 } 1729 1730 // ProcessRuntimeVersion returns an attribute KeyValue conforming to the 1731 // "process.runtime.version" semantic conventions. It represents the version of 1732 // the runtime of this process, as returned by the runtime without 1733 // modification. 1734 func ProcessRuntimeVersion(val string) attribute.KeyValue { 1735 return ProcessRuntimeVersionKey.String(val) 1736 } 1737 1738 // ProcessRuntimeDescription returns an attribute KeyValue conforming to the 1739 // "process.runtime.description" semantic conventions. It represents an 1740 // additional description about the runtime of the process, for example a 1741 // specific vendor customization of the runtime environment. 1742 func ProcessRuntimeDescription(val string) attribute.KeyValue { 1743 return ProcessRuntimeDescriptionKey.String(val) 1744 } 1745 1746 // A service instance. 1747 const ( 1748 // ServiceNameKey is the attribute Key conforming to the "service.name" 1749 // semantic conventions. It represents the logical name of the service. 1750 // 1751 // Type: string 1752 // RequirementLevel: Required 1753 // Stability: stable 1754 // Examples: 'shoppingcart' 1755 // Note: MUST be the same for all instances of horizontally scaled 1756 // services. If the value was not specified, SDKs MUST fallback to 1757 // `unknown_service:` concatenated with 1758 // [`process.executable.name`](process.md#process), e.g. 1759 // `unknown_service:bash`. If `process.executable.name` is not available, 1760 // the value MUST be set to `unknown_service`. 1761 ServiceNameKey = attribute.Key("service.name") 1762 ) 1763 1764 // ServiceName returns an attribute KeyValue conforming to the 1765 // "service.name" semantic conventions. It represents the logical name of the 1766 // service. 1767 func ServiceName(val string) attribute.KeyValue { 1768 return ServiceNameKey.String(val) 1769 } 1770 1771 // A service instance. 1772 const ( 1773 // ServiceNamespaceKey is the attribute Key conforming to the 1774 // "service.namespace" semantic conventions. It represents a namespace for 1775 // `service.name`. 1776 // 1777 // Type: string 1778 // RequirementLevel: Optional 1779 // Stability: stable 1780 // Examples: 'Shop' 1781 // Note: A string value having a meaning that helps to distinguish a group 1782 // of services, for example the team name that owns a group of services. 1783 // `service.name` is expected to be unique within the same namespace. If 1784 // `service.namespace` is not specified in the Resource then `service.name` 1785 // is expected to be unique for all services that have no explicit 1786 // namespace defined (so the empty/unspecified namespace is simply one more 1787 // valid namespace). Zero-length namespace string is assumed equal to 1788 // unspecified namespace. 1789 ServiceNamespaceKey = attribute.Key("service.namespace") 1790 1791 // ServiceInstanceIDKey is the attribute Key conforming to the 1792 // "service.instance.id" semantic conventions. It represents the string ID 1793 // of the service instance. 1794 // 1795 // Type: string 1796 // RequirementLevel: Optional 1797 // Stability: stable 1798 // Examples: 'my-k8s-pod-deployment-1', 1799 // '627cc493-f310-47de-96bd-71410b7dec09' 1800 // Note: MUST be unique for each instance of the same 1801 // `service.namespace,service.name` pair (in other words 1802 // `service.namespace,service.name,service.instance.id` triplet MUST be 1803 // globally unique). The ID helps to distinguish instances of the same 1804 // service that exist at the same time (e.g. instances of a horizontally 1805 // scaled service). It is preferable for the ID to be persistent and stay 1806 // the same for the lifetime of the service instance, however it is 1807 // acceptable that the ID is ephemeral and changes during important 1808 // lifetime events for the service (e.g. service restarts). If the service 1809 // has no inherent unique ID that can be used as the value of this 1810 // attribute it is recommended to generate a random Version 1 or Version 4 1811 // RFC 4122 UUID (services aiming for reproducible UUIDs may also use 1812 // Version 5, see RFC 4122 for more recommendations). 1813 ServiceInstanceIDKey = attribute.Key("service.instance.id") 1814 1815 // ServiceVersionKey is the attribute Key conforming to the 1816 // "service.version" semantic conventions. It represents the version string 1817 // of the service API or implementation. 1818 // 1819 // Type: string 1820 // RequirementLevel: Optional 1821 // Stability: stable 1822 // Examples: '2.0.0' 1823 ServiceVersionKey = attribute.Key("service.version") 1824 ) 1825 1826 // ServiceNamespace returns an attribute KeyValue conforming to the 1827 // "service.namespace" semantic conventions. It represents a namespace for 1828 // `service.name`. 1829 func ServiceNamespace(val string) attribute.KeyValue { 1830 return ServiceNamespaceKey.String(val) 1831 } 1832 1833 // ServiceInstanceID returns an attribute KeyValue conforming to the 1834 // "service.instance.id" semantic conventions. It represents the string ID of 1835 // the service instance. 1836 func ServiceInstanceID(val string) attribute.KeyValue { 1837 return ServiceInstanceIDKey.String(val) 1838 } 1839 1840 // ServiceVersion returns an attribute KeyValue conforming to the 1841 // "service.version" semantic conventions. It represents the version string of 1842 // the service API or implementation. 1843 func ServiceVersion(val string) attribute.KeyValue { 1844 return ServiceVersionKey.String(val) 1845 } 1846 1847 // The telemetry SDK used to capture data recorded by the instrumentation 1848 // libraries. 1849 const ( 1850 // TelemetrySDKNameKey is the attribute Key conforming to the 1851 // "telemetry.sdk.name" semantic conventions. It represents the name of the 1852 // telemetry SDK as defined above. 1853 // 1854 // Type: string 1855 // RequirementLevel: Required 1856 // Stability: stable 1857 // Examples: 'opentelemetry' 1858 TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name") 1859 1860 // TelemetrySDKLanguageKey is the attribute Key conforming to the 1861 // "telemetry.sdk.language" semantic conventions. It represents the 1862 // language of the telemetry SDK. 1863 // 1864 // Type: Enum 1865 // RequirementLevel: Required 1866 // Stability: stable 1867 TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language") 1868 1869 // TelemetrySDKVersionKey is the attribute Key conforming to the 1870 // "telemetry.sdk.version" semantic conventions. It represents the version 1871 // string of the telemetry SDK. 1872 // 1873 // Type: string 1874 // RequirementLevel: Required 1875 // Stability: stable 1876 // Examples: '1.2.3' 1877 TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version") 1878 ) 1879 1880 var ( 1881 // cpp 1882 TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp") 1883 // dotnet 1884 TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet") 1885 // erlang 1886 TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang") 1887 // go 1888 TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go") 1889 // java 1890 TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java") 1891 // nodejs 1892 TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs") 1893 // php 1894 TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php") 1895 // python 1896 TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python") 1897 // ruby 1898 TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby") 1899 // webjs 1900 TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs") 1901 // swift 1902 TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift") 1903 ) 1904 1905 // TelemetrySDKName returns an attribute KeyValue conforming to the 1906 // "telemetry.sdk.name" semantic conventions. It represents the name of the 1907 // telemetry SDK as defined above. 1908 func TelemetrySDKName(val string) attribute.KeyValue { 1909 return TelemetrySDKNameKey.String(val) 1910 } 1911 1912 // TelemetrySDKVersion returns an attribute KeyValue conforming to the 1913 // "telemetry.sdk.version" semantic conventions. It represents the version 1914 // string of the telemetry SDK. 1915 func TelemetrySDKVersion(val string) attribute.KeyValue { 1916 return TelemetrySDKVersionKey.String(val) 1917 } 1918 1919 // The telemetry SDK used to capture data recorded by the instrumentation 1920 // libraries. 1921 const ( 1922 // TelemetryAutoVersionKey is the attribute Key conforming to the 1923 // "telemetry.auto.version" semantic conventions. It represents the version 1924 // string of the auto instrumentation agent, if used. 1925 // 1926 // Type: string 1927 // RequirementLevel: Optional 1928 // Stability: stable 1929 // Examples: '1.2.3' 1930 TelemetryAutoVersionKey = attribute.Key("telemetry.auto.version") 1931 ) 1932 1933 // TelemetryAutoVersion returns an attribute KeyValue conforming to the 1934 // "telemetry.auto.version" semantic conventions. It represents the version 1935 // string of the auto instrumentation agent, if used. 1936 func TelemetryAutoVersion(val string) attribute.KeyValue { 1937 return TelemetryAutoVersionKey.String(val) 1938 } 1939 1940 // Resource describing the packaged software running the application code. Web 1941 // engines are typically executed using process.runtime. 1942 const ( 1943 // WebEngineNameKey is the attribute Key conforming to the "webengine.name" 1944 // semantic conventions. It represents the name of the web engine. 1945 // 1946 // Type: string 1947 // RequirementLevel: Required 1948 // Stability: stable 1949 // Examples: 'WildFly' 1950 WebEngineNameKey = attribute.Key("webengine.name") 1951 1952 // WebEngineVersionKey is the attribute Key conforming to the 1953 // "webengine.version" semantic conventions. It represents the version of 1954 // the web engine. 1955 // 1956 // Type: string 1957 // RequirementLevel: Optional 1958 // Stability: stable 1959 // Examples: '21.0.0' 1960 WebEngineVersionKey = attribute.Key("webengine.version") 1961 1962 // WebEngineDescriptionKey is the attribute Key conforming to the 1963 // "webengine.description" semantic conventions. It represents the 1964 // additional description of the web engine (e.g. detailed version and 1965 // edition information). 1966 // 1967 // Type: string 1968 // RequirementLevel: Optional 1969 // Stability: stable 1970 // Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 1971 // 2.2.2.Final' 1972 WebEngineDescriptionKey = attribute.Key("webengine.description") 1973 ) 1974 1975 // WebEngineName returns an attribute KeyValue conforming to the 1976 // "webengine.name" semantic conventions. It represents the name of the web 1977 // engine. 1978 func WebEngineName(val string) attribute.KeyValue { 1979 return WebEngineNameKey.String(val) 1980 } 1981 1982 // WebEngineVersion returns an attribute KeyValue conforming to the 1983 // "webengine.version" semantic conventions. It represents the version of the 1984 // web engine. 1985 func WebEngineVersion(val string) attribute.KeyValue { 1986 return WebEngineVersionKey.String(val) 1987 } 1988 1989 // WebEngineDescription returns an attribute KeyValue conforming to the 1990 // "webengine.description" semantic conventions. It represents the additional 1991 // description of the web engine (e.g. detailed version and edition 1992 // information). 1993 func WebEngineDescription(val string) attribute.KeyValue { 1994 return WebEngineDescriptionKey.String(val) 1995 } 1996 1997 // Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's 1998 // concepts. 1999 const ( 2000 // OTelScopeNameKey is the attribute Key conforming to the 2001 // "otel.scope.name" semantic conventions. It represents the name of the 2002 // instrumentation scope - (`InstrumentationScope.Name` in OTLP). 2003 // 2004 // Type: string 2005 // RequirementLevel: Optional 2006 // Stability: stable 2007 // Examples: 'io.opentelemetry.contrib.mongodb' 2008 OTelScopeNameKey = attribute.Key("otel.scope.name") 2009 2010 // OTelScopeVersionKey is the attribute Key conforming to the 2011 // "otel.scope.version" semantic conventions. It represents the version of 2012 // the instrumentation scope - (`InstrumentationScope.Version` in OTLP). 2013 // 2014 // Type: string 2015 // RequirementLevel: Optional 2016 // Stability: stable 2017 // Examples: '1.0.0' 2018 OTelScopeVersionKey = attribute.Key("otel.scope.version") 2019 ) 2020 2021 // OTelScopeName returns an attribute KeyValue conforming to the 2022 // "otel.scope.name" semantic conventions. It represents the name of the 2023 // instrumentation scope - (`InstrumentationScope.Name` in OTLP). 2024 func OTelScopeName(val string) attribute.KeyValue { 2025 return OTelScopeNameKey.String(val) 2026 } 2027 2028 // OTelScopeVersion returns an attribute KeyValue conforming to the 2029 // "otel.scope.version" semantic conventions. It represents the version of the 2030 // instrumentation scope - (`InstrumentationScope.Version` in OTLP). 2031 func OTelScopeVersion(val string) attribute.KeyValue { 2032 return OTelScopeVersionKey.String(val) 2033 } 2034 2035 // Span attributes used by non-OTLP exporters to represent OpenTelemetry 2036 // Scope's concepts. 2037 const ( 2038 // OTelLibraryNameKey is the attribute Key conforming to the 2039 // "otel.library.name" semantic conventions. It represents the deprecated, 2040 // use the `otel.scope.name` attribute. 2041 // 2042 // Type: string 2043 // RequirementLevel: Optional 2044 // Stability: deprecated 2045 // Examples: 'io.opentelemetry.contrib.mongodb' 2046 OTelLibraryNameKey = attribute.Key("otel.library.name") 2047 2048 // OTelLibraryVersionKey is the attribute Key conforming to the 2049 // "otel.library.version" semantic conventions. It represents the 2050 // deprecated, use the `otel.scope.version` attribute. 2051 // 2052 // Type: string 2053 // RequirementLevel: Optional 2054 // Stability: deprecated 2055 // Examples: '1.0.0' 2056 OTelLibraryVersionKey = attribute.Key("otel.library.version") 2057 ) 2058 2059 // OTelLibraryName returns an attribute KeyValue conforming to the 2060 // "otel.library.name" semantic conventions. It represents the deprecated, use 2061 // the `otel.scope.name` attribute. 2062 func OTelLibraryName(val string) attribute.KeyValue { 2063 return OTelLibraryNameKey.String(val) 2064 } 2065 2066 // OTelLibraryVersion returns an attribute KeyValue conforming to the 2067 // "otel.library.version" semantic conventions. It represents the deprecated, 2068 // use the `otel.scope.version` attribute. 2069 func OTelLibraryVersion(val string) attribute.KeyValue { 2070 return OTelLibraryVersionKey.String(val) 2071 }