gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

resource.go (78306B)


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