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