diff --git a/Makefile b/Makefile index a7f6d8cc688..4632a681897 100644 --- a/Makefile +++ b/Makefile @@ -99,6 +99,12 @@ $(PYTOOLS)/%: $(PYTOOLS) CODESPELL = $(PYTOOLS)/codespell $(CODESPELL): PACKAGE=codespell +# Definitions for semconvgen +DOCKER_USER=$(shell id -u):$(shell id -g) +# TODO - Pull docker image versions from rennovate-friendly source, e.g. +# $(shell cat dependencies.Dockerfile | awk '$$4=="weaver" {print $$2}') +WEAVER_CONTAINER=otel/weaver:v0.12.0 + # Generate .PHONY: generate @@ -267,11 +273,25 @@ check-clean-work-tree: SEMCONVPKG ?= "semconv/" .PHONY: semconv-generate -semconv-generate: $(SEMCONVGEN) $(SEMCONVKIT) +semconv-generate: $(SEMCONVKIT) [ "$(TAG)" ] || ( echo "TAG unset: missing opentelemetry semantic-conventions tag"; exit 1 ) - [ "$(OTEL_SEMCONV_REPO)" ] || ( echo "OTEL_SEMCONV_REPO unset: missing path to opentelemetry semantic-conventions repo"; exit 1 ) - $(SEMCONVGEN) -i "$(OTEL_SEMCONV_REPO)/model/." --only=attribute_group -p conventionType=trace -f attribute_group.go -z "$(SEMCONVPKG)/capitalizations.txt" -t "$(SEMCONVPKG)/template.j2" -s "$(TAG)" - $(SEMCONVGEN) -i "$(OTEL_SEMCONV_REPO)/model/." --only=metric -f metric.go -t "$(SEMCONVPKG)/metric_template.j2" -s "$(TAG)" +# Ensure the target directory for source code is available. + mkdir -p $(PWD)/$(SEMCONVPKG)/${TAG} +# Note: We mount a home directory for downloading/storing the semconv repository. +# Weaver will automatically clean the cache when finished, but the directories will remain. + mkdir -p ~/.weaver + docker run --rm \ + -u $(DOCKER_USER) \ + --env HOME=/tmp/weaver \ + --mount 'type=bind,source=$(PWD)/semconv,target=/home/weaver/templates/registry/go,readonly' \ + --mount 'type=bind,source=$(PWD)/semconv/${TAG},target=/home/weaver/target' \ + --mount 'type=bind,source=$(HOME)/.weaver,target=/tmp/weaver/.weaver' \ + $(WEAVER_CONTAINER) registry generate \ + --registry=https://github.com/open-telemetry/semantic-conventions.git@$(TAG)#model \ + --templates=/home/weaver/templates \ + --param tag=$(TAG) \ + go \ + /home/weaver/target $(SEMCONVKIT) -output "$(SEMCONVPKG)/$(TAG)" -tag "$(TAG)" .PHONY: gorelease diff --git a/semconv/attribute_group.go.j2 b/semconv/attribute_group.go.j2 new file mode 100644 index 00000000000..b76998440d1 --- /dev/null +++ b/semconv/attribute_group.go.j2 @@ -0,0 +1,20 @@ +{% import 'helpers.j2' as h -%} +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated from semantic convention specification. DO NOT EDIT. + +package semconv // import "go.opentelemetry.io/otel/semconv/{{params.tag}}" + +import "go.opentelemetry.io/otel/attribute" +{%- for group in ctx %} +{%- set ns = namespace(attrs=0) %} +{%- for attribute in group.attributes if not attribute.deprecated %} +{%- set ns.attrs = ns.attrs + 1 %} +{%- endfor %} +{%- if ns.attrs > 0 %} +{{- h.generate_consts(group) }} +{{- h.generate_funcs(group) }} +{{- h.generate_vars(group) }} +{%- endif %} +{%- endfor %} diff --git a/semconv/helpers.j2 b/semconv/helpers.j2 new file mode 100644 index 00000000000..f2512e43c07 --- /dev/null +++ b/semconv/helpers.j2 @@ -0,0 +1,99 @@ +{%- macro smart_title_case(text) -%} +{%- for i in range(0, text | length) -%} + {%- if i == 0 or text[i-1] in ['.', '_'] -%} + {{ text[i] | upper }} + {%- elif not text[i] in ['.', '_'] -%} + {{ text[i] }} + {%- endif -%} +{%- endfor -%} +{%- endmacro -%} + +{%- macro to_go_name(fqn) -%} +{{ smart_title_case(fqn | replace(" ", "") | replace("_", ".") | acronym) }} +{%- endmacro -%} + +{%- macro deprecated_doc(attr) -%} +{% if attr is deprecated %}Deprecated: {{ attr.deprecated }}{% endif %} +{%- endmacro -%} + +{%- macro notes_doc(attr) -%} +{% if attr.note %}Note: {{ attr.note }}{% endif %} +{%- endmacro -%} + +{%- macro examples_doc(attr) -%} +{%- if attr.examples is iterable %} +Examples: {{ attr.examples | pprint | trim("[]") }} +{%- endif %} +{%- endmacro -%} + +{%- macro it_reps(brief) -%} +It represents {% if brief[:2] == "A " or brief[:3] == "An " or brief[:4] == "The " -%} + {{ brief[0]|lower }}{{ brief[1:] }} +{%- else -%} + the {{ brief[0]|lower }}{{ brief[1:] }} +{%- endif -%} +{%- endmacro -%} + +{%- macro keydoc(attr) -%} +{{ to_go_name(attr.name) }}Key is the attribute Key conforming to the "{{ attr.name }}" semantic conventions. {{ it_reps(attr.brief) }} +Stability: {{ attr.stability | title }} +{% if attr is enum %}Type: Enum{% else %}Type: {{ attr.type }}{% endif %} +{{ deprecated_doc(attr) }} +{{ examples_doc(attr) }} +{{ notes_doc(attr) }} +{%- endmacro -%} + +{%- macro generate_consts(group) -%} +{#- TODO: generate with group docs (i.e group by registry namespace) #} + +{{ ["Namespace: " ~ group.root_namespace] | comment(format="go") }} +const ( +{%- for attribute in group.attributes if not attribute.deprecated %} +{#- TODO: Handle template attributes. #} +{%- if not attribute.type is template_type %} +{{ keydoc(attribute) | comment(format="go_1tab") }} + {{to_go_name(attribute.name)}}Key = attribute.Key("{{attribute.name}}") +{% endif -%} +{%- endfor -%} +) +{%- endmacro -%} + +{%- macro generate_funcs(group) -%} +{%- for attribute in group.attributes if not attribute.deprecated %} +{#- TODO: Handle template attributes. #} +{%- if not attribute.type is template_type %} + +{{ [to_go_name(attribute.name) ~ " returns an attribute KeyValue conforming to the \"" ~ attribute.name ~ "\" semantic conventions. " ~ it_reps(attribute.brief) ] | comment(format="go") }} +func {{to_go_name(attribute.name)}}(val {{attribute.type | instantiated_type | map_text("attribute_type_value")}}) attribute.KeyValue { + return {{to_go_name(attribute.name)}}Key.{{attribute.type | instantiated_type | map_text("attribute_type_method")}}(val) +} +{%- endif %} +{%- endfor %} +{%- endmacro -%} + +{%- macro generate_vars(group) -%} +{#- Render values for enums #} +{%- for attribute in group.attributes if not attribute.deprecated %} +{%- if attribute is enum %} + +{{ ["Enum values for " ~ attribute.name] | comment(format="go") }} +var ( +{%- for value in attribute.type.members %} +{{ [value.brief or value.id, "Stability: " ~ value.stability] | comment(format="go_1tab") }} +{%- if value.deprecated %} +{{- value.deprecated | comment(format="go_1tab") }} +{%- endif %} + {{to_go_name(attribute.name ~ "." ~ value.id)}} = {{ to_go_name(attribute.name) }}Key.{{attribute.type | instantiated_type | map_text("attribute_type_method")}}({{ value.value | print_member_value }}) +{%- endfor %} +) +{%- endif %} +{%- endfor %} +{%- endmacro -%} + +{%- macro metric_keydoc(metric) -%} +{%- if not metric.brief -%} +{{ to_go_name(metric.metric_name) }} is the metric conforming to the "{{ metric.metric_name}}" semantic conventions. +{%- else -%} +{{ to_go_name(metric.metric_name) }} is the metric conforming to the "{{ metric.metric_name}}" semantic conventions. {{ it_reps(metric.brief)|trim(".") }}. +{%- endif %} +{%- endmacro -%} diff --git a/semconv/metric.go.j2 b/semconv/metric.go.j2 new file mode 100644 index 00000000000..3499c533871 --- /dev/null +++ b/semconv/metric.go.j2 @@ -0,0 +1,27 @@ +{% import 'helpers.j2' as h -%} +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated from semantic convention specification. DO NOT EDIT. + +package semconv // import "go.opentelemetry.io/otel/semconv/{{params.tag}}" + +const ( +{%- for metric in ctx %} + {{ h.metric_keydoc(metric) | comment(indent=2) }} + // Instrument: {{ metric.instrument }} + // Unit: {{ metric.unit }} + // Stability: {{ metric.stability }} +{%- if metric is deprecated %} + // Deprecated: {{ metric.deprecated }} +{%- endif %} +{%- if not metric.brief %} + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. +{%- endif %} + {{ h.to_go_name(metric.metric_name) }}Name = "{{ metric.metric_name }}" + {{ h.to_go_name(metric.metric_name) }}Unit = "{{ metric.unit }}" +{%- if metric.brief %} + {{ h.to_go_name(metric.metric_name) }}Description = "{{ metric.brief | trim }}" +{%- endif %} +{%- endfor %} +) diff --git a/semconv/metric_template.j2 b/semconv/metric_template.j2 deleted file mode 100644 index 144d280a875..00000000000 --- a/semconv/metric_template.j2 +++ /dev/null @@ -1,49 +0,0 @@ -{%- macro to_go_name(fqn) -%} -{{fqn | replace(".", " ") | replace("_", " ") | title | replace(" ", "")}} -{%- endmacro -%} -{%- macro it_reps(brief) -%} -It represents {% if brief[:2] == "A " or brief[:3] == "An " or brief[:4] == "The " -%} - {{ brief[0]|lower }}{{ brief[1:] }} -{%- else -%} - the {{ brief[0]|lower }}{{ brief[1:] }} -{%- endif -%} -{%- endmacro -%} -{%- macro keydoc(metric) -%} -{%- if metric.stability|string() == "StabilityLevel.DEPRECATED" or not metric.brief-%} -{{ to_go_name(metric.metric_name) }} is the metric conforming to the "{{ metric.metric_name}}" semantic conventions. -{%- else -%} -{{ to_go_name(metric.metric_name) }} is the metric conforming to the "{{ metric.metric_name}}" semantic conventions. {{ it_reps(metric.brief)|trim(".") }}. -{%- endif %} -{%- endmacro -%} -{%- macro format_stability(stability) -%} -{%- if not stability -%} -Experimental -{%- else -%} -{{ stability|replace("StabilityLevel.", "")|capitalize() }} -{%- endif %} -{%- endmacro -%} -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -// Code generated from semantic convention specification. DO NOT EDIT. - -package semconv // import [[IMPORTPATH]] - -const ( -{% for id in semconvs %} -{%- if semconvs[id].GROUP_TYPE_NAME == 'metric' %}{% set metric = semconvs[id] %} - // {{ keydoc(metric) | wordwrap(76, break_long_words=false, break_on_hyphens=false, wrapstring="\n// ") }} - // Instrument: {{ metric.instrument }} - // Unit: {{ metric.unit }} - // Stability: {{ format_stability(metric.stability) }} -{%- if not metric.brief %} - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. -{%- endif %} - {{to_go_name(metric.metric_name)}}Name = "{{metric.metric_name}}" - {{to_go_name(metric.metric_name)}}Unit = "{{metric.unit}}" -{%- if metric.brief %} - {{to_go_name(metric.metric_name)}}Description = "{{metric.brief}}" -{%- endif %} -{%- endif %} -{% endfor %} -) diff --git a/semconv/template.j2 b/semconv/template.j2 deleted file mode 100644 index 4ee8ef559da..00000000000 --- a/semconv/template.j2 +++ /dev/null @@ -1,145 +0,0 @@ -{%- macro keyval_method(type) -%} - {%- if type == "string" -%} - String - {%- elif type == "string[]" -%} - StringSlice - {%- elif type == "int" -%} - Int - {%- elif type == "int[]" -%} - IntSlice - {%- elif type == "double" -%} - Float64 - {%- elif type == "double[]" -%} - Float64Slice - {%- elif type == "boolean" -%} - Bool - {%- elif type == "boolean[]" -%} - BoolSlice - {%- endif -%} -{%- endmacro -%} -{%- macro to_go_attr_type(type, val) -%} -{{keyval_method(type)}}({% if type == "string" %}"{{val}}"{% else %}{{val}}{% endif %}) -{%- endmacro -%} -{%- macro to_go_name(fqn) -%} -{{fqn | replace(".", " ") | replace("_", " ") | title | replace(" ", "")}} -{%- endmacro -%} -{%- macro it_reps(brief) -%} -It represents {% if brief[:2] == "A " or brief[:3] == "An " or brief[:4] == "The " -%} - {{ brief[0]|lower }}{{ brief[1:] }} -{%- else -%} - the {{ brief[0]|lower }}{{ brief[1:] }} -{%- endif -%} -{%- endmacro -%} -{%- macro keydoc(attr) -%} -{%- if attr.stability|string() == "StabilityLevel.DEPRECATED" -%} -{{ to_go_name(attr.fqn) }}Key is the attribute Key conforming to the "{{ attr.fqn }}" semantic conventions. -{%- else -%} -{{ to_go_name(attr.fqn) }}Key is the attribute Key conforming to the "{{ attr.fqn }}" semantic conventions. {{ it_reps(attr.brief) }} -{%- endif %} -{%- endmacro -%} -{%- macro keydetails(attr) -%} -{%- if attr.attr_type is string %} -Type: {{ attr.attr_type }} -{%- else %} -Type: Enum -{%- endif %} -{%- if attr.requirement_level == RequirementLevel.REQUIRED %} -RequirementLevel: Required -{%- elif attr.requirement_level == RequirementLevel.CONDITIONALLY_REQUIRED %} -RequirementLevel: ConditionallyRequired - {%- if attr.requirement_level_msg != "" %} ({{ attr.requirement_level_msg }}){%- endif %} -{%- elif attr.requirement_level == RequirementLevel.RECOMMENDED %} -RequirementLevel: Recommended - {%- if attr.requirement_level_msg != "" %} ({{ attr.requirement_level_msg }}){%- endif %} -{%- else %} -RequirementLevel: Optional -{%- endif %} -{{ attr.stability | replace("Level.", ": ") | capitalize }} -{%- if attr.examples is iterable %} -Examples: {{ attr.examples | pprint | trim("[]") }} -{%- endif %} -{%- if attr.note %} -Note: {{ attr.note }} -{%- endif %} -{%- if attr.stability|string() == "StabilityLevel.DEPRECATED" %} -Deprecated: {{ attr.brief | replace("Deprecated, ", "") }} -{%- endif %} -{%- endmacro -%} -{%- macro fndoc(attr) -%} -{%- if attr.stability|string() == "StabilityLevel.DEPRECATED" -%} -// {{ to_go_name(attr.fqn) }} returns an attribute KeyValue conforming to the "{{ attr.fqn }}" semantic conventions. - -Deprecated: {{ attr.brief | replace("Deprecated, ", "") }} -{%- else -%} -// {{ to_go_name(attr.fqn) }} returns an attribute KeyValue conforming to the "{{ attr.fqn }}" semantic conventions. {{ it_reps(attr.brief) }} -{%- endif %} -{%- endmacro -%} -{%- macro to_go_func(type, name) -%} -{%- if type == "string" -%} -func {{name}}(val string) attribute.KeyValue { -{%- elif type == "string[]" -%} -func {{name}}(val ...string) attribute.KeyValue { -{%- elif type == "int" -%} -func {{name}}(val int) attribute.KeyValue { -{%- elif type == "int[]" -%} -func {{name}}(val ...int) attribute.KeyValue { -{%- elif type == "double" -%} -func {{name}}(val float64) attribute.KeyValue { -{%- elif type == "double[]" -%} -func {{name}}(val ...float64) attribute.KeyValue { -{%- elif type == "boolean" -%} -func {{name}}(val bool) attribute.KeyValue { -{%- elif type == "boolean[]" -%} -func {{name}}(val ...bool) attribute.KeyValue { -{%- endif -%} - return {{name}}Key.{{keyval_method(type)}}(val) -} -{%- endmacro -%} -{%- macro sentence_case(text) -%} - {{ text[0]|upper}}{{text[1:] }} -{%- endmacro -%} -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -// Code generated from semantic convention specification. DO NOT EDIT. - -package semconv // import [[IMPORTPATH]] - -import "go.opentelemetry.io/otel/attribute" - -{% for semconv in semconvs -%} -{%- if semconvs[semconv].attributes | rejectattr("ref") | rejectattr("deprecated") | selectattr("is_local") | sort(attribute=fqn) | length > 0 -%} -// {{ sentence_case(semconvs[semconv].brief | replace("This document defines ", "")) | wordwrap(76, break_long_words=false, break_on_hyphens=false, wrapstring="\n// ") }} -const ( -{%- for attr in semconvs[semconv].attributes if attr.is_local and not attr.ref and not attr.deprecated %} - // {{ keydoc(attr) | wordwrap(72, break_long_words=false, break_on_hyphens=false, wrapstring="\n\t// ") }} - // {{ keydetails(attr) | wordwrap(72, break_long_words=false, break_on_hyphens=false, wrapstring="\n\t// ") }} - {{to_go_name(attr.fqn)}}Key = attribute.Key("{{attr.fqn}}") -{% endfor -%} -) -{%- for attr in semconvs[semconv].attributes if attr.is_local and not attr.ref and not attr.deprecated -%} -{%- if attr.attr_type is not string %} - -var ( -{%- for val in attr.attr_type.members %} - // {{ val.brief | to_doc_brief }} -{%- if attr.stability|string() == "StabilityLevel.DEPRECATED" %} - // - // Deprecated: {{ attr.brief | replace("Deprecated, ", "") | wordwrap(76, break_long_words=false, break_on_hyphens=false, wrapstring="\n// ") }} -{%- endif %} - {{to_go_name("{}.{}".format(attr.fqn, val.member_id))}} = {{to_go_name(attr.fqn)}}Key.{{to_go_attr_type(attr.attr_type.enum_type, val.value)}} -{%- endfor %} -) -{%- endif -%} -{%- endfor %} -{%- for attr in semconvs[semconv].attributes if attr.is_local and not attr.ref and not attr.deprecated -%} -{%- if attr.attr_type is string %} - -{{ fndoc(attr) | wordwrap(76, break_long_words=false, break_on_hyphens=false, wrapstring="\n// ") }} -{{to_go_func(attr.attr_type, to_go_name(attr.fqn))}} -{%- endif -%} -{%- endfor %} - -{% endif %} -{% endfor -%} - diff --git a/semconv/v1.27.0/attribute_group.go b/semconv/v1.27.0/attribute_group.go index 83e8fd91aca..712854f0b9a 100644 --- a/semconv/v1.27.0/attribute_group.go +++ b/semconv/v1.27.0/attribute_group.go @@ -7,167 +7,186 @@ package semconv // import "go.opentelemetry.io/otel/semconv/v1.27.0" import "go.opentelemetry.io/otel/attribute" -// The Android platform on which the Android application is running. +// Namespace: android const ( // AndroidOSAPILevelKey is the attribute Key conforming to the // "android.os.api_level" semantic conventions. It represents the uniquely - // identifies the framework API revision offered by a version - // (`os.version`) of the android operating system. More information can be - // found - // [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#APILevels). + // identifies the framework API revision offered by a version (`os.version`) + // of the android operating system. More information can be found [here]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '33', '32' + // + // Examples: + // "33", + // "32", + // + // [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels AndroidOSAPILevelKey = attribute.Key("android.os.api_level") ) // AndroidOSAPILevel returns an attribute KeyValue conforming to the // "android.os.api_level" semantic conventions. It represents the uniquely // identifies the framework API revision offered by a version (`os.version`) of -// the android operating system. More information can be found -// [here](https://developer.android.com/guide/topics/manifest/uses-sdk-element#APILevels). +// the android operating system. More information can be found [here] +// +// [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels func AndroidOSAPILevel(val string) attribute.KeyValue { return AndroidOSAPILevelKey.String(val) } -// This group describes attributes specific to artifacts. Artifacts are files -// or other immutable objects that are intended for distribution. This -// definition aligns directly with the -// [SLSA](https://slsa.dev/spec/v1.0/terminology#package-model) package model. +// Namespace: artifact const ( // ArtifactAttestationFilenameKey is the attribute Key conforming to the // "artifact.attestation.filename" semantic conventions. It represents the - // provenance filename of the built attestation which directly relates to - // the build artifact filename. This filename SHOULD accompany the artifact - // at publish time. See the [SLSA - // Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) - // specification for more information. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'golang-binary-amd64-v0.1.0.attestation', - // 'docker-image-amd64-v0.1.0.intoto.json1', - // 'release-1.tar.gz.attestation', 'file-name-package.tar.gz.intoto.json1' + // provenance filename of the built attestation which directly relates to the + // build artifact filename. This filename SHOULD accompany the artifact at + // publish time. See the [SLSA Relationship] specification for more + // information. + // + // Stability: Development + // Type: string + // + // Examples: + // "golang-binary-amd64-v0.1.0.attestation", + // "docker-image-amd64-v0.1.0.intoto.json1", + // "release-1.tar.gz.attestation", + // "file-name-package.tar.gz.intoto.json1", + // + // [SLSA Relationship]: https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations ArtifactAttestationFilenameKey = attribute.Key("artifact.attestation.filename") // ArtifactAttestationHashKey is the attribute Key conforming to the // "artifact.attestation.hash" semantic conventions. It represents the full - // [hash value (see - // glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), - // of the built attestation. Some envelopes in the software attestation - // space also refer to this as the - // [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). + // [hash value (see glossary)], of the built attestation. Some envelopes in + // the [software attestation space] also refer to this as the **digest**. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // '1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408' + // "1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408", + // + // [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf + // [software attestation space]: https://github.com/in-toto/attestation/tree/main/spec ArtifactAttestationHashKey = attribute.Key("artifact.attestation.hash") // ArtifactAttestationIDKey is the attribute Key conforming to the - // "artifact.attestation.id" semantic conventions. It represents the id of - // the build [software attestation](https://slsa.dev/attestation-model). + // "artifact.attestation.id" semantic conventions. It represents the id of the + // build [software attestation]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '123' + // + // Examples: + // "123", + // + // [software attestation]: https://slsa.dev/attestation-model ArtifactAttestationIDKey = attribute.Key("artifact.attestation.id") // ArtifactFilenameKey is the attribute Key conforming to the - // "artifact.filename" semantic conventions. It represents the human - // readable file name of the artifact, typically generated during build and - // release processes. Often includes the package name and version in the - // file name. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', - // 'release-1.tar.gz', 'file-name-package.tar.gz' - // Note: This file name can also act as the [Package - // Name](https://slsa.dev/spec/v1.0/terminology#package-model) + // "artifact.filename" semantic conventions. It represents the human readable + // file name of the artifact, typically generated during build and release + // processes. Often includes the package name and version in the file name. + // + // Stability: Development + // Type: string + // + // Examples: + // "golang-binary-amd64-v0.1.0", + // "docker-image-amd64-v0.1.0", + // "release-1.tar.gz", + // "file-name-package.tar.gz", + // + // Note: This file name can also act as the [Package Name] // in cases where the package ecosystem maps accordingly. - // Additionally, the artifact [can be - // published](https://slsa.dev/spec/v1.0/terminology#software-supply-chain) - // for others, but that is not a guarantee. + // Additionally, the artifact [can be published] + // for others, but that is not a guarantee + // + // [Package Name]: https://slsa.dev/spec/v1.0/terminology#package-model + // [can be published]: https://slsa.dev/spec/v1.0/terminology#software-supply-chain ArtifactFilenameKey = attribute.Key("artifact.filename") // ArtifactHashKey is the attribute Key conforming to the "artifact.hash" - // semantic conventions. It represents the full [hash value (see - // glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), - // often found in checksum.txt on a release of the artifact and used to - // verify package integrity. + // semantic conventions. It represents the full [hash value (see glossary)], + // often found in checksum.txt on a release of the artifact and used to verify + // package integrity. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // '9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9' - // Note: The specific algorithm used to create the cryptographic hash value - // is + // "9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9", + // + // Note: The specific algorithm used to create the cryptographic hash value is // not defined. In situations where an artifact has multiple // cryptographic hashes, it is up to the implementer to choose which // hash value to set here; this should be the most secure hash algorithm // that is suitable for the situation and consistent with the // corresponding attestation. The implementer can then provide the other // hash values through an additional set of attribute extensions as they - // deem necessary. + // deem necessary + // + // [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf ArtifactHashKey = attribute.Key("artifact.hash") // ArtifactPurlKey is the attribute Key conforming to the "artifact.purl" - // semantic conventions. It represents the [Package - // URL](https://github.com/package-url/purl-spec) of the [package - // artifact](https://slsa.dev/spec/v1.0/terminology#package-model) provides - // a standard way to identify and locate the packaged artifact. + // semantic conventions. It represents the [Package URL] of the + // [package artifact] provides a standard way to identify and locate the + // packaged artifact. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'pkg:github/package-url/purl-spec@1209109710924', - // 'pkg:npm/foo@12.12.3' + // + // Examples: + // "pkg:github/package-url/purl-spec@1209109710924", + // "pkg:npm/foo@12.12.3", + // + // [Package URL]: https://github.com/package-url/purl-spec + // [package artifact]: https://slsa.dev/spec/v1.0/terminology#package-model ArtifactPurlKey = attribute.Key("artifact.purl") // ArtifactVersionKey is the attribute Key conforming to the - // "artifact.version" semantic conventions. It represents the version of - // the artifact. + // "artifact.version" semantic conventions. It represents the version of the + // artifact. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'v0.1.0', '1.2.1', '122691-build' + // + // Examples: + // "v0.1.0", + // "1.2.1", + // "122691-build", ArtifactVersionKey = attribute.Key("artifact.version") ) -// ArtifactAttestationFilename returns an attribute KeyValue conforming to -// the "artifact.attestation.filename" semantic conventions. It represents the +// ArtifactAttestationFilename returns an attribute KeyValue conforming to the +// "artifact.attestation.filename" semantic conventions. It represents the // provenance filename of the built attestation which directly relates to the // build artifact filename. This filename SHOULD accompany the artifact at -// publish time. See the [SLSA -// Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) -// specification for more information. +// publish time. See the [SLSA Relationship] specification for more information +// +// [SLSA Relationship]: https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations func ArtifactAttestationFilename(val string) attribute.KeyValue { return ArtifactAttestationFilenameKey.String(val) } // ArtifactAttestationHash returns an attribute KeyValue conforming to the // "artifact.attestation.hash" semantic conventions. It represents the full -// [hash value (see -// glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of -// the built attestation. Some envelopes in the software attestation space also -// refer to this as the -// [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). +// [hash value (see glossary)], of the built attestation. Some envelopes in the +// [software attestation space] also refer to this as the **digest** +// +// [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf +// [software attestation space]: https://github.com/in-toto/attestation/tree/main/spec func ArtifactAttestationHash(val string) attribute.KeyValue { return ArtifactAttestationHashKey.String(val) } // ArtifactAttestationID returns an attribute KeyValue conforming to the // "artifact.attestation.id" semantic conventions. It represents the id of the -// build [software attestation](https://slsa.dev/attestation-model). +// build [software attestation] +// +// [software attestation]: https://slsa.dev/attestation-model func ArtifactAttestationID(val string) attribute.KeyValue { return ArtifactAttestationIDKey.String(val) } @@ -175,482 +194,887 @@ func ArtifactAttestationID(val string) attribute.KeyValue { // ArtifactFilename returns an attribute KeyValue conforming to the // "artifact.filename" semantic conventions. It represents the human readable // file name of the artifact, typically generated during build and release -// processes. Often includes the package name and version in the file name. +// processes. Often includes the package name and version in the file name func ArtifactFilename(val string) attribute.KeyValue { return ArtifactFilenameKey.String(val) } -// ArtifactHash returns an attribute KeyValue conforming to the -// "artifact.hash" semantic conventions. It represents the full [hash value -// (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), +// ArtifactHash returns an attribute KeyValue conforming to the "artifact.hash" +// semantic conventions. It represents the full [hash value (see glossary)], // often found in checksum.txt on a release of the artifact and used to verify -// package integrity. +// package integrity +// +// [hash value (see glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf func ArtifactHash(val string) attribute.KeyValue { return ArtifactHashKey.String(val) } -// ArtifactPurl returns an attribute KeyValue conforming to the -// "artifact.purl" semantic conventions. It represents the [Package -// URL](https://github.com/package-url/purl-spec) of the [package -// artifact](https://slsa.dev/spec/v1.0/terminology#package-model) provides a -// standard way to identify and locate the packaged artifact. +// ArtifactPurl returns an attribute KeyValue conforming to the "artifact.purl" +// semantic conventions. It represents the [Package URL] of the +// [package artifact] provides a standard way to identify and locate the +// packaged artifact +// +// [Package URL]: https://github.com/package-url/purl-spec +// [package artifact]: https://slsa.dev/spec/v1.0/terminology#package-model func ArtifactPurl(val string) attribute.KeyValue { return ArtifactPurlKey.String(val) } // ArtifactVersion returns an attribute KeyValue conforming to the // "artifact.version" semantic conventions. It represents the version of the -// artifact. +// artifact func ArtifactVersion(val string) attribute.KeyValue { return ArtifactVersionKey.String(val) } -// ASP.NET Core attributes +// Namespace: aspnetcore const ( - // ASPNETCoreRateLimitingResultKey is the attribute Key conforming to the - // "aspnetcore.rate_limiting.result" semantic conventions. It represents - // the rate-limiting result, shows whether the lease was acquired or - // contains a rejection reason - // + // ASPNETCoreDiagnosticsExceptionResultKey is the attribute Key conforming to + // the "aspnetcore.diagnostics.exception.result" semantic conventions. It + // represents the aSP.NET Core exception middleware handling result + // Stability: Stable // Type: Enum - // RequirementLevel: Required - // Stability: stable - // Examples: 'acquired', 'request_canceled' - ASPNETCoreRateLimitingResultKey = attribute.Key("aspnetcore.rate_limiting.result") - - // ASPNETCoreDiagnosticsHandlerTypeKey is the attribute Key conforming to - // the "aspnetcore.diagnostics.handler.type" semantic conventions. It - // represents the full type name of the - // [`IExceptionHandler`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler) - // implementation that handled the exception. // - // Type: string - // RequirementLevel: ConditionallyRequired (if and only if the exception - // was handled by this handler.) - // Stability: stable - // Examples: 'Contoso.MyHandler' - ASPNETCoreDiagnosticsHandlerTypeKey = attribute.Key("aspnetcore.diagnostics.handler.type") + // Examples: + // "handled", + // "unhandled", + ASPNETCoreDiagnosticsExceptionResultKey = attribute.Key("aspnetcore.diagnostics.exception.result") - // ASPNETCoreDiagnosticsExceptionResultKey is the attribute Key conforming - // to the "aspnetcore.diagnostics.exception.result" semantic conventions. - // It represents the aSP.NET Core exception middleware handling result + // ASPNETCoreDiagnosticsHandlerTypeKey is the attribute Key conforming to the + // "aspnetcore.diagnostics.handler.type" semantic conventions. It represents + // the full type name of the [`IExceptionHandler`] implementation that handled + // the exception. + // Stability: Stable + // Type: string // - // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'handled', 'unhandled' - ASPNETCoreDiagnosticsExceptionResultKey = attribute.Key("aspnetcore.diagnostics.exception.result") + // Examples: + // "Contoso.MyHandler", + // + // [`IExceptionHandler`]: https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler + ASPNETCoreDiagnosticsHandlerTypeKey = attribute.Key("aspnetcore.diagnostics.handler.type") // ASPNETCoreRateLimitingPolicyKey is the attribute Key conforming to the - // "aspnetcore.rate_limiting.policy" semantic conventions. It represents - // the rate limiting policy name. - // + // "aspnetcore.rate_limiting.policy" semantic conventions. It represents the + // rate limiting policy name. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'fixed', 'sliding', 'token' + // + // Examples: + // "fixed", + // "sliding", + // "token", ASPNETCoreRateLimitingPolicyKey = attribute.Key("aspnetcore.rate_limiting.policy") - // ASPNETCoreRequestIsUnhandledKey is the attribute Key conforming to the - // "aspnetcore.request.is_unhandled" semantic conventions. It represents - // the flag indicating if request was handled by the application pipeline. + // ASPNETCoreRateLimitingResultKey is the attribute Key conforming to the + // "aspnetcore.rate_limiting.result" semantic conventions. It represents the + // rate-limiting result, shows whether the lease was acquired or contains a + // rejection reason + // Stability: Stable + // Type: Enum // + // Examples: + // "acquired", + // "request_canceled", + ASPNETCoreRateLimitingResultKey = attribute.Key("aspnetcore.rate_limiting.result") + + // ASPNETCoreRequestIsUnhandledKey is the attribute Key conforming to the + // "aspnetcore.request.is_unhandled" semantic conventions. It represents the + // flag indicating if request was handled by the application pipeline. + // Stability: Stable // Type: boolean - // RequirementLevel: Optional - // Stability: stable - // Examples: True + // + // Examples: + // true, ASPNETCoreRequestIsUnhandledKey = attribute.Key("aspnetcore.request.is_unhandled") // ASPNETCoreRoutingIsFallbackKey is the attribute Key conforming to the // "aspnetcore.routing.is_fallback" semantic conventions. It represents a // value that indicates whether the matched route is a fallback route. - // + // Stability: Stable // Type: boolean - // RequirementLevel: Optional - // Stability: stable - // Examples: True + // + // Examples: + // true, ASPNETCoreRoutingIsFallbackKey = attribute.Key("aspnetcore.routing.is_fallback") // ASPNETCoreRoutingMatchStatusKey is the attribute Key conforming to the - // "aspnetcore.routing.match_status" semantic conventions. It represents - // the match result - success or failure - // + // "aspnetcore.routing.match_status" semantic conventions. It represents the + // match result - success or failure + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'success', 'failure' + // + // Examples: + // "success", + // "failure", ASPNETCoreRoutingMatchStatusKey = attribute.Key("aspnetcore.routing.match_status") ) -var ( - // Lease was acquired - ASPNETCoreRateLimitingResultAcquired = ASPNETCoreRateLimitingResultKey.String("acquired") - // Lease request was rejected by the endpoint limiter - ASPNETCoreRateLimitingResultEndpointLimiter = ASPNETCoreRateLimitingResultKey.String("endpoint_limiter") - // Lease request was rejected by the global limiter - ASPNETCoreRateLimitingResultGlobalLimiter = ASPNETCoreRateLimitingResultKey.String("global_limiter") - // Lease request was canceled - ASPNETCoreRateLimitingResultRequestCanceled = ASPNETCoreRateLimitingResultKey.String("request_canceled") -) - -var ( - // Exception was handled by the exception handling middleware - ASPNETCoreDiagnosticsExceptionResultHandled = ASPNETCoreDiagnosticsExceptionResultKey.String("handled") - // Exception was not handled by the exception handling middleware - ASPNETCoreDiagnosticsExceptionResultUnhandled = ASPNETCoreDiagnosticsExceptionResultKey.String("unhandled") - // Exception handling was skipped because the response had started - ASPNETCoreDiagnosticsExceptionResultSkipped = ASPNETCoreDiagnosticsExceptionResultKey.String("skipped") - // Exception handling didn't run because the request was aborted - ASPNETCoreDiagnosticsExceptionResultAborted = ASPNETCoreDiagnosticsExceptionResultKey.String("aborted") -) - -var ( - // Match succeeded - ASPNETCoreRoutingMatchStatusSuccess = ASPNETCoreRoutingMatchStatusKey.String("success") - // Match failed - ASPNETCoreRoutingMatchStatusFailure = ASPNETCoreRoutingMatchStatusKey.String("failure") -) +// ASPNETCoreDiagnosticsExceptionResult returns an attribute KeyValue +// conforming to the "aspnetcore.diagnostics.exception.result" semantic +// conventions. It represents the aSP.NET Core exception middleware handling +// result +func ASPNETCoreDiagnosticsExceptionResult(val string) attribute.KeyValue { + return ASPNETCoreDiagnosticsExceptionResultKey.String(val) +} -// ASPNETCoreDiagnosticsHandlerType returns an attribute KeyValue conforming -// to the "aspnetcore.diagnostics.handler.type" semantic conventions. It -// represents the full type name of the -// [`IExceptionHandler`](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler) -// implementation that handled the exception. +// ASPNETCoreDiagnosticsHandlerType returns an attribute KeyValue conforming to +// the "aspnetcore.diagnostics.handler.type" semantic conventions. It +// represents the full type name of the [`IExceptionHandler`] implementation +// that handled the exception +// +// [`IExceptionHandler`]: https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler func ASPNETCoreDiagnosticsHandlerType(val string) attribute.KeyValue { return ASPNETCoreDiagnosticsHandlerTypeKey.String(val) } -// ASPNETCoreRateLimitingPolicy returns an attribute KeyValue conforming to -// the "aspnetcore.rate_limiting.policy" semantic conventions. It represents -// the rate limiting policy name. +// ASPNETCoreRateLimitingPolicy returns an attribute KeyValue conforming to the +// "aspnetcore.rate_limiting.policy" semantic conventions. It represents the +// rate limiting policy name func ASPNETCoreRateLimitingPolicy(val string) attribute.KeyValue { return ASPNETCoreRateLimitingPolicyKey.String(val) } -// ASPNETCoreRequestIsUnhandled returns an attribute KeyValue conforming to -// the "aspnetcore.request.is_unhandled" semantic conventions. It represents -// the flag indicating if request was handled by the application pipeline. +// ASPNETCoreRateLimitingResult returns an attribute KeyValue conforming to the +// "aspnetcore.rate_limiting.result" semantic conventions. It represents the +// rate-limiting result, shows whether the lease was acquired or contains a +// rejection reason +func ASPNETCoreRateLimitingResult(val string) attribute.KeyValue { + return ASPNETCoreRateLimitingResultKey.String(val) +} + +// ASPNETCoreRequestIsUnhandled returns an attribute KeyValue conforming to the +// "aspnetcore.request.is_unhandled" semantic conventions. It represents the +// flag indicating if request was handled by the application pipeline func ASPNETCoreRequestIsUnhandled(val bool) attribute.KeyValue { return ASPNETCoreRequestIsUnhandledKey.Bool(val) } -// ASPNETCoreRoutingIsFallback returns an attribute KeyValue conforming to -// the "aspnetcore.routing.is_fallback" semantic conventions. It represents a -// value that indicates whether the matched route is a fallback route. +// ASPNETCoreRoutingIsFallback returns an attribute KeyValue conforming to the +// "aspnetcore.routing.is_fallback" semantic conventions. It represents a value +// that indicates whether the matched route is a fallback route func ASPNETCoreRoutingIsFallback(val bool) attribute.KeyValue { return ASPNETCoreRoutingIsFallbackKey.Bool(val) } -// Generic attributes for AWS services. -const ( - // AWSRequestIDKey is the attribute Key conforming to the "aws.request_id" - // semantic conventions. It represents the AWS request ID as returned in - // the response headers `x-amz-request-id` or `x-amz-requestid`. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '79b9da39-b7ae-508a-a6bc-864b2829c622', 'C9ER4AJX75574TDJ' - AWSRequestIDKey = attribute.Key("aws.request_id") +// ASPNETCoreRoutingMatchStatus returns an attribute KeyValue conforming to the +// "aspnetcore.routing.match_status" semantic conventions. It represents the +// match result - success or failure +func ASPNETCoreRoutingMatchStatus(val string) attribute.KeyValue { + return ASPNETCoreRoutingMatchStatusKey.String(val) +} + +// Enum values for aspnetcore.diagnostics.exception.result +var ( + // Exception was handled by the exception handling middleware. + // Stability: stable + ASPNETCoreDiagnosticsExceptionResultHandled = ASPNETCoreDiagnosticsExceptionResultKey.String("handled") + // Exception was not handled by the exception handling middleware. + // Stability: stable + ASPNETCoreDiagnosticsExceptionResultUnhandled = ASPNETCoreDiagnosticsExceptionResultKey.String("unhandled") + // Exception handling was skipped because the response had started. + // Stability: stable + ASPNETCoreDiagnosticsExceptionResultSkipped = ASPNETCoreDiagnosticsExceptionResultKey.String("skipped") + // Exception handling didn't run because the request was aborted. + // Stability: stable + ASPNETCoreDiagnosticsExceptionResultAborted = ASPNETCoreDiagnosticsExceptionResultKey.String("aborted") ) -// AWSRequestID returns an attribute KeyValue conforming to the -// "aws.request_id" semantic conventions. It represents the AWS request ID as -// returned in the response headers `x-amz-request-id` or `x-amz-requestid`. -func AWSRequestID(val string) attribute.KeyValue { - return AWSRequestIDKey.String(val) -} +// Enum values for aspnetcore.rate_limiting.result +var ( + // Lease was acquired + // Stability: stable + ASPNETCoreRateLimitingResultAcquired = ASPNETCoreRateLimitingResultKey.String("acquired") + // Lease request was rejected by the endpoint limiter + // Stability: stable + ASPNETCoreRateLimitingResultEndpointLimiter = ASPNETCoreRateLimitingResultKey.String("endpoint_limiter") + // Lease request was rejected by the global limiter + // Stability: stable + ASPNETCoreRateLimitingResultGlobalLimiter = ASPNETCoreRateLimitingResultKey.String("global_limiter") + // Lease request was canceled + // Stability: stable + ASPNETCoreRateLimitingResultRequestCanceled = ASPNETCoreRateLimitingResultKey.String("request_canceled") +) + +// Enum values for aspnetcore.routing.match_status +var ( + // Match succeeded + // Stability: stable + ASPNETCoreRoutingMatchStatusSuccess = ASPNETCoreRoutingMatchStatusKey.String("success") + // Match failed + // Stability: stable + ASPNETCoreRoutingMatchStatusFailure = ASPNETCoreRoutingMatchStatusKey.String("failure") +) -// Attributes for AWS DynamoDB. +// Namespace: aws const ( - // AWSDynamoDBAttributeDefinitionsKey is the attribute Key conforming to - // the "aws.dynamodb.attribute_definitions" semantic conventions. It - // represents the JSON-serialized value of each item in the - // `AttributeDefinitions` request field. - // + // AWSDynamoDBAttributeDefinitionsKey is the attribute Key conforming to the + // "aws.dynamodb.attribute_definitions" semantic conventions. It represents + // the JSON-serialized value of each item in the `AttributeDefinitions` + // request field. + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '{ "AttributeName": "string", "AttributeType": "string" }' + // + // Examples: + // [ + // "{ "AttributeName": "string", "AttributeType": "string" }", + // ], AWSDynamoDBAttributeDefinitionsKey = attribute.Key("aws.dynamodb.attribute_definitions") // AWSDynamoDBAttributesToGetKey is the attribute Key conforming to the // "aws.dynamodb.attributes_to_get" semantic conventions. It represents the // value of the `AttributesToGet` request parameter. - // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'lives', 'id' + // + // Examples: + // [ + // "lives", + // "id", + // ], AWSDynamoDBAttributesToGetKey = attribute.Key("aws.dynamodb.attributes_to_get") // AWSDynamoDBConsistentReadKey is the attribute Key conforming to the // "aws.dynamodb.consistent_read" semantic conventions. It represents the // value of the `ConsistentRead` request parameter. - // + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined AWSDynamoDBConsistentReadKey = attribute.Key("aws.dynamodb.consistent_read") // AWSDynamoDBConsumedCapacityKey is the attribute Key conforming to the // "aws.dynamodb.consumed_capacity" semantic conventions. It represents the // JSON-serialized value of each item in the `ConsumedCapacity` response // field. - // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '{ "CapacityUnits": number, "GlobalSecondaryIndexes": { - // "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, - // "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : - // { "CapacityUnits": number, "ReadCapacityUnits": number, - // "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": - // { "CapacityUnits": number, "ReadCapacityUnits": number, - // "WriteCapacityUnits": number }, "TableName": "string", - // "WriteCapacityUnits": number }' + // + // Examples: + // [ + // "{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { + // "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": + // number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": + // number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, + // "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, + // "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": + // "string", "WriteCapacityUnits": number }", + // ], AWSDynamoDBConsumedCapacityKey = attribute.Key("aws.dynamodb.consumed_capacity") // AWSDynamoDBCountKey is the attribute Key conforming to the - // "aws.dynamodb.count" semantic conventions. It represents the value of - // the `Count` response parameter. - // + // "aws.dynamodb.count" semantic conventions. It represents the value of the + // `Count` response parameter. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 10 + // + // Examples: + // 10, AWSDynamoDBCountKey = attribute.Key("aws.dynamodb.count") // AWSDynamoDBExclusiveStartTableKey is the attribute Key conforming to the // "aws.dynamodb.exclusive_start_table" semantic conventions. It represents // the value of the `ExclusiveStartTableName` request parameter. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Users', 'CatsTable' + // + // Examples: + // "Users", + // "CatsTable", AWSDynamoDBExclusiveStartTableKey = attribute.Key("aws.dynamodb.exclusive_start_table") - // AWSDynamoDBGlobalSecondaryIndexUpdatesKey is the attribute Key - // conforming to the "aws.dynamodb.global_secondary_index_updates" semantic - // conventions. It represents the JSON-serialized value of each item in the + // AWSDynamoDBGlobalSecondaryIndexUpdatesKey is the attribute Key conforming + // to the "aws.dynamodb.global_secondary_index_updates" semantic conventions. + // It represents the JSON-serialized value of each item in the // `GlobalSecondaryIndexUpdates` request field. - // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '{ "Create": { "IndexName": "string", "KeySchema": [ { - // "AttributeName": "string", "KeyType": "string" } ], "Projection": { - // "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, - // "ProvisionedThroughput": { "ReadCapacityUnits": number, - // "WriteCapacityUnits": number } }' - AWSDynamoDBGlobalSecondaryIndexUpdatesKey = attribute.Key("aws.dynamodb.global_secondary_index_updates") - - // AWSDynamoDBGlobalSecondaryIndexesKey is the attribute Key conforming to - // the "aws.dynamodb.global_secondary_indexes" semantic conventions. It - // represents the JSON-serialized value of each item of the - // `GlobalSecondaryIndexes` request field // - // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '{ "IndexName": "string", "KeySchema": [ { "AttributeName": + // Examples: + // [ + // "{ "Create": { "IndexName": "string", "KeySchema": [ { "AttributeName": // "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ // "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { - // "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' + // "ReadCapacityUnits": number, "WriteCapacityUnits": number } }", + // ], + AWSDynamoDBGlobalSecondaryIndexUpdatesKey = attribute.Key("aws.dynamodb.global_secondary_index_updates") + + // AWSDynamoDBGlobalSecondaryIndexesKey is the attribute Key conforming to the + // "aws.dynamodb.global_secondary_indexes" semantic conventions. It represents + // the JSON-serialized value of each item of the `GlobalSecondaryIndexes` + // request field + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", + // "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], + // "ProjectionType": "string" }, "ProvisionedThroughput": { + // "ReadCapacityUnits": number, "WriteCapacityUnits": number } }", + // ], AWSDynamoDBGlobalSecondaryIndexesKey = attribute.Key("aws.dynamodb.global_secondary_indexes") // AWSDynamoDBIndexNameKey is the attribute Key conforming to the - // "aws.dynamodb.index_name" semantic conventions. It represents the value - // of the `IndexName` request parameter. - // + // "aws.dynamodb.index_name" semantic conventions. It represents the value of + // the `IndexName` request parameter. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'name_to_group' + // + // Examples: + // "name_to_group", AWSDynamoDBIndexNameKey = attribute.Key("aws.dynamodb.index_name") - // AWSDynamoDBItemCollectionMetricsKey is the attribute Key conforming to - // the "aws.dynamodb.item_collection_metrics" semantic conventions. It - // represents the JSON-serialized value of the `ItemCollectionMetrics` - // response field. - // + // AWSDynamoDBItemCollectionMetricsKey is the attribute Key conforming to the + // "aws.dynamodb.item_collection_metrics" semantic conventions. It represents + // the JSON-serialized value of the `ItemCollectionMetrics` response field. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '{ "string" : [ { "ItemCollectionKey": { "string" : { "B": - // blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { - // "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], - // "NULL": boolean, "S": "string", "SS": [ "string" ] } }, - // "SizeEstimateRangeGB": [ number ] } ] }' + // + // Examples: + // "{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": + // boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : + // "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, + // "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } + // ] }", AWSDynamoDBItemCollectionMetricsKey = attribute.Key("aws.dynamodb.item_collection_metrics") // AWSDynamoDBLimitKey is the attribute Key conforming to the - // "aws.dynamodb.limit" semantic conventions. It represents the value of - // the `Limit` request parameter. - // + // "aws.dynamodb.limit" semantic conventions. It represents the value of the + // `Limit` request parameter. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 10 + // + // Examples: + // 10, AWSDynamoDBLimitKey = attribute.Key("aws.dynamodb.limit") - // AWSDynamoDBLocalSecondaryIndexesKey is the attribute Key conforming to - // the "aws.dynamodb.local_secondary_indexes" semantic conventions. It - // represents the JSON-serialized value of each item of the - // `LocalSecondaryIndexes` request field. - // + // AWSDynamoDBLocalSecondaryIndexesKey is the attribute Key conforming to the + // "aws.dynamodb.local_secondary_indexes" semantic conventions. It represents + // the JSON-serialized value of each item of the `LocalSecondaryIndexes` + // request field. + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '{ "IndexARN": "string", "IndexName": "string", - // "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ { - // "AttributeName": "string", "KeyType": "string" } ], "Projection": { - // "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }' + // + // Examples: + // [ + // "{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes": number, + // "ItemCount": number, "KeySchema": [ { "AttributeName": "string", "KeyType": + // "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], + // "ProjectionType": "string" } }", + // ], AWSDynamoDBLocalSecondaryIndexesKey = attribute.Key("aws.dynamodb.local_secondary_indexes") // AWSDynamoDBProjectionKey is the attribute Key conforming to the - // "aws.dynamodb.projection" semantic conventions. It represents the value - // of the `ProjectionExpression` request parameter. - // + // "aws.dynamodb.projection" semantic conventions. It represents the value of + // the `ProjectionExpression` request parameter. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Title', 'Title, Price, Color', 'Title, Description, - // RelatedItems, ProductReviews' + // + // Examples: + // "Title", + // "Title, Price, Color", + // "Title, Description, RelatedItems, ProductReviews", AWSDynamoDBProjectionKey = attribute.Key("aws.dynamodb.projection") // AWSDynamoDBProvisionedReadCapacityKey is the attribute Key conforming to // the "aws.dynamodb.provisioned_read_capacity" semantic conventions. It // represents the value of the `ProvisionedThroughput.ReadCapacityUnits` // request parameter. - // + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1.0, 2.0 + // + // Examples: + // 1.0, + // 2.0, AWSDynamoDBProvisionedReadCapacityKey = attribute.Key("aws.dynamodb.provisioned_read_capacity") - // AWSDynamoDBProvisionedWriteCapacityKey is the attribute Key conforming - // to the "aws.dynamodb.provisioned_write_capacity" semantic conventions. - // It represents the value of the - // `ProvisionedThroughput.WriteCapacityUnits` request parameter. - // + // AWSDynamoDBProvisionedWriteCapacityKey is the attribute Key conforming to + // the "aws.dynamodb.provisioned_write_capacity" semantic conventions. It + // represents the value of the `ProvisionedThroughput.WriteCapacityUnits` + // request parameter. + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1.0, 2.0 + // + // Examples: + // 1.0, + // 2.0, AWSDynamoDBProvisionedWriteCapacityKey = attribute.Key("aws.dynamodb.provisioned_write_capacity") // AWSDynamoDBScanForwardKey is the attribute Key conforming to the - // "aws.dynamodb.scan_forward" semantic conventions. It represents the - // value of the `ScanIndexForward` request parameter. - // + // "aws.dynamodb.scan_forward" semantic conventions. It represents the value + // of the `ScanIndexForward` request parameter. + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined AWSDynamoDBScanForwardKey = attribute.Key("aws.dynamodb.scan_forward") // AWSDynamoDBScannedCountKey is the attribute Key conforming to the - // "aws.dynamodb.scanned_count" semantic conventions. It represents the - // value of the `ScannedCount` response parameter. - // + // "aws.dynamodb.scanned_count" semantic conventions. It represents the value + // of the `ScannedCount` response parameter. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 50 + // + // Examples: + // 50, AWSDynamoDBScannedCountKey = attribute.Key("aws.dynamodb.scanned_count") // AWSDynamoDBSegmentKey is the attribute Key conforming to the - // "aws.dynamodb.segment" semantic conventions. It represents the value of - // the `Segment` request parameter. - // + // "aws.dynamodb.segment" semantic conventions. It represents the value of the + // `Segment` request parameter. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 10 + // + // Examples: + // 10, AWSDynamoDBSegmentKey = attribute.Key("aws.dynamodb.segment") // AWSDynamoDBSelectKey is the attribute Key conforming to the - // "aws.dynamodb.select" semantic conventions. It represents the value of - // the `Select` request parameter. - // + // "aws.dynamodb.select" semantic conventions. It represents the value of the + // `Select` request parameter. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'ALL_ATTRIBUTES', 'COUNT' + // + // Examples: + // "ALL_ATTRIBUTES", + // "COUNT", AWSDynamoDBSelectKey = attribute.Key("aws.dynamodb.select") // AWSDynamoDBTableCountKey is the attribute Key conforming to the - // "aws.dynamodb.table_count" semantic conventions. It represents the - // number of items in the `TableNames` response parameter. - // + // "aws.dynamodb.table_count" semantic conventions. It represents the number + // of items in the `TableNames` response parameter. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 20 + // + // Examples: + // 20, AWSDynamoDBTableCountKey = attribute.Key("aws.dynamodb.table_count") // AWSDynamoDBTableNamesKey is the attribute Key conforming to the - // "aws.dynamodb.table_names" semantic conventions. It represents the keys - // in the `RequestItems` object field. - // + // "aws.dynamodb.table_names" semantic conventions. It represents the keys in + // the `RequestItems` object field. + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Users', 'Cats' + // + // Examples: + // [ + // "Users", + // "Cats", + // ], AWSDynamoDBTableNamesKey = attribute.Key("aws.dynamodb.table_names") // AWSDynamoDBTotalSegmentsKey is the attribute Key conforming to the - // "aws.dynamodb.total_segments" semantic conventions. It represents the - // value of the `TotalSegments` request parameter. - // + // "aws.dynamodb.total_segments" semantic conventions. It represents the value + // of the `TotalSegments` request parameter. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 100 + // + // Examples: + // 100, AWSDynamoDBTotalSegmentsKey = attribute.Key("aws.dynamodb.total_segments") -) -// AWSDynamoDBAttributeDefinitions returns an attribute KeyValue conforming -// to the "aws.dynamodb.attribute_definitions" semantic conventions. It -// represents the JSON-serialized value of each item in the -// `AttributeDefinitions` request field. -func AWSDynamoDBAttributeDefinitions(val ...string) attribute.KeyValue { - return AWSDynamoDBAttributeDefinitionsKey.StringSlice(val) -} + // AWSECSClusterARNKey is the attribute Key conforming to the + // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an + // [ECS cluster]. + // + // Stability: Development + // Type: string + // + // Examples: + // "arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster", + // + // [ECS cluster]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html + AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn") -// AWSDynamoDBAttributesToGet returns an attribute KeyValue conforming to -// the "aws.dynamodb.attributes_to_get" semantic conventions. It represents the -// value of the `AttributesToGet` request parameter. -func AWSDynamoDBAttributesToGet(val ...string) attribute.KeyValue { - return AWSDynamoDBAttributesToGetKey.StringSlice(val) -} + // AWSECSContainerARNKey is the attribute Key conforming to the + // "aws.ecs.container.arn" semantic conventions. It represents the Amazon + // Resource Name (ARN) of an [ECS container instance]. + // + // Stability: Development + // Type: string + // + // Examples: + // + // "arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9", + // + // [ECS container instance]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html + AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn") -// AWSDynamoDBConsistentRead returns an attribute KeyValue conforming to the -// "aws.dynamodb.consistent_read" semantic conventions. It represents the value -// of the `ConsistentRead` request parameter. -func AWSDynamoDBConsistentRead(val bool) attribute.KeyValue { - return AWSDynamoDBConsistentReadKey.Bool(val) -} + // AWSECSLaunchtypeKey is the attribute Key conforming to the + // "aws.ecs.launchtype" semantic conventions. It represents the [launch type] + // for an ECS task. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + // + // [launch type]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html + AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype") -// AWSDynamoDBConsumedCapacity returns an attribute KeyValue conforming to -// the "aws.dynamodb.consumed_capacity" semantic conventions. It represents the -// JSON-serialized value of each item in the `ConsumedCapacity` response field. -func AWSDynamoDBConsumedCapacity(val ...string) attribute.KeyValue { - return AWSDynamoDBConsumedCapacityKey.StringSlice(val) -} + // AWSECSTaskARNKey is the attribute Key conforming to the "aws.ecs.task.arn" + // semantic conventions. It represents the ARN of a running [ECS task]. + // + // Stability: Development + // Type: string + // + // Examples: + // + // "arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b", + // + // "arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd", + // + // [ECS task]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids + AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn") -// AWSDynamoDBCount returns an attribute KeyValue conforming to the -// "aws.dynamodb.count" semantic conventions. It represents the value of the -// `Count` response parameter. + // AWSECSTaskFamilyKey is the attribute Key conforming to the + // "aws.ecs.task.family" semantic conventions. It represents the family name + // of the [ECS task definition] used to create the ECS task. + // + // Stability: Development + // Type: string + // + // Examples: + // "opentelemetry-family", + // + // [ECS task definition]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html + AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family") + + // AWSECSTaskIDKey is the attribute Key conforming to the "aws.ecs.task.id" + // semantic conventions. It represents the ID of a running ECS task. The ID + // MUST be extracted from `task.arn`. + // + // Stability: Development + // Type: string + // + // Examples: + // "10838bed-421f-43ef-870a-f43feacbbb5b", + // "23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd", + AWSECSTaskIDKey = attribute.Key("aws.ecs.task.id") + + // AWSECSTaskRevisionKey is the attribute Key conforming to the + // "aws.ecs.task.revision" semantic conventions. It represents the revision + // for the task definition used to create the ECS task. + // + // Stability: Development + // Type: string + // + // Examples: + // "8", + // "26", + AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision") + + // AWSEKSClusterARNKey is the attribute Key conforming to the + // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS + // cluster. + // + // Stability: Development + // Type: string + // + // Examples: + // "arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster", + AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn") + + // AWSExtendedRequestIDKey is the attribute Key conforming to the + // "aws.extended_request_id" semantic conventions. It represents the AWS + // extended request ID as returned in the response header `x-amz-id-2`. + // Stability: Development + // Type: string + // + // Examples: + // + // "wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=", + AWSExtendedRequestIDKey = attribute.Key("aws.extended_request_id") + + // AWSLambdaInvokedARNKey is the attribute Key conforming to the + // "aws.lambda.invoked_arn" semantic conventions. It represents the full + // invoked ARN as provided on the `Context` passed to the function ( + // `Lambda-Runtime-Invoked-Function-Arn` header on the + // `/runtime/invocation/next` applicable). + // + // Stability: Development + // Type: string + // + // Examples: + // "arn:aws:lambda:us-east-1:123456:function:myfunction:myalias", + // + // Note: This may be different from `cloud.resource_id` if an alias is + // involved + AWSLambdaInvokedARNKey = attribute.Key("aws.lambda.invoked_arn") + + // AWSLogGroupARNsKey is the attribute Key conforming to the + // "aws.log.group.arns" semantic conventions. It represents the Amazon + // Resource Name(s) (ARN) of the AWS log group(s). + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*", + // ], + // + // Note: See the [log group ARN format documentation] + // + // [log group ARN format documentation]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format + AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns") + + // AWSLogGroupNamesKey is the attribute Key conforming to the + // "aws.log.group.names" semantic conventions. It represents the name(s) of + // the AWS log group(s) an application is writing to. + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "/aws/lambda/my-function", + // "opentelemetry-service", + // ], + // + // Note: Multiple log groups must be supported for cases like multi-container + // applications, where a single application has sidecar containers, and each + // write to their own log group + AWSLogGroupNamesKey = attribute.Key("aws.log.group.names") + + // AWSLogStreamARNsKey is the attribute Key conforming to the + // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the + // AWS log stream(s). + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // + // "arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b", + // ], + // + // Note: See the [log stream ARN format documentation]. One log group can + // contain several log streams, so these ARNs necessarily identify both a log + // group and a log stream + // + // [log stream ARN format documentation]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format + AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns") + + // AWSLogStreamNamesKey is the attribute Key conforming to the + // "aws.log.stream.names" semantic conventions. It represents the name(s) of + // the AWS log stream(s) an application is writing to. + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "logs/main/10838bed-421f-43ef-870a-f43feacbbb5b", + // ], + AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names") + + // AWSRequestIDKey is the attribute Key conforming to the "aws.request_id" + // semantic conventions. It represents the AWS request ID as returned in the + // response headers `x-amzn-requestid`, `x-amzn-request-id` or + // `x-amz-request-id`. + // Stability: Development + // Type: string + // + // Examples: + // "79b9da39-b7ae-508a-a6bc-864b2829c622", + // "C9ER4AJX75574TDJ", + AWSRequestIDKey = attribute.Key("aws.request_id") + + // AWSS3BucketKey is the attribute Key conforming to the "aws.s3.bucket" + // semantic conventions. It represents the S3 bucket name the request refers + // to. Corresponds to the `--bucket` parameter of the [S3 API] operations. + // Stability: Development + // Type: string + // + // Examples: + // "some-bucket-name", + // + // Note: The `bucket` attribute is applicable to all S3 operations that + // reference a bucket, i.e. that require the bucket name as a mandatory + // parameter. + // This applies to almost all S3 operations except `list-buckets` + // + // [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html + AWSS3BucketKey = attribute.Key("aws.s3.bucket") + + // AWSS3CopySourceKey is the attribute Key conforming to the + // "aws.s3.copy_source" semantic conventions. It represents the source object + // (in the form `bucket`/`key`) for the copy operation. + // Stability: Development + // Type: string + // + // Examples: + // "someFile.yml", + // + // Note: The `copy_source` attribute applies to S3 copy operations and + // corresponds to the `--copy-source` parameter + // of the [copy-object operation within the S3 API]. + // This applies in particular to the following operations: + // + // - [copy-object] + // - [upload-part-copy] + // + // + // [copy-object operation within the S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html + // [copy-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html + // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html + AWSS3CopySourceKey = attribute.Key("aws.s3.copy_source") + + // AWSS3DeleteKey is the attribute Key conforming to the "aws.s3.delete" + // semantic conventions. It represents the delete request container that + // specifies the objects to be deleted. + // Stability: Development + // Type: string + // + // Examples: + // + // "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean", + // + // Note: The `delete` attribute is only applicable to the [delete-object] + // operation. + // The `delete` attribute corresponds to the `--delete` parameter of the + // [delete-objects operation within the S3 API] + // + // [delete-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html + // [delete-objects operation within the S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html + AWSS3DeleteKey = attribute.Key("aws.s3.delete") + + // AWSS3KeyKey is the attribute Key conforming to the "aws.s3.key" semantic + // conventions. It represents the S3 object key the request refers to. + // Corresponds to the `--key` parameter of the [S3 API] operations. + // Stability: Development + // Type: string + // + // Examples: + // "someFile.yml", + // + // Note: The `key` attribute is applicable to all object-related S3 + // operations, i.e. that require the object key as a mandatory parameter. + // This applies in particular to the following operations: + // + // - [copy-object] + // - [delete-object] + // - [get-object] + // - [head-object] + // - [put-object] + // - [restore-object] + // - [select-object-content] + // - [abort-multipart-upload] + // - [complete-multipart-upload] + // - [create-multipart-upload] + // - [list-parts] + // - [upload-part] + // - [upload-part-copy] + // + // + // [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html + // [copy-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html + // [delete-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html + // [get-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html + // [head-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html + // [put-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html + // [restore-object]: https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html + // [select-object-content]: https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html + // [abort-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html + // [complete-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html + // [create-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html + // [list-parts]: https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html + // [upload-part]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html + // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html + AWSS3KeyKey = attribute.Key("aws.s3.key") + + // AWSS3PartNumberKey is the attribute Key conforming to the + // "aws.s3.part_number" semantic conventions. It represents the part number of + // the part being uploaded in a multipart-upload operation. This is a positive + // integer between 1 and 10,000. + // Stability: Development + // Type: int + // + // Examples: + // 3456, + // + // Note: The `part_number` attribute is only applicable to the [upload-part] + // and [upload-part-copy] operations. + // The `part_number` attribute corresponds to the `--part-number` parameter of + // the + // [upload-part operation within the S3 API] + // + // [upload-part]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html + // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html + // [upload-part operation within the S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html + AWSS3PartNumberKey = attribute.Key("aws.s3.part_number") + + // AWSS3UploadIDKey is the attribute Key conforming to the "aws.s3.upload_id" + // semantic conventions. It represents the upload ID that identifies the + // multipart upload. + // Stability: Development + // Type: string + // + // Examples: + // "dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ", + // + // Note: The `upload_id` attribute applies to S3 multipart-upload operations + // and corresponds to the `--upload-id` parameter + // of the [S3 API] multipart operations. + // This applies in particular to the following operations: + // + // - [abort-multipart-upload] + // - [complete-multipart-upload] + // - [list-parts] + // - [upload-part] + // - [upload-part-copy] + // + // + // [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html + // [abort-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html + // [complete-multipart-upload]: https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html + // [list-parts]: https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html + // [upload-part]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html + // [upload-part-copy]: https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html + AWSS3UploadIDKey = attribute.Key("aws.s3.upload_id") +) + +// AWSDynamoDBAttributeDefinitions returns an attribute KeyValue conforming to +// the "aws.dynamodb.attribute_definitions" semantic conventions. It represents +// the JSON-serialized value of each item in the `AttributeDefinitions` request +// field +func AWSDynamoDBAttributeDefinitions(val ...string) attribute.KeyValue { + return AWSDynamoDBAttributeDefinitionsKey.StringSlice(val) +} + +// AWSDynamoDBAttributesToGet returns an attribute KeyValue conforming to the +// "aws.dynamodb.attributes_to_get" semantic conventions. It represents the +// value of the `AttributesToGet` request parameter +func AWSDynamoDBAttributesToGet(val ...string) attribute.KeyValue { + return AWSDynamoDBAttributesToGetKey.StringSlice(val) +} + +// AWSDynamoDBConsistentRead returns an attribute KeyValue conforming to the +// "aws.dynamodb.consistent_read" semantic conventions. It represents the value +// of the `ConsistentRead` request parameter +func AWSDynamoDBConsistentRead(val bool) attribute.KeyValue { + return AWSDynamoDBConsistentReadKey.Bool(val) +} + +// AWSDynamoDBConsumedCapacity returns an attribute KeyValue conforming to the +// "aws.dynamodb.consumed_capacity" semantic conventions. It represents the +// JSON-serialized value of each item in the `ConsumedCapacity` response field +func AWSDynamoDBConsumedCapacity(val ...string) attribute.KeyValue { + return AWSDynamoDBConsumedCapacityKey.StringSlice(val) +} + +// AWSDynamoDBCount returns an attribute KeyValue conforming to the +// "aws.dynamodb.count" semantic conventions. It represents the value of the +// `Count` response parameter func AWSDynamoDBCount(val int) attribute.KeyValue { return AWSDynamoDBCountKey.Int(val) } -// AWSDynamoDBExclusiveStartTable returns an attribute KeyValue conforming -// to the "aws.dynamodb.exclusive_start_table" semantic conventions. It -// represents the value of the `ExclusiveStartTableName` request parameter. +// AWSDynamoDBExclusiveStartTable returns an attribute KeyValue conforming to +// the "aws.dynamodb.exclusive_start_table" semantic conventions. It represents +// the value of the `ExclusiveStartTableName` request parameter func AWSDynamoDBExclusiveStartTable(val string) attribute.KeyValue { return AWSDynamoDBExclusiveStartTableKey.String(val) } @@ -658,14 +1082,14 @@ func AWSDynamoDBExclusiveStartTable(val string) attribute.KeyValue { // AWSDynamoDBGlobalSecondaryIndexUpdates returns an attribute KeyValue // conforming to the "aws.dynamodb.global_secondary_index_updates" semantic // conventions. It represents the JSON-serialized value of each item in the -// `GlobalSecondaryIndexUpdates` request field. +// `GlobalSecondaryIndexUpdates` request field func AWSDynamoDBGlobalSecondaryIndexUpdates(val ...string) attribute.KeyValue { return AWSDynamoDBGlobalSecondaryIndexUpdatesKey.StringSlice(val) } -// AWSDynamoDBGlobalSecondaryIndexes returns an attribute KeyValue -// conforming to the "aws.dynamodb.global_secondary_indexes" semantic -// conventions. It represents the JSON-serialized value of each item of the +// AWSDynamoDBGlobalSecondaryIndexes returns an attribute KeyValue conforming +// to the "aws.dynamodb.global_secondary_indexes" semantic conventions. It +// represents the JSON-serialized value of each item of the // `GlobalSecondaryIndexes` request field func AWSDynamoDBGlobalSecondaryIndexes(val ...string) attribute.KeyValue { return AWSDynamoDBGlobalSecondaryIndexesKey.StringSlice(val) @@ -673,543 +1097,252 @@ func AWSDynamoDBGlobalSecondaryIndexes(val ...string) attribute.KeyValue { // AWSDynamoDBIndexName returns an attribute KeyValue conforming to the // "aws.dynamodb.index_name" semantic conventions. It represents the value of -// the `IndexName` request parameter. +// the `IndexName` request parameter func AWSDynamoDBIndexName(val string) attribute.KeyValue { return AWSDynamoDBIndexNameKey.String(val) } -// AWSDynamoDBItemCollectionMetrics returns an attribute KeyValue conforming -// to the "aws.dynamodb.item_collection_metrics" semantic conventions. It +// AWSDynamoDBItemCollectionMetrics returns an attribute KeyValue conforming to +// the "aws.dynamodb.item_collection_metrics" semantic conventions. It // represents the JSON-serialized value of the `ItemCollectionMetrics` response -// field. +// field func AWSDynamoDBItemCollectionMetrics(val string) attribute.KeyValue { return AWSDynamoDBItemCollectionMetricsKey.String(val) } // AWSDynamoDBLimit returns an attribute KeyValue conforming to the // "aws.dynamodb.limit" semantic conventions. It represents the value of the -// `Limit` request parameter. +// `Limit` request parameter func AWSDynamoDBLimit(val int) attribute.KeyValue { return AWSDynamoDBLimitKey.Int(val) } -// AWSDynamoDBLocalSecondaryIndexes returns an attribute KeyValue conforming -// to the "aws.dynamodb.local_secondary_indexes" semantic conventions. It +// AWSDynamoDBLocalSecondaryIndexes returns an attribute KeyValue conforming to +// the "aws.dynamodb.local_secondary_indexes" semantic conventions. It // represents the JSON-serialized value of each item of the -// `LocalSecondaryIndexes` request field. +// `LocalSecondaryIndexes` request field func AWSDynamoDBLocalSecondaryIndexes(val ...string) attribute.KeyValue { return AWSDynamoDBLocalSecondaryIndexesKey.StringSlice(val) } // AWSDynamoDBProjection returns an attribute KeyValue conforming to the // "aws.dynamodb.projection" semantic conventions. It represents the value of -// the `ProjectionExpression` request parameter. +// the `ProjectionExpression` request parameter func AWSDynamoDBProjection(val string) attribute.KeyValue { return AWSDynamoDBProjectionKey.String(val) } -// AWSDynamoDBProvisionedReadCapacity returns an attribute KeyValue -// conforming to the "aws.dynamodb.provisioned_read_capacity" semantic -// conventions. It represents the value of the -// `ProvisionedThroughput.ReadCapacityUnits` request parameter. +// AWSDynamoDBProvisionedReadCapacity returns an attribute KeyValue conforming +// to the "aws.dynamodb.provisioned_read_capacity" semantic conventions. It +// represents the value of the `ProvisionedThroughput.ReadCapacityUnits` +// request parameter func AWSDynamoDBProvisionedReadCapacity(val float64) attribute.KeyValue { return AWSDynamoDBProvisionedReadCapacityKey.Float64(val) } -// AWSDynamoDBProvisionedWriteCapacity returns an attribute KeyValue -// conforming to the "aws.dynamodb.provisioned_write_capacity" semantic -// conventions. It represents the value of the -// `ProvisionedThroughput.WriteCapacityUnits` request parameter. +// AWSDynamoDBProvisionedWriteCapacity returns an attribute KeyValue conforming +// to the "aws.dynamodb.provisioned_write_capacity" semantic conventions. It +// represents the value of the `ProvisionedThroughput.WriteCapacityUnits` +// request parameter func AWSDynamoDBProvisionedWriteCapacity(val float64) attribute.KeyValue { return AWSDynamoDBProvisionedWriteCapacityKey.Float64(val) } // AWSDynamoDBScanForward returns an attribute KeyValue conforming to the // "aws.dynamodb.scan_forward" semantic conventions. It represents the value of -// the `ScanIndexForward` request parameter. +// the `ScanIndexForward` request parameter func AWSDynamoDBScanForward(val bool) attribute.KeyValue { return AWSDynamoDBScanForwardKey.Bool(val) } // AWSDynamoDBScannedCount returns an attribute KeyValue conforming to the // "aws.dynamodb.scanned_count" semantic conventions. It represents the value -// of the `ScannedCount` response parameter. +// of the `ScannedCount` response parameter func AWSDynamoDBScannedCount(val int) attribute.KeyValue { return AWSDynamoDBScannedCountKey.Int(val) } // AWSDynamoDBSegment returns an attribute KeyValue conforming to the // "aws.dynamodb.segment" semantic conventions. It represents the value of the -// `Segment` request parameter. +// `Segment` request parameter func AWSDynamoDBSegment(val int) attribute.KeyValue { return AWSDynamoDBSegmentKey.Int(val) } // AWSDynamoDBSelect returns an attribute KeyValue conforming to the // "aws.dynamodb.select" semantic conventions. It represents the value of the -// `Select` request parameter. +// `Select` request parameter func AWSDynamoDBSelect(val string) attribute.KeyValue { return AWSDynamoDBSelectKey.String(val) } // AWSDynamoDBTableCount returns an attribute KeyValue conforming to the // "aws.dynamodb.table_count" semantic conventions. It represents the number of -// items in the `TableNames` response parameter. +// items in the `TableNames` response parameter func AWSDynamoDBTableCount(val int) attribute.KeyValue { return AWSDynamoDBTableCountKey.Int(val) } // AWSDynamoDBTableNames returns an attribute KeyValue conforming to the // "aws.dynamodb.table_names" semantic conventions. It represents the keys in -// the `RequestItems` object field. +// the `RequestItems` object field func AWSDynamoDBTableNames(val ...string) attribute.KeyValue { return AWSDynamoDBTableNamesKey.StringSlice(val) } // AWSDynamoDBTotalSegments returns an attribute KeyValue conforming to the // "aws.dynamodb.total_segments" semantic conventions. It represents the value -// of the `TotalSegments` request parameter. +// of the `TotalSegments` request parameter func AWSDynamoDBTotalSegments(val int) attribute.KeyValue { return AWSDynamoDBTotalSegmentsKey.Int(val) } -// Attributes for AWS Elastic Container Service (ECS). -const ( - // AWSECSTaskIDKey is the attribute Key conforming to the "aws.ecs.task.id" - // semantic conventions. It represents the ID of a running ECS task. The ID - // MUST be extracted from `task.arn`. - // - // Type: string - // RequirementLevel: ConditionallyRequired (If and only if `task.arn` is - // populated.) - // Stability: experimental - // Examples: '10838bed-421f-43ef-870a-f43feacbbb5b', - // '23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd' - AWSECSTaskIDKey = attribute.Key("aws.ecs.task.id") - - // AWSECSClusterARNKey is the attribute Key conforming to the - // "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an - // [ECS - // cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' - AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn") - - // AWSECSContainerARNKey is the attribute Key conforming to the - // "aws.ecs.container.arn" semantic conventions. It represents the Amazon - // Resource Name (ARN) of an [ECS container - // instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: - // 'arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9' - AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn") - - // AWSECSLaunchtypeKey is the attribute Key conforming to the - // "aws.ecs.launchtype" semantic conventions. It represents the [launch - // type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) - // for an ECS task. - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype") - - // AWSECSTaskARNKey is the attribute Key conforming to the - // "aws.ecs.task.arn" semantic conventions. It represents the ARN of a - // running [ECS - // task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: - // 'arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b', - // 'arn:aws:ecs:us-west-1:123456789123:task/my-cluster/task-id/23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd' - AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn") - - // AWSECSTaskFamilyKey is the attribute Key conforming to the - // "aws.ecs.task.family" semantic conventions. It represents the family - // name of the [ECS task - // definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) - // used to create the ECS task. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry-family' - AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family") - - // AWSECSTaskRevisionKey is the attribute Key conforming to the - // "aws.ecs.task.revision" semantic conventions. It represents the revision - // for the task definition used to create the ECS task. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '8', '26' - AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision") -) - -var ( - // ec2 - AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") - // fargate - AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") -) - -// AWSECSTaskID returns an attribute KeyValue conforming to the -// "aws.ecs.task.id" semantic conventions. It represents the ID of a running -// ECS task. The ID MUST be extracted from `task.arn`. -func AWSECSTaskID(val string) attribute.KeyValue { - return AWSECSTaskIDKey.String(val) -} - // AWSECSClusterARN returns an attribute KeyValue conforming to the -// "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an [ECS -// cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). +// "aws.ecs.cluster.arn" semantic conventions. It represents the ARN of an +// [ECS cluster] +// +// [ECS cluster]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html func AWSECSClusterARN(val string) attribute.KeyValue { return AWSECSClusterARNKey.String(val) } // AWSECSContainerARN returns an attribute KeyValue conforming to the // "aws.ecs.container.arn" semantic conventions. It represents the Amazon -// Resource Name (ARN) of an [ECS container -// instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). +// Resource Name (ARN) of an [ECS container instance] +// +// [ECS container instance]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html func AWSECSContainerARN(val string) attribute.KeyValue { return AWSECSContainerARNKey.String(val) } +// AWSECSLaunchtype returns an attribute KeyValue conforming to the +// "aws.ecs.launchtype" semantic conventions. It represents the [launch type] +// for an ECS task +// +// [launch type]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html +func AWSECSLaunchtype(val string) attribute.KeyValue { + return AWSECSLaunchtypeKey.String(val) +} + // AWSECSTaskARN returns an attribute KeyValue conforming to the // "aws.ecs.task.arn" semantic conventions. It represents the ARN of a running -// [ECS -// task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). +// [ECS task] +// +// [ECS task]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids func AWSECSTaskARN(val string) attribute.KeyValue { return AWSECSTaskARNKey.String(val) } // AWSECSTaskFamily returns an attribute KeyValue conforming to the // "aws.ecs.task.family" semantic conventions. It represents the family name of -// the [ECS task -// definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) -// used to create the ECS task. +// the [ECS task definition] used to create the ECS task +// +// [ECS task definition]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html func AWSECSTaskFamily(val string) attribute.KeyValue { return AWSECSTaskFamilyKey.String(val) } +// AWSECSTaskID returns an attribute KeyValue conforming to the +// "aws.ecs.task.id" semantic conventions. It represents the ID of a running +// ECS task. The ID MUST be extracted from `task.arn` +func AWSECSTaskID(val string) attribute.KeyValue { + return AWSECSTaskIDKey.String(val) +} + // AWSECSTaskRevision returns an attribute KeyValue conforming to the // "aws.ecs.task.revision" semantic conventions. It represents the revision for -// the task definition used to create the ECS task. +// the task definition used to create the ECS task func AWSECSTaskRevision(val string) attribute.KeyValue { return AWSECSTaskRevisionKey.String(val) } -// Attributes for AWS Elastic Kubernetes Service (EKS). -const ( - // AWSEKSClusterARNKey is the attribute Key conforming to the - // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an - // EKS cluster. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' - AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn") -) - // AWSEKSClusterARN returns an attribute KeyValue conforming to the // "aws.eks.cluster.arn" semantic conventions. It represents the ARN of an EKS -// cluster. +// cluster func AWSEKSClusterARN(val string) attribute.KeyValue { return AWSEKSClusterARNKey.String(val) } -// Attributes for AWS Logs. -const ( - // AWSLogGroupARNsKey is the attribute Key conforming to the - // "aws.log.group.arns" semantic conventions. It represents the Amazon - // Resource Name(s) (ARN) of the AWS log group(s). - // - // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: - // 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*' - // Note: See the [log group ARN format - // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). - AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns") - - // AWSLogGroupNamesKey is the attribute Key conforming to the - // "aws.log.group.names" semantic conventions. It represents the name(s) of - // the AWS log group(s) an application is writing to. - // - // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/aws/lambda/my-function', 'opentelemetry-service' - // Note: Multiple log groups must be supported for cases like - // multi-container applications, where a single application has sidecar - // containers, and each write to their own log group. - AWSLogGroupNamesKey = attribute.Key("aws.log.group.names") - - // AWSLogStreamARNsKey is the attribute Key conforming to the - // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of - // the AWS log stream(s). - // - // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: - // 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' - // Note: See the [log stream ARN format - // documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). - // One log group can contain several log streams, so these ARNs necessarily - // identify both a log group and a log stream. - AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns") +// AWSExtendedRequestID returns an attribute KeyValue conforming to the +// "aws.extended_request_id" semantic conventions. It represents the AWS +// extended request ID as returned in the response header `x-amz-id-2` +func AWSExtendedRequestID(val string) attribute.KeyValue { + return AWSExtendedRequestIDKey.String(val) +} - // AWSLogStreamNamesKey is the attribute Key conforming to the - // "aws.log.stream.names" semantic conventions. It represents the name(s) - // of the AWS log stream(s) an application is writing to. - // - // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' - AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names") -) +// AWSLambdaInvokedARN returns an attribute KeyValue conforming to the +// "aws.lambda.invoked_arn" semantic conventions. It represents the full +// invoked ARN as provided on the `Context` passed to the function ( +// `Lambda-Runtime-Invoked-Function-Arn` header on the +// `/runtime/invocation/next` applicable) +func AWSLambdaInvokedARN(val string) attribute.KeyValue { + return AWSLambdaInvokedARNKey.String(val) +} // AWSLogGroupARNs returns an attribute KeyValue conforming to the // "aws.log.group.arns" semantic conventions. It represents the Amazon Resource -// Name(s) (ARN) of the AWS log group(s). +// Name(s) (ARN) of the AWS log group(s) func AWSLogGroupARNs(val ...string) attribute.KeyValue { return AWSLogGroupARNsKey.StringSlice(val) } // AWSLogGroupNames returns an attribute KeyValue conforming to the // "aws.log.group.names" semantic conventions. It represents the name(s) of the -// AWS log group(s) an application is writing to. +// AWS log group(s) an application is writing to func AWSLogGroupNames(val ...string) attribute.KeyValue { return AWSLogGroupNamesKey.StringSlice(val) } // AWSLogStreamARNs returns an attribute KeyValue conforming to the // "aws.log.stream.arns" semantic conventions. It represents the ARN(s) of the -// AWS log stream(s). +// AWS log stream(s) func AWSLogStreamARNs(val ...string) attribute.KeyValue { return AWSLogStreamARNsKey.StringSlice(val) } // AWSLogStreamNames returns an attribute KeyValue conforming to the // "aws.log.stream.names" semantic conventions. It represents the name(s) of -// the AWS log stream(s) an application is writing to. +// the AWS log stream(s) an application is writing to func AWSLogStreamNames(val ...string) attribute.KeyValue { return AWSLogStreamNamesKey.StringSlice(val) } -// Attributes for AWS Lambda. -const ( - // AWSLambdaInvokedARNKey is the attribute Key conforming to the - // "aws.lambda.invoked_arn" semantic conventions. It represents the full - // invoked ARN as provided on the `Context` passed to the function - // (`Lambda-Runtime-Invoked-Function-ARN` header on the - // `/runtime/invocation/next` applicable). - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'arn:aws:lambda:us-east-1:123456:function:myfunction:myalias' - // Note: This may be different from `cloud.resource_id` if an alias is - // involved. - AWSLambdaInvokedARNKey = attribute.Key("aws.lambda.invoked_arn") -) - -// AWSLambdaInvokedARN returns an attribute KeyValue conforming to the -// "aws.lambda.invoked_arn" semantic conventions. It represents the full -// invoked ARN as provided on the `Context` passed to the function -// (`Lambda-Runtime-Invoked-Function-ARN` header on the -// `/runtime/invocation/next` applicable). -func AWSLambdaInvokedARN(val string) attribute.KeyValue { - return AWSLambdaInvokedARNKey.String(val) +// AWSRequestID returns an attribute KeyValue conforming to the +// "aws.request_id" semantic conventions. It represents the AWS request ID as +// returned in the response headers `x-amzn-requestid`, `x-amzn-request-id` or +// `x-amz-request-id` +func AWSRequestID(val string) attribute.KeyValue { + return AWSRequestIDKey.String(val) } -// Attributes for AWS S3. -const ( - // AWSS3BucketKey is the attribute Key conforming to the "aws.s3.bucket" - // semantic conventions. It represents the S3 bucket name the request - // refers to. Corresponds to the `--bucket` parameter of the [S3 - // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) - // operations. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'some-bucket-name' - // Note: The `bucket` attribute is applicable to all S3 operations that - // reference a bucket, i.e. that require the bucket name as a mandatory - // parameter. - // This applies to almost all S3 operations except `list-buckets`. - AWSS3BucketKey = attribute.Key("aws.s3.bucket") - - // AWSS3CopySourceKey is the attribute Key conforming to the - // "aws.s3.copy_source" semantic conventions. It represents the source - // object (in the form `bucket`/`key`) for the copy operation. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'someFile.yml' - // Note: The `copy_source` attribute applies to S3 copy operations and - // corresponds to the `--copy-source` parameter - // of the [copy-object operation within the S3 - // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html). - // This applies in particular to the following operations: - // - // - - // [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html) - // - - // [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - AWSS3CopySourceKey = attribute.Key("aws.s3.copy_source") - - // AWSS3DeleteKey is the attribute Key conforming to the "aws.s3.delete" - // semantic conventions. It represents the delete request container that - // specifies the objects to be deleted. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: - // 'Objects=[{Key=string,VersionID=string},{Key=string,VersionID=string}],Quiet=boolean' - // Note: The `delete` attribute is only applicable to the - // [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) - // operation. - // The `delete` attribute corresponds to the `--delete` parameter of the - // [delete-objects operation within the S3 - // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html). - AWSS3DeleteKey = attribute.Key("aws.s3.delete") - - // AWSS3KeyKey is the attribute Key conforming to the "aws.s3.key" semantic - // conventions. It represents the S3 object key the request refers to. - // Corresponds to the `--key` parameter of the [S3 - // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) - // operations. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'someFile.yml' - // Note: The `key` attribute is applicable to all object-related S3 - // operations, i.e. that require the object key as a mandatory parameter. - // This applies in particular to the following operations: - // - // - - // [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html) - // - - // [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) - // - - // [get-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html) - // - - // [head-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html) - // - - // [put-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html) - // - - // [restore-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html) - // - - // [select-object-content](https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html) - // - - // [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html) - // - - // [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html) - // - - // [create-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html) - // - - // [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html) - // - - // [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html) - // - - // [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - AWSS3KeyKey = attribute.Key("aws.s3.key") - - // AWSS3PartNumberKey is the attribute Key conforming to the - // "aws.s3.part_number" semantic conventions. It represents the part number - // of the part being uploaded in a multipart-upload operation. This is a - // positive integer between 1 and 10,000. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 3456 - // Note: The `part_number` attribute is only applicable to the - // [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html) - // and - // [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - // operations. - // The `part_number` attribute corresponds to the `--part-number` parameter - // of the - // [upload-part operation within the S3 - // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html). - AWSS3PartNumberKey = attribute.Key("aws.s3.part_number") - - // AWSS3UploadIDKey is the attribute Key conforming to the - // "aws.s3.upload_id" semantic conventions. It represents the upload ID - // that identifies the multipart upload. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ' - // Note: The `upload_id` attribute applies to S3 multipart-upload - // operations and corresponds to the `--upload-id` parameter - // of the [S3 - // API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) - // multipart operations. - // This applies in particular to the following operations: - // - // - - // [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html) - // - - // [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html) - // - - // [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html) - // - - // [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html) - // - - // [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - AWSS3UploadIDKey = attribute.Key("aws.s3.upload_id") -) - -// AWSS3Bucket returns an attribute KeyValue conforming to the -// "aws.s3.bucket" semantic conventions. It represents the S3 bucket name the -// request refers to. Corresponds to the `--bucket` parameter of the [S3 -// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) -// operations. +// AWSS3Bucket returns an attribute KeyValue conforming to the "aws.s3.bucket" +// semantic conventions. It represents the S3 bucket name the request refers +// to. Corresponds to the `--bucket` parameter of the [S3 API] operations +// +// [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html func AWSS3Bucket(val string) attribute.KeyValue { return AWSS3BucketKey.String(val) } // AWSS3CopySource returns an attribute KeyValue conforming to the // "aws.s3.copy_source" semantic conventions. It represents the source object -// (in the form `bucket`/`key`) for the copy operation. +// (in the form `bucket`/`key`) for the copy operation func AWSS3CopySource(val string) attribute.KeyValue { return AWSS3CopySourceKey.String(val) } -// AWSS3Delete returns an attribute KeyValue conforming to the -// "aws.s3.delete" semantic conventions. It represents the delete request -// container that specifies the objects to be deleted. +// AWSS3Delete returns an attribute KeyValue conforming to the "aws.s3.delete" +// semantic conventions. It represents the delete request container that +// specifies the objects to be deleted func AWSS3Delete(val string) attribute.KeyValue { return AWSS3DeleteKey.String(val) } // AWSS3Key returns an attribute KeyValue conforming to the "aws.s3.key" // semantic conventions. It represents the S3 object key the request refers to. -// Corresponds to the `--key` parameter of the [S3 -// API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) -// operations. +// Corresponds to the `--key` parameter of the [S3 API] operations +// +// [S3 API]: https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html func AWSS3Key(val string) attribute.KeyValue { return AWSS3KeyKey.String(val) } @@ -1217,100 +1350,327 @@ func AWSS3Key(val string) attribute.KeyValue { // AWSS3PartNumber returns an attribute KeyValue conforming to the // "aws.s3.part_number" semantic conventions. It represents the part number of // the part being uploaded in a multipart-upload operation. This is a positive -// integer between 1 and 10,000. +// integer between 1 and 10,000 func AWSS3PartNumber(val int) attribute.KeyValue { return AWSS3PartNumberKey.Int(val) } // AWSS3UploadID returns an attribute KeyValue conforming to the // "aws.s3.upload_id" semantic conventions. It represents the upload ID that -// identifies the multipart upload. +// identifies the multipart upload func AWSS3UploadID(val string) attribute.KeyValue { return AWSS3UploadIDKey.String(val) } -// Generic attributes for Azure SDK. +// Enum values for aws.ecs.launchtype +var ( + // ec2 + // Stability: development + AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") + // fargate + // Stability: development + AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") +) + +// Namespace: az const ( + // AzNamespaceKey is the attribute Key conforming to the "az.namespace" + // semantic conventions. It represents the [Azure Resource Provider Namespace] + // as recognized by the client. + // + // Stability: Development + // Type: string + // + // Examples: + // "Microsoft.Storage", + // "Microsoft.KeyVault", + // "Microsoft.ServiceBus", + // + // [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers + AzNamespaceKey = attribute.Key("az.namespace") + // AzServiceRequestIDKey is the attribute Key conforming to the // "az.service_request_id" semantic conventions. It represents the unique - // identifier of the service request. It's generated by the Azure service - // and returned with the response. - // + // identifier of the service request. It's generated by the Azure service and + // returned with the response. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '00000000-0000-0000-0000-000000000000' + // + // Examples: + // "00000000-0000-0000-0000-000000000000", AzServiceRequestIDKey = attribute.Key("az.service_request_id") ) +// AzNamespace returns an attribute KeyValue conforming to the "az.namespace" +// semantic conventions. It represents the [Azure Resource Provider Namespace] +// as recognized by the client +// +// [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers +func AzNamespace(val string) attribute.KeyValue { + return AzNamespaceKey.String(val) +} + // AzServiceRequestID returns an attribute KeyValue conforming to the // "az.service_request_id" semantic conventions. It represents the unique // identifier of the service request. It's generated by the Azure service and -// returned with the response. +// returned with the response func AzServiceRequestID(val string) attribute.KeyValue { return AzServiceRequestIDKey.String(val) } -// The web browser attributes +// Namespace: azure +const ( + // AzureClientIDKey is the attribute Key conforming to the "azure.client.id" + // semantic conventions. It represents the unique identifier of the client + // instance. + // Stability: Development + // Type: string + // + // Examples: + // "3ba4827d-4422-483f-b59f-85b74211c11d", + // "storage-client-1", + AzureClientIDKey = attribute.Key("azure.client.id") + + // AzureCosmosDBConnectionModeKey is the attribute Key conforming to the + // "azure.cosmosdb.connection.mode" semantic conventions. It represents the + // cosmos client connection mode. + // Stability: Development + // Type: Enum + // + // Examples: undefined + AzureCosmosDBConnectionModeKey = attribute.Key("azure.cosmosdb.connection.mode") + + // AzureCosmosDBConsistencyLevelKey is the attribute Key conforming to the + // "azure.cosmosdb.consistency.level" semantic conventions. It represents the + // account or request [consistency level]. + // Stability: Development + // Type: Enum + // + // Examples: + // "Eventual", + // "ConsistentPrefix", + // "BoundedStaleness", + // "Strong", + // "Session", + // + // [consistency level]: https://learn.microsoft.com/azure/cosmos-db/consistency-levels + AzureCosmosDBConsistencyLevelKey = attribute.Key("azure.cosmosdb.consistency.level") + + // AzureCosmosDBOperationContactedRegionsKey is the attribute Key conforming + // to the "azure.cosmosdb.operation.contacted_regions" semantic conventions. + // It represents the list of regions contacted during operation in the order + // that they were contacted. If there is more than one region listed, it + // indicates that the operation was performed on multiple regions i.e. + // cross-regional call. + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "North Central US", + // "Australia East", + // "Australia Southeast", + // ], + // + // Note: Region name matches the format of `displayName` in + // [Azure Location API] + // + // [Azure Location API]: https://learn.microsoft.com/rest/api/subscription/subscriptions/list-locations?view=rest-subscription-2021-10-01&tabs=HTTP#location + AzureCosmosDBOperationContactedRegionsKey = attribute.Key("azure.cosmosdb.operation.contacted_regions") + + // AzureCosmosDBOperationRequestChargeKey is the attribute Key conforming to + // the "azure.cosmosdb.operation.request_charge" semantic conventions. It + // represents the number of request units consumed by the operation. + // + // Stability: Development + // Type: double + // + // Examples: + // 46.18, + // 1.0, + AzureCosmosDBOperationRequestChargeKey = attribute.Key("azure.cosmosdb.operation.request_charge") + + // AzureCosmosDBRequestBodySizeKey is the attribute Key conforming to the + // "azure.cosmosdb.request.body.size" semantic conventions. It represents the + // request payload size in bytes. + // Stability: Development + // Type: int + // + // Examples: undefined + AzureCosmosDBRequestBodySizeKey = attribute.Key("azure.cosmosdb.request.body.size") + + // AzureCosmosDBResponseSubStatusCodeKey is the attribute Key conforming to + // the "azure.cosmosdb.response.sub_status_code" semantic conventions. It + // represents the cosmos DB sub status code. + // Stability: Development + // Type: int + // + // Examples: + // 1000, + // 1002, + AzureCosmosDBResponseSubStatusCodeKey = attribute.Key("azure.cosmosdb.response.sub_status_code") +) + +// AzureClientID returns an attribute KeyValue conforming to the +// "azure.client.id" semantic conventions. It represents the unique identifier +// of the client instance +func AzureClientID(val string) attribute.KeyValue { + return AzureClientIDKey.String(val) +} + +// AzureCosmosDBConnectionMode returns an attribute KeyValue conforming to the +// "azure.cosmosdb.connection.mode" semantic conventions. It represents the +// cosmos client connection mode +func AzureCosmosDBConnectionMode(val string) attribute.KeyValue { + return AzureCosmosDBConnectionModeKey.String(val) +} + +// AzureCosmosDBConsistencyLevel returns an attribute KeyValue conforming to +// the "azure.cosmosdb.consistency.level" semantic conventions. It represents +// the account or request [consistency level] +// +// [consistency level]: https://learn.microsoft.com/azure/cosmos-db/consistency-levels +func AzureCosmosDBConsistencyLevel(val string) attribute.KeyValue { + return AzureCosmosDBConsistencyLevelKey.String(val) +} + +// AzureCosmosDBOperationContactedRegions returns an attribute KeyValue +// conforming to the "azure.cosmosdb.operation.contacted_regions" semantic +// conventions. It represents the list of regions contacted during operation in +// the order that they were contacted. If there is more than one region listed, +// it indicates that the operation was performed on multiple regions i.e. +// cross-regional call +func AzureCosmosDBOperationContactedRegions(val ...string) attribute.KeyValue { + return AzureCosmosDBOperationContactedRegionsKey.StringSlice(val) +} + +// AzureCosmosDBOperationRequestCharge returns an attribute KeyValue conforming +// to the "azure.cosmosdb.operation.request_charge" semantic conventions. It +// represents the number of request units consumed by the operation +func AzureCosmosDBOperationRequestCharge(val float64) attribute.KeyValue { + return AzureCosmosDBOperationRequestChargeKey.Float64(val) +} + +// AzureCosmosDBRequestBodySize returns an attribute KeyValue conforming to the +// "azure.cosmosdb.request.body.size" semantic conventions. It represents the +// request payload size in bytes +func AzureCosmosDBRequestBodySize(val int) attribute.KeyValue { + return AzureCosmosDBRequestBodySizeKey.Int(val) +} + +// AzureCosmosDBResponseSubStatusCode returns an attribute KeyValue conforming +// to the "azure.cosmosdb.response.sub_status_code" semantic conventions. It +// represents the cosmos DB sub status code +func AzureCosmosDBResponseSubStatusCode(val int) attribute.KeyValue { + return AzureCosmosDBResponseSubStatusCodeKey.Int(val) +} + +// Enum values for azure.cosmosdb.connection.mode +var ( + // Gateway (HTTP) connection. + // Stability: development + AzureCosmosDBConnectionModeGateway = AzureCosmosDBConnectionModeKey.String("gateway") + // Direct connection. + // Stability: development + AzureCosmosDBConnectionModeDirect = AzureCosmosDBConnectionModeKey.String("direct") +) + +// Enum values for azure.cosmosdb.consistency.level +var ( + // strong + // Stability: development + AzureCosmosDBConsistencyLevelStrong = AzureCosmosDBConsistencyLevelKey.String("Strong") + // bounded_staleness + // Stability: development + AzureCosmosDBConsistencyLevelBoundedStaleness = AzureCosmosDBConsistencyLevelKey.String("BoundedStaleness") + // session + // Stability: development + AzureCosmosDBConsistencyLevelSession = AzureCosmosDBConsistencyLevelKey.String("Session") + // eventual + // Stability: development + AzureCosmosDBConsistencyLevelEventual = AzureCosmosDBConsistencyLevelKey.String("Eventual") + // consistent_prefix + // Stability: development + AzureCosmosDBConsistencyLevelConsistentPrefix = AzureCosmosDBConsistencyLevelKey.String("ConsistentPrefix") +) + +// Namespace: browser const ( // BrowserBrandsKey is the attribute Key conforming to the "browser.brands" // semantic conventions. It represents the array of brand name and version // separated by a space - // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: ' Not A;Brand 99', 'Chromium 99', 'Chrome 99' - // Note: This value is intended to be taken from the [UA client hints - // API](https://wicg.github.io/ua-client-hints/#interface) - // (`navigator.userAgentData.brands`). + // + // Examples: + // [ + // " Not A;Brand 99", + // "Chromium 99", + // "Chrome 99", + // ], + // + // Note: This value is intended to be taken from the [UA client hints API] ( + // `navigator.userAgentData.brands`) + // + // [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface BrowserBrandsKey = attribute.Key("browser.brands") // BrowserLanguageKey is the attribute Key conforming to the // "browser.language" semantic conventions. It represents the preferred // language of the user using the browser - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'en', 'en-US', 'fr', 'fr-FR' + // + // Examples: + // "en", + // "en-US", + // "fr", + // "fr-FR", + // // Note: This value is intended to be taken from the Navigator API - // `navigator.language`. + // `navigator.language` BrowserLanguageKey = attribute.Key("browser.language") // BrowserMobileKey is the attribute Key conforming to the "browser.mobile" - // semantic conventions. It represents a boolean that is true if the - // browser is running on a mobile device - // + // semantic conventions. It represents a boolean that is true if the browser + // is running on a mobile device + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental - // Note: This value is intended to be taken from the [UA client hints - // API](https://wicg.github.io/ua-client-hints/#interface) - // (`navigator.userAgentData.mobile`). If unavailable, this attribute - // SHOULD be left unset. + // + // Examples: undefined + // Note: This value is intended to be taken from the [UA client hints API] ( + // `navigator.userAgentData.mobile`). If unavailable, this attribute SHOULD be + // left unset + // + // [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface BrowserMobileKey = attribute.Key("browser.mobile") // BrowserPlatformKey is the attribute Key conforming to the // "browser.platform" semantic conventions. It represents the platform on // which the browser is running - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Windows', 'macOS', 'Android' - // Note: This value is intended to be taken from the [UA client hints - // API](https://wicg.github.io/ua-client-hints/#interface) - // (`navigator.userAgentData.platform`). If unavailable, the legacy + // + // Examples: + // "Windows", + // "macOS", + // "Android", + // + // Note: This value is intended to be taken from the [UA client hints API] ( + // `navigator.userAgentData.platform`). If unavailable, the legacy // `navigator.platform` API SHOULD NOT be used instead and this attribute // SHOULD be left unset in order for the values to be consistent. - // The list of possible values is defined in the [W3C User-Agent Client - // Hints - // specification](https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform). - // Note that some (but not all) of these values can overlap with values in - // the [`os.type` and `os.name` attributes](./os.md). However, for - // consistency, the values in the `browser.platform` attribute should - // capture the exact value that the user agent provides. + // The list of possible values is defined in the + // [W3C User-Agent Client Hints specification]. Note that some (but not all) + // of these values can overlap with values in the + // [`os.type` and `os.name` attributes]. However, for consistency, the values + // in the `browser.platform` attribute should capture the exact value that the + // user agent provides + // + // [UA client hints API]: https://wicg.github.io/ua-client-hints/#interface + // [W3C User-Agent Client Hints specification]: https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform + // [`os.type` and `os.name` attributes]: ./os.md BrowserPlatformKey = attribute.Key("browser.platform") ) @@ -1342,619 +1702,1298 @@ func BrowserPlatform(val string) attribute.KeyValue { return BrowserPlatformKey.String(val) } -// This group describes attributes specific to pipelines within a Continuous -// Integration and Continuous Deployment (CI/CD) system. A -// [pipeline](https://en.wikipedia.org/wiki/Pipeline_(computing)) in this case -// is a series of steps that are performed in order to deliver a new version of -// software. This aligns with the -// [Britannica](https://www.britannica.com/dictionary/pipeline) definition of a -// pipeline where a **pipeline** is the system for developing and producing -// something. In the context of CI/CD, a pipeline produces or delivers -// software. +// Namespace: cassandra +const ( + // CassandraConsistencyLevelKey is the attribute Key conforming to the + // "cassandra.consistency.level" semantic conventions. It represents the + // consistency level of the query. Based on consistency values from [CQL]. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + // + // [CQL]: https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html + CassandraConsistencyLevelKey = attribute.Key("cassandra.consistency.level") + + // CassandraCoordinatorDCKey is the attribute Key conforming to the + // "cassandra.coordinator.dc" semantic conventions. It represents the data + // center of the coordinating node for a query. + // + // Stability: Development + // Type: string + // + // Examples: "us-west-2" + CassandraCoordinatorDCKey = attribute.Key("cassandra.coordinator.dc") + + // CassandraCoordinatorIDKey is the attribute Key conforming to the + // "cassandra.coordinator.id" semantic conventions. It represents the ID of + // the coordinating node for a query. + // + // Stability: Development + // Type: string + // + // Examples: "be13faa2-8574-4d71-926d-27f16cf8a7af" + CassandraCoordinatorIDKey = attribute.Key("cassandra.coordinator.id") + + // CassandraPageSizeKey is the attribute Key conforming to the + // "cassandra.page.size" semantic conventions. It represents the fetch size + // used for paging, i.e. how many rows will be returned at once. + // + // Stability: Development + // Type: int + // + // Examples: + // 5000, + CassandraPageSizeKey = attribute.Key("cassandra.page.size") + + // CassandraQueryIdempotentKey is the attribute Key conforming to the + // "cassandra.query.idempotent" semantic conventions. It represents the + // whether or not the query is idempotent. + // + // Stability: Development + // Type: boolean + // + // Examples: undefined + CassandraQueryIdempotentKey = attribute.Key("cassandra.query.idempotent") + + // CassandraSpeculativeExecutionCountKey is the attribute Key conforming to + // the "cassandra.speculative_execution.count" semantic conventions. It + // represents the number of times a query was speculatively executed. Not set + // or `0` if the query was not executed speculatively. + // + // Stability: Development + // Type: int + // + // Examples: + // 0, + // 2, + CassandraSpeculativeExecutionCountKey = attribute.Key("cassandra.speculative_execution.count") +) + +// CassandraConsistencyLevel returns an attribute KeyValue conforming to the +// "cassandra.consistency.level" semantic conventions. It represents the +// consistency level of the query. Based on consistency values from [CQL] +// +// [CQL]: https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html +func CassandraConsistencyLevel(val string) attribute.KeyValue { + return CassandraConsistencyLevelKey.String(val) +} + +// CassandraCoordinatorDC returns an attribute KeyValue conforming to the +// "cassandra.coordinator.dc" semantic conventions. It represents the data +// center of the coordinating node for a query +func CassandraCoordinatorDC(val string) attribute.KeyValue { + return CassandraCoordinatorDCKey.String(val) +} + +// CassandraCoordinatorID returns an attribute KeyValue conforming to the +// "cassandra.coordinator.id" semantic conventions. It represents the ID of the +// coordinating node for a query +func CassandraCoordinatorID(val string) attribute.KeyValue { + return CassandraCoordinatorIDKey.String(val) +} + +// CassandraPageSize returns an attribute KeyValue conforming to the +// "cassandra.page.size" semantic conventions. It represents the fetch size +// used for paging, i.e. how many rows will be returned at once +func CassandraPageSize(val int) attribute.KeyValue { + return CassandraPageSizeKey.Int(val) +} + +// CassandraQueryIdempotent returns an attribute KeyValue conforming to the +// "cassandra.query.idempotent" semantic conventions. It represents the whether +// or not the query is idempotent +func CassandraQueryIdempotent(val bool) attribute.KeyValue { + return CassandraQueryIdempotentKey.Bool(val) +} + +// CassandraSpeculativeExecutionCount returns an attribute KeyValue conforming +// to the "cassandra.speculative_execution.count" semantic conventions. It +// represents the number of times a query was speculatively executed. Not set +// or `0` if the query was not executed speculatively +func CassandraSpeculativeExecutionCount(val int) attribute.KeyValue { + return CassandraSpeculativeExecutionCountKey.Int(val) +} + +// Enum values for cassandra.consistency.level +var ( + // all + // Stability: development + CassandraConsistencyLevelAll = CassandraConsistencyLevelKey.String("all") + // each_quorum + // Stability: development + CassandraConsistencyLevelEachQuorum = CassandraConsistencyLevelKey.String("each_quorum") + // quorum + // Stability: development + CassandraConsistencyLevelQuorum = CassandraConsistencyLevelKey.String("quorum") + // local_quorum + // Stability: development + CassandraConsistencyLevelLocalQuorum = CassandraConsistencyLevelKey.String("local_quorum") + // one + // Stability: development + CassandraConsistencyLevelOne = CassandraConsistencyLevelKey.String("one") + // two + // Stability: development + CassandraConsistencyLevelTwo = CassandraConsistencyLevelKey.String("two") + // three + // Stability: development + CassandraConsistencyLevelThree = CassandraConsistencyLevelKey.String("three") + // local_one + // Stability: development + CassandraConsistencyLevelLocalOne = CassandraConsistencyLevelKey.String("local_one") + // any + // Stability: development + CassandraConsistencyLevelAny = CassandraConsistencyLevelKey.String("any") + // serial + // Stability: development + CassandraConsistencyLevelSerial = CassandraConsistencyLevelKey.String("serial") + // local_serial + // Stability: development + CassandraConsistencyLevelLocalSerial = CassandraConsistencyLevelKey.String("local_serial") +) + +// Namespace: cicd const ( // CICDPipelineNameKey is the attribute Key conforming to the - // "cicd.pipeline.name" semantic conventions. It represents the human - // readable name of the pipeline within a CI/CD system. + // "cicd.pipeline.name" semantic conventions. It represents the human readable + // name of the pipeline within a CI/CD system. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Build and Test', 'Lint', 'Deploy Go Project', - // 'deploy_to_environment' + // + // Examples: + // "Build and Test", + // "Lint", + // "Deploy Go Project", + // "deploy_to_environment", CICDPipelineNameKey = attribute.Key("cicd.pipeline.name") + // CICDPipelineResultKey is the attribute Key conforming to the + // "cicd.pipeline.result" semantic conventions. It represents the result of a + // pipeline run. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "success", + // "failure", + // "timeout", + // "skipped", + CICDPipelineResultKey = attribute.Key("cicd.pipeline.result") + // CICDPipelineRunIDKey is the attribute Key conforming to the // "cicd.pipeline.run.id" semantic conventions. It represents the unique // identifier of a pipeline run within a CI/CD system. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '120912' + // + // Examples: + // "120912", CICDPipelineRunIDKey = attribute.Key("cicd.pipeline.run.id") + // CICDPipelineRunStateKey is the attribute Key conforming to the + // "cicd.pipeline.run.state" semantic conventions. It represents the pipeline + // run goes through these states during its lifecycle. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "pending", + // "executing", + // "finalizing", + CICDPipelineRunStateKey = attribute.Key("cicd.pipeline.run.state") + // CICDPipelineTaskNameKey is the attribute Key conforming to the // "cicd.pipeline.task.name" semantic conventions. It represents the human // readable name of a task within a pipeline. Task here most closely aligns - // with a [computing - // process](https://en.wikipedia.org/wiki/Pipeline_(computing)) in a - // pipeline. Other terms for tasks include commands, steps, and procedures. + // with a [computing process] in a pipeline. Other terms for tasks include + // commands, steps, and procedures. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Run GoLang Linter', 'Go Build', 'go-test', 'deploy_binary' + // + // Examples: + // "Run GoLang Linter", + // "Go Build", + // "go-test", + // "deploy_binary", + // + // [computing process]: https://wikipedia.org/wiki/Pipeline_(computing) CICDPipelineTaskNameKey = attribute.Key("cicd.pipeline.task.name") // CICDPipelineTaskRunIDKey is the attribute Key conforming to the - // "cicd.pipeline.task.run.id" semantic conventions. It represents the - // unique identifier of a task run within a pipeline. + // "cicd.pipeline.task.run.id" semantic conventions. It represents the unique + // identifier of a task run within a pipeline. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '12097' + // + // Examples: + // "12097", CICDPipelineTaskRunIDKey = attribute.Key("cicd.pipeline.task.run.id") // CICDPipelineTaskRunURLFullKey is the attribute Key conforming to the - // "cicd.pipeline.task.run.url.full" semantic conventions. It represents - // the [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run - // providing the complete address in order to locate and identify the - // pipeline run. + // "cicd.pipeline.task.run.url.full" semantic conventions. It represents the + // [URL] of the pipeline run providing the complete address in order to locate + // and identify the pipeline run. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // 'https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075' + // + // "https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075", + // + // [URL]: https://wikipedia.org/wiki/URL CICDPipelineTaskRunURLFullKey = attribute.Key("cicd.pipeline.task.run.url.full") // CICDPipelineTaskTypeKey is the attribute Key conforming to the - // "cicd.pipeline.task.type" semantic conventions. It represents the type - // of the task within a pipeline. + // "cicd.pipeline.task.type" semantic conventions. It represents the type of + // the task within a pipeline. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'build', 'test', 'deploy' + // + // Examples: + // "build", + // "test", + // "deploy", CICDPipelineTaskTypeKey = attribute.Key("cicd.pipeline.task.type") -) -var ( - // build - CICDPipelineTaskTypeBuild = CICDPipelineTaskTypeKey.String("build") - // test - CICDPipelineTaskTypeTest = CICDPipelineTaskTypeKey.String("test") - // deploy - CICDPipelineTaskTypeDeploy = CICDPipelineTaskTypeKey.String("deploy") + // CICDSystemComponentKey is the attribute Key conforming to the + // "cicd.system.component" semantic conventions. It represents the name of a + // component of the CICD system. + // Stability: Development + // Type: string + // + // Examples: + // "controller", + // "scheduler", + // "agent", + CICDSystemComponentKey = attribute.Key("cicd.system.component") + + // CICDWorkerStateKey is the attribute Key conforming to the + // "cicd.worker.state" semantic conventions. It represents the state of a CICD + // worker / agent. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "idle", + // "busy", + // "down", + CICDWorkerStateKey = attribute.Key("cicd.worker.state") ) // CICDPipelineName returns an attribute KeyValue conforming to the // "cicd.pipeline.name" semantic conventions. It represents the human readable -// name of the pipeline within a CI/CD system. +// name of the pipeline within a CI/CD system func CICDPipelineName(val string) attribute.KeyValue { return CICDPipelineNameKey.String(val) } +// CICDPipelineResult returns an attribute KeyValue conforming to the +// "cicd.pipeline.result" semantic conventions. It represents the result of a +// pipeline run +func CICDPipelineResult(val string) attribute.KeyValue { + return CICDPipelineResultKey.String(val) +} + // CICDPipelineRunID returns an attribute KeyValue conforming to the // "cicd.pipeline.run.id" semantic conventions. It represents the unique -// identifier of a pipeline run within a CI/CD system. +// identifier of a pipeline run within a CI/CD system func CICDPipelineRunID(val string) attribute.KeyValue { return CICDPipelineRunIDKey.String(val) } +// CICDPipelineRunState returns an attribute KeyValue conforming to the +// "cicd.pipeline.run.state" semantic conventions. It represents the pipeline +// run goes through these states during its lifecycle +func CICDPipelineRunState(val string) attribute.KeyValue { + return CICDPipelineRunStateKey.String(val) +} + // CICDPipelineTaskName returns an attribute KeyValue conforming to the // "cicd.pipeline.task.name" semantic conventions. It represents the human // readable name of a task within a pipeline. Task here most closely aligns -// with a [computing -// process](https://en.wikipedia.org/wiki/Pipeline_(computing)) in a pipeline. -// Other terms for tasks include commands, steps, and procedures. +// with a [computing process] in a pipeline. Other terms for tasks include +// commands, steps, and procedures +// +// [computing process]: https://wikipedia.org/wiki/Pipeline_(computing) func CICDPipelineTaskName(val string) attribute.KeyValue { return CICDPipelineTaskNameKey.String(val) } // CICDPipelineTaskRunID returns an attribute KeyValue conforming to the // "cicd.pipeline.task.run.id" semantic conventions. It represents the unique -// identifier of a task run within a pipeline. +// identifier of a task run within a pipeline func CICDPipelineTaskRunID(val string) attribute.KeyValue { return CICDPipelineTaskRunIDKey.String(val) } -// CICDPipelineTaskRunURLFull returns an attribute KeyValue conforming to -// the "cicd.pipeline.task.run.url.full" semantic conventions. It represents -// the [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run providing -// the complete address in order to locate and identify the pipeline run. +// CICDPipelineTaskRunURLFull returns an attribute KeyValue conforming to the +// "cicd.pipeline.task.run.url.full" semantic conventions. It represents the +// [URL] of the pipeline run providing the complete address in order to locate +// and identify the pipeline run +// +// [URL]: https://wikipedia.org/wiki/URL func CICDPipelineTaskRunURLFull(val string) attribute.KeyValue { return CICDPipelineTaskRunURLFullKey.String(val) } -// These attributes may be used to describe the client in a connection-based -// network interaction where there is one side that initiates the connection -// (the client is the side that initiates the connection). This covers all TCP -// network interactions since TCP is connection-based and one side initiates -// the connection (an exception is made for peer-to-peer communication over TCP -// where the "user-facing" surface of the protocol / API doesn't expose a clear -// notion of client and server). This also covers UDP network interactions -// where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS. +// CICDPipelineTaskType returns an attribute KeyValue conforming to the +// "cicd.pipeline.task.type" semantic conventions. It represents the type of +// the task within a pipeline +func CICDPipelineTaskType(val string) attribute.KeyValue { + return CICDPipelineTaskTypeKey.String(val) +} + +// CICDSystemComponent returns an attribute KeyValue conforming to the +// "cicd.system.component" semantic conventions. It represents the name of a +// component of the CICD system +func CICDSystemComponent(val string) attribute.KeyValue { + return CICDSystemComponentKey.String(val) +} + +// CICDWorkerState returns an attribute KeyValue conforming to the +// "cicd.worker.state" semantic conventions. It represents the state of a CICD +// worker / agent +func CICDWorkerState(val string) attribute.KeyValue { + return CICDWorkerStateKey.String(val) +} + +// Enum values for cicd.pipeline.result +var ( + // The pipeline run finished successfully. + // Stability: development + CICDPipelineResultSuccess = CICDPipelineResultKey.String("success") + // The pipeline run did not finish successfully, eg. due to a compile error or + // a failing test. Such failures are usually detected by non-zero exit codes + // of the tools executed in the pipeline run. + // Stability: development + CICDPipelineResultFailure = CICDPipelineResultKey.String("failure") + // The pipeline run failed due to an error in the CICD system, eg. due to the + // worker being killed. + // Stability: development + CICDPipelineResultError = CICDPipelineResultKey.String("error") + // A timeout caused the pipeline run to be interrupted. + // Stability: development + CICDPipelineResultTimeout = CICDPipelineResultKey.String("timeout") + // The pipeline run was cancelled, eg. by a user manually cancelling the + // pipeline run. + // Stability: development + CICDPipelineResultCancellation = CICDPipelineResultKey.String("cancellation") + // The pipeline run was skipped, eg. due to a precondition not being met. + // Stability: development + CICDPipelineResultSkip = CICDPipelineResultKey.String("skip") +) + +// Enum values for cicd.pipeline.run.state +var ( + // The run pending state spans from the event triggering the pipeline run + // until the execution of the run starts (eg. time spent in a queue, + // provisioning agents, creating run resources). + // + // Stability: development + CICDPipelineRunStatePending = CICDPipelineRunStateKey.String("pending") + // The executing state spans the execution of any run tasks (eg. build, test). + // Stability: development + CICDPipelineRunStateExecuting = CICDPipelineRunStateKey.String("executing") + // The finalizing state spans from when the run has finished executing (eg. + // cleanup of run resources). + // Stability: development + CICDPipelineRunStateFinalizing = CICDPipelineRunStateKey.String("finalizing") +) + +// Enum values for cicd.pipeline.task.type +var ( + // build + // Stability: development + CICDPipelineTaskTypeBuild = CICDPipelineTaskTypeKey.String("build") + // test + // Stability: development + CICDPipelineTaskTypeTest = CICDPipelineTaskTypeKey.String("test") + // deploy + // Stability: development + CICDPipelineTaskTypeDeploy = CICDPipelineTaskTypeKey.String("deploy") +) + +// Enum values for cicd.worker.state +var ( + // The worker is not performing work for the CICD system. It is available to + // the CICD system to perform work on (online / idle). + // Stability: development + CICDWorkerStateAvailable = CICDWorkerStateKey.String("available") + // The worker is performing work for the CICD system. + // Stability: development + CICDWorkerStateBusy = CICDWorkerStateKey.String("busy") + // The worker is not available to the CICD system (disconnected / down). + // Stability: development + CICDWorkerStateOffline = CICDWorkerStateKey.String("offline") +) + +// Namespace: client const ( // ClientAddressKey is the attribute Key conforming to the "client.address" // semantic conventions. It represents the client address - domain name if - // available without reverse DNS lookup; otherwise, IP address or Unix - // domain socket name. - // + // available without reverse DNS lookup; otherwise, IP address or Unix domain + // socket name. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'client.example.com', '10.1.2.80', '/tmp/my.sock' - // Note: When observed from the server side, and when communicating through - // an intermediary, `client.address` SHOULD represent the client address - // behind any intermediaries, for example proxies, if it's available. + // + // Examples: + // "client.example.com", + // "10.1.2.80", + // "/tmp/my.sock", + // + // Note: When observed from the server side, and when communicating through an + // intermediary, `client.address` SHOULD represent the client address behind + // any intermediaries, for example proxies, if it's available ClientAddressKey = attribute.Key("client.address") - // ClientPortKey is the attribute Key conforming to the "client.port" - // semantic conventions. It represents the client port number. - // + // ClientPortKey is the attribute Key conforming to the "client.port" semantic + // conventions. It represents the client port number. + // Stability: Stable // Type: int - // RequirementLevel: Optional - // Stability: stable - // Examples: 65123 - // Note: When observed from the server side, and when communicating through - // an intermediary, `client.port` SHOULD represent the client port behind - // any intermediaries, for example proxies, if it's available. + // + // Examples: + // 65123, + // + // Note: When observed from the server side, and when communicating through an + // intermediary, `client.port` SHOULD represent the client port behind any + // intermediaries, for example proxies, if it's available ClientPortKey = attribute.Key("client.port") ) // ClientAddress returns an attribute KeyValue conforming to the // "client.address" semantic conventions. It represents the client address - // domain name if available without reverse DNS lookup; otherwise, IP address -// or Unix domain socket name. +// or Unix domain socket name func ClientAddress(val string) attribute.KeyValue { return ClientAddressKey.String(val) } // ClientPort returns an attribute KeyValue conforming to the "client.port" -// semantic conventions. It represents the client port number. +// semantic conventions. It represents the client port number func ClientPort(val int) attribute.KeyValue { return ClientPortKey.Int(val) } -// A cloud environment (e.g. GCP, Azure, AWS). +// Namespace: cloud const ( - // CloudAccountIDKey is the attribute Key conforming to the - // "cloud.account.id" semantic conventions. It represents the cloud account - // ID the resource is assigned to. + // CloudAccountIDKey is the attribute Key conforming to the "cloud.account.id" + // semantic conventions. It represents the cloud account ID the resource is + // assigned to. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '111111111111', 'opentelemetry' + // + // Examples: + // "111111111111", + // "opentelemetry", CloudAccountIDKey = attribute.Key("cloud.account.id") // CloudAvailabilityZoneKey is the attribute Key conforming to the // "cloud.availability_zone" semantic conventions. It represents the cloud - // regions often have multiple, isolated locations known as zones to - // increase availability. Availability zone represents the zone where the - // resource is running. + // regions often have multiple, isolated locations known as zones to increase + // availability. Availability zone represents the zone where the resource is + // running. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'us-east-1c' + // + // Examples: + // "us-east-1c", + // // Note: Availability zones are called "zones" on Alibaba Cloud and Google - // Cloud. + // Cloud CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone") // CloudPlatformKey is the attribute Key conforming to the "cloud.platform" // semantic conventions. It represents the cloud platform in use. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined // Note: The prefix of the service SHOULD match the one specified in - // `cloud.provider`. + // `cloud.provider` CloudPlatformKey = attribute.Key("cloud.platform") // CloudProviderKey is the attribute Key conforming to the "cloud.provider" // semantic conventions. It represents the name of the cloud provider. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined CloudProviderKey = attribute.Key("cloud.provider") // CloudRegionKey is the attribute Key conforming to the "cloud.region" - // semantic conventions. It represents the geographical region the resource - // is running. + // semantic conventions. It represents the geographical region the resource is + // running. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'us-central1', 'us-east-1' + // + // Examples: + // "us-central1", + // "us-east-1", + // // Note: Refer to your provider's docs to see the available regions, for - // example [Alibaba Cloud - // regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS - // regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), - // [Azure - // regions](https://azure.microsoft.com/global-infrastructure/geographies/), - // [Google Cloud regions](https://cloud.google.com/about/locations), or - // [Tencent Cloud - // regions](https://www.tencentcloud.com/document/product/213/6091). + // example [Alibaba Cloud regions], [AWS regions], [Azure regions], + // [Google Cloud regions], or [Tencent Cloud regions] + // + // [Alibaba Cloud regions]: https://www.alibabacloud.com/help/doc-detail/40654.htm + // [AWS regions]: https://aws.amazon.com/about-aws/global-infrastructure/regions_az/ + // [Azure regions]: https://azure.microsoft.com/global-infrastructure/geographies/ + // [Google Cloud regions]: https://cloud.google.com/about/locations + // [Tencent Cloud regions]: https://www.tencentcloud.com/document/product/213/6091 CloudRegionKey = attribute.Key("cloud.region") // CloudResourceIDKey is the attribute Key conforming to the // "cloud.resource_id" semantic conventions. It represents the cloud - // provider-specific native identifier of the monitored cloud resource - // (e.g. an - // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // on AWS, a [fully qualified resource - // ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) - // on Azure, a [full resource - // name](https://cloud.google.com/apis/design/resource_names#full_resource_name) - // on GCP) - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function', - // '//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID', - // '/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/' - // Note: On some cloud providers, it may not be possible to determine the - // full ID at startup, + // provider-specific native identifier of the monitored cloud resource (e.g. + // an [ARN] on AWS, a [fully qualified resource ID] on Azure, a + // [full resource name] on GCP) + // + // Stability: Development + // Type: string + // + // Examples: + // "arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function", + // + // "//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID", + // "/subscriptions//resourceGroups/ + // /providers/Microsoft.Web/sites//functions/", + // + // Note: On some cloud providers, it may not be possible to determine the full + // ID at startup, // so it may be necessary to set `cloud.resource_id` as a span attribute // instead. // // The exact value to use for `cloud.resource_id` depends on the cloud // provider. - // The following well-known definitions MUST be used if you set this - // attribute and they apply: - // - // * **AWS Lambda:** The function - // [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). - // Take care not to use the "invoked ARN" directly but replace any - // [alias - // suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) - // with the resolved function version, as the same runtime instance may - // be invocable with - // multiple different aliases. - // * **GCP:** The [URI of the - // resource](https://cloud.google.com/iam/docs/full-resource-names) - // * **Azure:** The [Fully Qualified Resource - // ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) - // of the invoked function, - // *not* the function app, having the form - // `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. - // This means that a span attribute MUST be used, as an Azure function - // app can host multiple functions that would usually share - // a TracerProvider. + // The following well-known definitions MUST be used if you set this attribute + // and they apply: + // + // - **AWS Lambda:** The function [ARN]. + // Take care not to use the "invoked ARN" directly but replace any + // [alias suffix] + // with the resolved function version, as the same runtime instance may be + // invocable with + // multiple different aliases. + // - **GCP:** The [URI of the resource] + // - **Azure:** The [Fully Qualified Resource ID] of the invoked function, + // *not* the function app, having the form + // + // `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` + // . + // This means that a span attribute MUST be used, as an Azure function app + // can host multiple functions that would usually share + // a TracerProvider + // + // + // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html + // [fully qualified resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id + // [full resource name]: https://cloud.google.com/apis/design/resource_names#full_resource_name + // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html + // [alias suffix]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html + // [URI of the resource]: https://cloud.google.com/iam/docs/full-resource-names + // [Fully Qualified Resource ID]: https://docs.microsoft.com/rest/api/resources/resources/get-by-id CloudResourceIDKey = attribute.Key("cloud.resource_id") ) +// CloudAccountID returns an attribute KeyValue conforming to the +// "cloud.account.id" semantic conventions. It represents the cloud account ID +// the resource is assigned to +func CloudAccountID(val string) attribute.KeyValue { + return CloudAccountIDKey.String(val) +} + +// CloudAvailabilityZone returns an attribute KeyValue conforming to the +// "cloud.availability_zone" semantic conventions. It represents the cloud +// regions often have multiple, isolated locations known as zones to increase +// availability. Availability zone represents the zone where the resource is +// running +func CloudAvailabilityZone(val string) attribute.KeyValue { + return CloudAvailabilityZoneKey.String(val) +} + +// CloudPlatform returns an attribute KeyValue conforming to the +// "cloud.platform" semantic conventions. It represents the cloud platform in +// use +func CloudPlatform(val string) attribute.KeyValue { + return CloudPlatformKey.String(val) +} + +// CloudProvider returns an attribute KeyValue conforming to the +// "cloud.provider" semantic conventions. It represents the name of the cloud +// provider +func CloudProvider(val string) attribute.KeyValue { + return CloudProviderKey.String(val) +} + +// CloudRegion returns an attribute KeyValue conforming to the "cloud.region" +// semantic conventions. It represents the geographical region the resource is +// running +func CloudRegion(val string) attribute.KeyValue { + return CloudRegionKey.String(val) +} + +// CloudResourceID returns an attribute KeyValue conforming to the +// "cloud.resource_id" semantic conventions. It represents the cloud +// provider-specific native identifier of the monitored cloud resource (e.g. an +// [ARN] on AWS, a [fully qualified resource ID] on Azure, a +// [full resource name] on GCP) +// +// [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html +// [fully qualified resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id +// [full resource name]: https://cloud.google.com/apis/design/resource_names#full_resource_name +func CloudResourceID(val string) attribute.KeyValue { + return CloudResourceIDKey.String(val) +} + +// Enum values for cloud.platform var ( // Alibaba Cloud Elastic Compute Service + // Stability: development CloudPlatformAlibabaCloudECS = CloudPlatformKey.String("alibaba_cloud_ecs") // Alibaba Cloud Function Compute + // Stability: development CloudPlatformAlibabaCloudFc = CloudPlatformKey.String("alibaba_cloud_fc") // Red Hat OpenShift on Alibaba Cloud + // Stability: development CloudPlatformAlibabaCloudOpenshift = CloudPlatformKey.String("alibaba_cloud_openshift") // AWS Elastic Compute Cloud + // Stability: development CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2") // AWS Elastic Container Service + // Stability: development CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs") // AWS Elastic Kubernetes Service + // Stability: development CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks") // AWS Lambda + // Stability: development CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda") // AWS Elastic Beanstalk + // Stability: development CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk") // AWS App Runner + // Stability: development CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner") // Red Hat OpenShift on AWS (ROSA) + // Stability: development CloudPlatformAWSOpenshift = CloudPlatformKey.String("aws_openshift") // Azure Virtual Machines + // Stability: development CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm") // Azure Container Apps + // Stability: development CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure_container_apps") // Azure Container Instances + // Stability: development CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances") // Azure Kubernetes Service + // Stability: development CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks") // Azure Functions + // Stability: development CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions") // Azure App Service + // Stability: development CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service") // Azure Red Hat OpenShift + // Stability: development CloudPlatformAzureOpenshift = CloudPlatformKey.String("azure_openshift") // Google Bare Metal Solution (BMS) + // Stability: development CloudPlatformGCPBareMetalSolution = CloudPlatformKey.String("gcp_bare_metal_solution") // Google Cloud Compute Engine (GCE) + // Stability: development CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine") // Google Cloud Run + // Stability: development CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run") // Google Cloud Kubernetes Engine (GKE) + // Stability: development CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine") // Google Cloud Functions (GCF) + // Stability: development CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions") // Google Cloud App Engine (GAE) + // Stability: development CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine") // Red Hat OpenShift on Google Cloud + // Stability: development CloudPlatformGCPOpenshift = CloudPlatformKey.String("gcp_openshift") // Red Hat OpenShift on IBM Cloud + // Stability: development CloudPlatformIbmCloudOpenshift = CloudPlatformKey.String("ibm_cloud_openshift") + // Compute on Oracle Cloud Infrastructure (OCI) + // Stability: development + CloudPlatformOracleCloudCompute = CloudPlatformKey.String("oracle_cloud_compute") + // Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI) + // Stability: development + CloudPlatformOracleCloudOke = CloudPlatformKey.String("oracle_cloud_oke") // Tencent Cloud Cloud Virtual Machine (CVM) + // Stability: development CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm") // Tencent Cloud Elastic Kubernetes Service (EKS) + // Stability: development CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks") // Tencent Cloud Serverless Cloud Function (SCF) + // Stability: development CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf") ) +// Enum values for cloud.provider var ( // Alibaba Cloud + // Stability: development CloudProviderAlibabaCloud = CloudProviderKey.String("alibaba_cloud") // Amazon Web Services + // Stability: development CloudProviderAWS = CloudProviderKey.String("aws") // Microsoft Azure + // Stability: development CloudProviderAzure = CloudProviderKey.String("azure") // Google Cloud Platform + // Stability: development CloudProviderGCP = CloudProviderKey.String("gcp") // Heroku Platform as a Service + // Stability: development CloudProviderHeroku = CloudProviderKey.String("heroku") // IBM Cloud + // Stability: development CloudProviderIbmCloud = CloudProviderKey.String("ibm_cloud") + // Oracle Cloud Infrastructure (OCI) + // Stability: development + CloudProviderOracleCloud = CloudProviderKey.String("oracle_cloud") // Tencent Cloud + // Stability: development CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud") ) -// CloudAccountID returns an attribute KeyValue conforming to the -// "cloud.account.id" semantic conventions. It represents the cloud account ID -// the resource is assigned to. -func CloudAccountID(val string) attribute.KeyValue { - return CloudAccountIDKey.String(val) +// Namespace: cloudevents +const ( + // CloudeventsEventIDKey is the attribute Key conforming to the + // "cloudevents.event_id" semantic conventions. It represents the [event_id] + // uniquely identifies the event. + // + // Stability: Development + // Type: string + // + // Examples: + // "123e4567-e89b-12d3-a456-426614174000", + // "0001", + // + // [event_id]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id + CloudeventsEventIDKey = attribute.Key("cloudevents.event_id") + + // CloudeventsEventSourceKey is the attribute Key conforming to the + // "cloudevents.event_source" semantic conventions. It represents the [source] + // identifies the context in which an event happened. + // + // Stability: Development + // Type: string + // + // Examples: + // "https://github.com/cloudevents", + // "/cloudevents/spec/pull/123", + // "my-service", + // + // [source]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1 + CloudeventsEventSourceKey = attribute.Key("cloudevents.event_source") + + // CloudeventsEventSpecVersionKey is the attribute Key conforming to the + // "cloudevents.event_spec_version" semantic conventions. It represents the + // [version of the CloudEvents specification] which the event uses. + // + // Stability: Development + // Type: string + // + // Examples: "1.0" + // + // [version of the CloudEvents specification]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion + CloudeventsEventSpecVersionKey = attribute.Key("cloudevents.event_spec_version") + + // CloudeventsEventSubjectKey is the attribute Key conforming to the + // "cloudevents.event_subject" semantic conventions. It represents the + // [subject] of the event in the context of the event producer (identified by + // source). + // + // Stability: Development + // Type: string + // + // Examples: "mynewfile.jpg" + // + // [subject]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject + CloudeventsEventSubjectKey = attribute.Key("cloudevents.event_subject") + + // CloudeventsEventTypeKey is the attribute Key conforming to the + // "cloudevents.event_type" semantic conventions. It represents the + // [event_type] contains a value describing the type of event related to the + // originating occurrence. + // + // Stability: Development + // Type: string + // + // Examples: + // "com.github.pull_request.opened", + // "com.example.object.deleted.v2", + // + // [event_type]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type + CloudeventsEventTypeKey = attribute.Key("cloudevents.event_type") +) + +// CloudeventsEventID returns an attribute KeyValue conforming to the +// "cloudevents.event_id" semantic conventions. It represents the [event_id] +// uniquely identifies the event +// +// [event_id]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id +func CloudeventsEventID(val string) attribute.KeyValue { + return CloudeventsEventIDKey.String(val) } -// CloudAvailabilityZone returns an attribute KeyValue conforming to the -// "cloud.availability_zone" semantic conventions. It represents the cloud -// regions often have multiple, isolated locations known as zones to increase -// availability. Availability zone represents the zone where the resource is -// running. -func CloudAvailabilityZone(val string) attribute.KeyValue { - return CloudAvailabilityZoneKey.String(val) +// CloudeventsEventSource returns an attribute KeyValue conforming to the +// "cloudevents.event_source" semantic conventions. It represents the [source] +// identifies the context in which an event happened +// +// [source]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1 +func CloudeventsEventSource(val string) attribute.KeyValue { + return CloudeventsEventSourceKey.String(val) } -// CloudRegion returns an attribute KeyValue conforming to the -// "cloud.region" semantic conventions. It represents the geographical region -// the resource is running. -func CloudRegion(val string) attribute.KeyValue { - return CloudRegionKey.String(val) +// CloudeventsEventSpecVersion returns an attribute KeyValue conforming to the +// "cloudevents.event_spec_version" semantic conventions. It represents the +// [version of the CloudEvents specification] which the event uses +// +// [version of the CloudEvents specification]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion +func CloudeventsEventSpecVersion(val string) attribute.KeyValue { + return CloudeventsEventSpecVersionKey.String(val) } -// CloudResourceID returns an attribute KeyValue conforming to the -// "cloud.resource_id" semantic conventions. It represents the cloud -// provider-specific native identifier of the monitored cloud resource (e.g. an -// [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) -// on AWS, a [fully qualified resource -// ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) on -// Azure, a [full resource -// name](https://cloud.google.com/apis/design/resource_names#full_resource_name) -// on GCP) -func CloudResourceID(val string) attribute.KeyValue { - return CloudResourceIDKey.String(val) +// CloudeventsEventSubject returns an attribute KeyValue conforming to the +// "cloudevents.event_subject" semantic conventions. It represents the +// [subject] of the event in the context of the event producer (identified by +// source) +// +// [subject]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject +func CloudeventsEventSubject(val string) attribute.KeyValue { + return CloudeventsEventSubjectKey.String(val) +} + +// CloudeventsEventType returns an attribute KeyValue conforming to the +// "cloudevents.event_type" semantic conventions. It represents the +// [event_type] contains a value describing the type of event related to the +// originating occurrence +// +// [event_type]: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type +func CloudeventsEventType(val string) attribute.KeyValue { + return CloudeventsEventTypeKey.String(val) } -// Attributes for CloudEvents. +// Namespace: cloudfoundry const ( - // CloudeventsEventIDKey is the attribute Key conforming to the - // "cloudevents.event_id" semantic conventions. It represents the - // [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id) - // uniquely identifies the event. + // CloudfoundryAppIDKey is the attribute Key conforming to the + // "cloudfoundry.app.id" semantic conventions. It represents the guid of the + // application. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '123e4567-e89b-12d3-a456-426614174000', '0001' - CloudeventsEventIDKey = attribute.Key("cloudevents.event_id") + // + // Examples: + // "218fc5a9-a5f1-4b54-aa05-46717d0ab26d", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.application_id`. This is the same value as + // reported by `cf app --guid` + CloudfoundryAppIDKey = attribute.Key("cloudfoundry.app.id") + + // CloudfoundryAppInstanceIDKey is the attribute Key conforming to the + // "cloudfoundry.app.instance.id" semantic conventions. It represents the + // index of the application instance. 0 when just one instance is active. + // + // Stability: Development + // Type: string + // + // Examples: + // "0", + // "1", + // + // Note: CloudFoundry defines the `instance_id` in the + // [Loggregator v2 envelope]. + // It is used for logs and metrics emitted by CloudFoundry. It is + // supposed to contain the application instance index for applications + // deployed on the runtime. + // + // Application instrumentation should use the value from environment + // variable `CF_INSTANCE_INDEX` + // + // [Loggregator v2 envelope]: https://github.com/cloudfoundry/loggregator-api#v2-envelope + CloudfoundryAppInstanceIDKey = attribute.Key("cloudfoundry.app.instance.id") + + // CloudfoundryAppNameKey is the attribute Key conforming to the + // "cloudfoundry.app.name" semantic conventions. It represents the name of the + // application. + // + // Stability: Development + // Type: string + // + // Examples: + // "my-app-name", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.application_name`. This is the same value + // as reported by `cf apps` + CloudfoundryAppNameKey = attribute.Key("cloudfoundry.app.name") + + // CloudfoundryOrgIDKey is the attribute Key conforming to the + // "cloudfoundry.org.id" semantic conventions. It represents the guid of the + // CloudFoundry org the application is running in. + // + // Stability: Development + // Type: string + // + // Examples: + // "218fc5a9-a5f1-4b54-aa05-46717d0ab26d", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.org_id`. This is the same value as + // reported by `cf org --guid` + CloudfoundryOrgIDKey = attribute.Key("cloudfoundry.org.id") + + // CloudfoundryOrgNameKey is the attribute Key conforming to the + // "cloudfoundry.org.name" semantic conventions. It represents the name of the + // CloudFoundry organization the app is running in. + // + // Stability: Development + // Type: string + // + // Examples: + // "my-org-name", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.org_name`. This is the same value as + // reported by `cf orgs` + CloudfoundryOrgNameKey = attribute.Key("cloudfoundry.org.name") + + // CloudfoundryProcessIDKey is the attribute Key conforming to the + // "cloudfoundry.process.id" semantic conventions. It represents the UID + // identifying the process. + // + // Stability: Development + // Type: string + // + // Examples: + // "218fc5a9-a5f1-4b54-aa05-46717d0ab26d", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.process_id`. It is supposed to be equal to + // `VCAP_APPLICATION.app_id` for applications deployed to the runtime. + // For system components, this could be the actual PID + CloudfoundryProcessIDKey = attribute.Key("cloudfoundry.process.id") + + // CloudfoundryProcessTypeKey is the attribute Key conforming to the + // "cloudfoundry.process.type" semantic conventions. It represents the type of + // process. + // + // Stability: Development + // Type: string + // + // Examples: + // "web", + // + // Note: CloudFoundry applications can consist of multiple jobs. Usually the + // main process will be of type `web`. There can be additional background + // tasks or side-cars with different process types + CloudfoundryProcessTypeKey = attribute.Key("cloudfoundry.process.type") - // CloudeventsEventSourceKey is the attribute Key conforming to the - // "cloudevents.event_source" semantic conventions. It represents the - // [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1) - // identifies the context in which an event happened. + // CloudfoundrySpaceIDKey is the attribute Key conforming to the + // "cloudfoundry.space.id" semantic conventions. It represents the guid of the + // CloudFoundry space the application is running in. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'https://github.com/cloudevents', - // '/cloudevents/spec/pull/123', 'my-service' - CloudeventsEventSourceKey = attribute.Key("cloudevents.event_source") + // + // Examples: + // "218fc5a9-a5f1-4b54-aa05-46717d0ab26d", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.space_id`. This is the same value as + // reported by `cf space --guid` + CloudfoundrySpaceIDKey = attribute.Key("cloudfoundry.space.id") - // CloudeventsEventSpecVersionKey is the attribute Key conforming to the - // "cloudevents.event_spec_version" semantic conventions. It represents the - // [version of the CloudEvents - // specification](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion) - // which the event uses. + // CloudfoundrySpaceNameKey is the attribute Key conforming to the + // "cloudfoundry.space.name" semantic conventions. It represents the name of + // the CloudFoundry space the application is running in. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1.0' - CloudeventsEventSpecVersionKey = attribute.Key("cloudevents.event_spec_version") + // + // Examples: + // "my-space-name", + // + // Note: Application instrumentation should use the value from environment + // variable `VCAP_APPLICATION.space_name`. This is the same value as + // reported by `cf spaces` + CloudfoundrySpaceNameKey = attribute.Key("cloudfoundry.space.name") - // CloudeventsEventSubjectKey is the attribute Key conforming to the - // "cloudevents.event_subject" semantic conventions. It represents the - // [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject) - // of the event in the context of the event producer (identified by - // source). + // CloudfoundrySystemIDKey is the attribute Key conforming to the + // "cloudfoundry.system.id" semantic conventions. It represents a guid or + // another name describing the event source. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'mynewfile.jpg' - CloudeventsEventSubjectKey = attribute.Key("cloudevents.event_subject") + // + // Examples: + // "cf/gorouter", + // + // Note: CloudFoundry defines the `source_id` in the [Loggregator v2 envelope] + // . + // It is used for logs and metrics emitted by CloudFoundry. It is + // supposed to contain the component name, e.g. "gorouter", for + // CloudFoundry components. + // + // When system components are instrumented, values from the + // [Bosh spec] + // should be used. The `system.id` should be set to + // `spec.deployment/spec.name` + // + // [Loggregator v2 envelope]: https://github.com/cloudfoundry/loggregator-api#v2-envelope + // [Bosh spec]: https://bosh.io/docs/jobs/#properties-spec + CloudfoundrySystemIDKey = attribute.Key("cloudfoundry.system.id") - // CloudeventsEventTypeKey is the attribute Key conforming to the - // "cloudevents.event_type" semantic conventions. It represents the - // [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) - // contains a value describing the type of event related to the originating - // occurrence. + // CloudfoundrySystemInstanceIDKey is the attribute Key conforming to the + // "cloudfoundry.system.instance.id" semantic conventions. It represents a + // guid describing the concrete instance of the event source. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'com.github.pull_request.opened', - // 'com.example.object.deleted.v2' - CloudeventsEventTypeKey = attribute.Key("cloudevents.event_type") + // + // Examples: + // "218fc5a9-a5f1-4b54-aa05-46717d0ab26d", + // + // Note: CloudFoundry defines the `instance_id` in the + // [Loggregator v2 envelope]. + // It is used for logs and metrics emitted by CloudFoundry. It is + // supposed to contain the vm id for CloudFoundry components. + // + // When system components are instrumented, values from the + // [Bosh spec] + // should be used. The `system.instance.id` should be set to `spec.id` + // + // [Loggregator v2 envelope]: https://github.com/cloudfoundry/loggregator-api#v2-envelope + // [Bosh spec]: https://bosh.io/docs/jobs/#properties-spec + CloudfoundrySystemInstanceIDKey = attribute.Key("cloudfoundry.system.instance.id") ) -// CloudeventsEventID returns an attribute KeyValue conforming to the -// "cloudevents.event_id" semantic conventions. It represents the -// [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id) -// uniquely identifies the event. -func CloudeventsEventID(val string) attribute.KeyValue { - return CloudeventsEventIDKey.String(val) +// CloudfoundryAppID returns an attribute KeyValue conforming to the +// "cloudfoundry.app.id" semantic conventions. It represents the guid of the +// application +func CloudfoundryAppID(val string) attribute.KeyValue { + return CloudfoundryAppIDKey.String(val) } -// CloudeventsEventSource returns an attribute KeyValue conforming to the -// "cloudevents.event_source" semantic conventions. It represents the -// [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1) -// identifies the context in which an event happened. -func CloudeventsEventSource(val string) attribute.KeyValue { - return CloudeventsEventSourceKey.String(val) +// CloudfoundryAppInstanceID returns an attribute KeyValue conforming to the +// "cloudfoundry.app.instance.id" semantic conventions. It represents the index +// of the application instance. 0 when just one instance is active +func CloudfoundryAppInstanceID(val string) attribute.KeyValue { + return CloudfoundryAppInstanceIDKey.String(val) } -// CloudeventsEventSpecVersion returns an attribute KeyValue conforming to -// the "cloudevents.event_spec_version" semantic conventions. It represents the -// [version of the CloudEvents -// specification](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion) -// which the event uses. -func CloudeventsEventSpecVersion(val string) attribute.KeyValue { - return CloudeventsEventSpecVersionKey.String(val) +// CloudfoundryAppName returns an attribute KeyValue conforming to the +// "cloudfoundry.app.name" semantic conventions. It represents the name of the +// application +func CloudfoundryAppName(val string) attribute.KeyValue { + return CloudfoundryAppNameKey.String(val) } -// CloudeventsEventSubject returns an attribute KeyValue conforming to the -// "cloudevents.event_subject" semantic conventions. It represents the -// [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject) -// of the event in the context of the event producer (identified by source). -func CloudeventsEventSubject(val string) attribute.KeyValue { - return CloudeventsEventSubjectKey.String(val) +// CloudfoundryOrgID returns an attribute KeyValue conforming to the +// "cloudfoundry.org.id" semantic conventions. It represents the guid of the +// CloudFoundry org the application is running in +func CloudfoundryOrgID(val string) attribute.KeyValue { + return CloudfoundryOrgIDKey.String(val) } -// CloudeventsEventType returns an attribute KeyValue conforming to the -// "cloudevents.event_type" semantic conventions. It represents the -// [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) -// contains a value describing the type of event related to the originating -// occurrence. -func CloudeventsEventType(val string) attribute.KeyValue { - return CloudeventsEventTypeKey.String(val) +// CloudfoundryOrgName returns an attribute KeyValue conforming to the +// "cloudfoundry.org.name" semantic conventions. It represents the name of the +// CloudFoundry organization the app is running in +func CloudfoundryOrgName(val string) attribute.KeyValue { + return CloudfoundryOrgNameKey.String(val) +} + +// CloudfoundryProcessID returns an attribute KeyValue conforming to the +// "cloudfoundry.process.id" semantic conventions. It represents the UID +// identifying the process +func CloudfoundryProcessID(val string) attribute.KeyValue { + return CloudfoundryProcessIDKey.String(val) +} + +// CloudfoundryProcessType returns an attribute KeyValue conforming to the +// "cloudfoundry.process.type" semantic conventions. It represents the type of +// process +func CloudfoundryProcessType(val string) attribute.KeyValue { + return CloudfoundryProcessTypeKey.String(val) +} + +// CloudfoundrySpaceID returns an attribute KeyValue conforming to the +// "cloudfoundry.space.id" semantic conventions. It represents the guid of the +// CloudFoundry space the application is running in +func CloudfoundrySpaceID(val string) attribute.KeyValue { + return CloudfoundrySpaceIDKey.String(val) +} + +// CloudfoundrySpaceName returns an attribute KeyValue conforming to the +// "cloudfoundry.space.name" semantic conventions. It represents the name of +// the CloudFoundry space the application is running in +func CloudfoundrySpaceName(val string) attribute.KeyValue { + return CloudfoundrySpaceNameKey.String(val) +} + +// CloudfoundrySystemID returns an attribute KeyValue conforming to the +// "cloudfoundry.system.id" semantic conventions. It represents a guid or +// another name describing the event source +func CloudfoundrySystemID(val string) attribute.KeyValue { + return CloudfoundrySystemIDKey.String(val) +} + +// CloudfoundrySystemInstanceID returns an attribute KeyValue conforming to the +// "cloudfoundry.system.instance.id" semantic conventions. It represents a guid +// describing the concrete instance of the event source +func CloudfoundrySystemInstanceID(val string) attribute.KeyValue { + return CloudfoundrySystemInstanceIDKey.String(val) } -// These attributes allow to report this unit of code and therefore to provide -// more context about the span. +// Namespace: code const ( - // CodeColumnKey is the attribute Key conforming to the "code.column" - // semantic conventions. It represents the column number in `code.filepath` - // best representing the operation. It SHOULD point within the code unit - // named in `code.function`. + // CodeColumnNumberKey is the attribute Key conforming to the + // "code.column.number" semantic conventions. It represents the column number + // in `code.file.path` best representing the operation. It SHOULD point within + // the code unit named in `code.function.name`. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 16 - CodeColumnKey = attribute.Key("code.column") + CodeColumnNumberKey = attribute.Key("code.column.number") - // CodeFilepathKey is the attribute Key conforming to the "code.filepath" + // CodeFilePathKey is the attribute Key conforming to the "code.file.path" // semantic conventions. It represents the source code file name that // identifies the code unit as uniquely as possible (preferably an absolute // file path). // + // Stability: Development + // Type: string + // + // Examples: "/usr/local/MyApplication/content_root/app/index.php" + CodeFilePathKey = attribute.Key("code.file.path") + + // CodeFilepathKey is the attribute Key conforming to the "code.filepath" + // semantic conventions. It represents the deprecated, use `code.file.path` + // instead + // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/usr/local/MyApplication/content_root/app/index.php' + // + // Examples: "/usr/local/MyApplication/content_root/app/index.php" CodeFilepathKey = attribute.Key("code.filepath") - // CodeFunctionKey is the attribute Key conforming to the "code.function" - // semantic conventions. It represents the method or function name, or - // equivalent (usually rightmost part of the code unit's name). + // CodeFunctionNameKey is the attribute Key conforming to the + // "code.function.name" semantic conventions. It represents the method or + // function name, or equivalent (usually rightmost part of the code unit's + // name). // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'serveRequest' - CodeFunctionKey = attribute.Key("code.function") + // + // Examples: "serveRequest" + CodeFunctionNameKey = attribute.Key("code.function.name") - // CodeLineNumberKey is the attribute Key conforming to the "code.lineno" - // semantic conventions. It represents the line number in `code.filepath` - // best representing the operation. It SHOULD point within the code unit - // named in `code.function`. + // CodeLineNumberKey is the attribute Key conforming to the "code.line.number" + // semantic conventions. It represents the line number in `code.file.path` + // best representing the operation. It SHOULD point within the code unit named + // in `code.function.name`. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 42 - CodeLineNumberKey = attribute.Key("code.lineno") + CodeLineNumberKey = attribute.Key("code.line.number") // CodeNamespaceKey is the attribute Key conforming to the "code.namespace" // semantic conventions. It represents the "namespace" within which - // `code.function` is defined. Usually the qualified class or module name, - // such that `code.namespace` + some separator + `code.function` form a - // unique identifier for the code unit. + // `code.function.name` is defined. Usually the qualified class or module + // name, such that `code.namespace` + some separator + `code.function.name` + // form a unique identifier for the code unit. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'com.example.MyHTTPService' + // + // Examples: "com.example.MyHttpService" CodeNamespaceKey = attribute.Key("code.namespace") - // CodeStacktraceKey is the attribute Key conforming to the - // "code.stacktrace" semantic conventions. It represents a stacktrace as a - // string in the natural representation for the language runtime. The - // representation is to be determined and documented by each language SIG. + // CodeStacktraceKey is the attribute Key conforming to the "code.stacktrace" + // semantic conventions. It represents a stacktrace as a string in the natural + // representation for the language runtime. The representation is to be + // determined and documented by each language SIG. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'at - // com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at ' - // 'com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at ' - // 'com.example.GenerateTrace.main(GenerateTrace.java:5)' + // + // Examples: "at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at + // com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at + // com.example.GenerateTrace.main(GenerateTrace.java:5)\n" CodeStacktraceKey = attribute.Key("code.stacktrace") ) -// CodeColumn returns an attribute KeyValue conforming to the "code.column" -// semantic conventions. It represents the column number in `code.filepath` -// best representing the operation. It SHOULD point within the code unit named -// in `code.function`. -func CodeColumn(val int) attribute.KeyValue { - return CodeColumnKey.Int(val) +// CodeColumnNumber returns an attribute KeyValue conforming to the +// "code.column.number" semantic conventions. It represents the column number +// in `code.file.path` best representing the operation. It SHOULD point within +// the code unit named in `code.function.name` +func CodeColumnNumber(val int) attribute.KeyValue { + return CodeColumnNumberKey.Int(val) } -// CodeFilepath returns an attribute KeyValue conforming to the -// "code.filepath" semantic conventions. It represents the source code file +// CodeFilePath returns an attribute KeyValue conforming to the +// "code.file.path" semantic conventions. It represents the source code file // name that identifies the code unit as uniquely as possible (preferably an -// absolute file path). +// absolute file path) +func CodeFilePath(val string) attribute.KeyValue { + return CodeFilePathKey.String(val) +} + +// CodeFilepath returns an attribute KeyValue conforming to the "code.filepath" +// semantic conventions. It represents the deprecated, use `code.file.path` +// instead func CodeFilepath(val string) attribute.KeyValue { return CodeFilepathKey.String(val) } -// CodeFunction returns an attribute KeyValue conforming to the -// "code.function" semantic conventions. It represents the method or function -// name, or equivalent (usually rightmost part of the code unit's name). -func CodeFunction(val string) attribute.KeyValue { - return CodeFunctionKey.String(val) +// CodeFunctionName returns an attribute KeyValue conforming to the +// "code.function.name" semantic conventions. It represents the method or +// function name, or equivalent (usually rightmost part of the code unit's +// name) +func CodeFunctionName(val string) attribute.KeyValue { + return CodeFunctionNameKey.String(val) } -// CodeLineNumber returns an attribute KeyValue conforming to the "code.lineno" -// semantic conventions. It represents the line number in `code.filepath` best -// representing the operation. It SHOULD point within the code unit named in -// `code.function`. +// CodeLineNumber returns an attribute KeyValue conforming to the +// "code.line.number" semantic conventions. It represents the line number in +// `code.file.path` best representing the operation. It SHOULD point within the +// code unit named in `code.function.name` func CodeLineNumber(val int) attribute.KeyValue { return CodeLineNumberKey.Int(val) } // CodeNamespace returns an attribute KeyValue conforming to the // "code.namespace" semantic conventions. It represents the "namespace" within -// which `code.function` is defined. Usually the qualified class or module -// name, such that `code.namespace` + some separator + `code.function` form a -// unique identifier for the code unit. +// which `code.function.name` is defined. Usually the qualified class or module +// name, such that `code.namespace` + some separator + `code.function.name` +// form a unique identifier for the code unit func CodeNamespace(val string) attribute.KeyValue { return CodeNamespaceKey.String(val) } @@ -1962,145 +3001,204 @@ func CodeNamespace(val string) attribute.KeyValue { // CodeStacktrace returns an attribute KeyValue conforming to the // "code.stacktrace" semantic conventions. It represents a stacktrace as a // string in the natural representation for the language runtime. The -// representation is to be determined and documented by each language SIG. +// representation is to be determined and documented by each language SIG func CodeStacktrace(val string) attribute.KeyValue { return CodeStacktraceKey.String(val) } -// A container instance. +// Namespace: container const ( // ContainerCommandKey is the attribute Key conforming to the - // "container.command" semantic conventions. It represents the command used - // to run the container (i.e. the command name). + // "container.command" semantic conventions. It represents the command used to + // run the container (i.e. the command name). // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'otelcontribcol' - // Note: If using embedded credentials or sensitive data, it is recommended - // to remove them to prevent potential leakage. + // + // Examples: + // "otelcontribcol", + // + // Note: If using embedded credentials or sensitive data, it is recommended to + // remove them to prevent potential leakage ContainerCommandKey = attribute.Key("container.command") // ContainerCommandArgsKey is the attribute Key conforming to the // "container.command_args" semantic conventions. It represents the all the // command arguments (including the command/executable itself) run by the - // container. [2] + // container. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'otelcontribcol, --config, config.yaml' + // + // Examples: + // [ + // "otelcontribcol", + // "--config", + // "config.yaml", + // ], ContainerCommandArgsKey = attribute.Key("container.command_args") // ContainerCommandLineKey is the attribute Key conforming to the // "container.command_line" semantic conventions. It represents the full // command run by the container as a single string representing the full - // command. [2] + // command. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'otelcontribcol --config config.yaml' + // + // Examples: + // "otelcontribcol --config config.yaml", ContainerCommandLineKey = attribute.Key("container.command_line") + // ContainerCsiPluginNameKey is the attribute Key conforming to the + // "container.csi.plugin.name" semantic conventions. It represents the name of + // the CSI ([Container Storage Interface]) plugin used by the volume. + // + // Stability: Development + // Type: string + // + // Examples: + // "pd.csi.storage.gke.io", + // + // Note: This can sometimes be referred to as a "driver" in CSI + // implementations. This should represent the `name` field of the + // GetPluginInfo RPC + // + // [Container Storage Interface]: https://github.com/container-storage-interface/spec + ContainerCsiPluginNameKey = attribute.Key("container.csi.plugin.name") + + // ContainerCsiVolumeIDKey is the attribute Key conforming to the + // "container.csi.volume.id" semantic conventions. It represents the unique + // volume ID returned by the CSI ([Container Storage Interface]) plugin. + // + // Stability: Development + // Type: string + // + // Examples: + // "projects/my-gcp-project/zones/my-gcp-zone/disks/my-gcp-disk", + // + // Note: This can sometimes be referred to as a "volume handle" in CSI + // implementations. This should represent the `Volume.volume_id` field in CSI + // spec + // + // [Container Storage Interface]: https://github.com/container-storage-interface/spec + ContainerCsiVolumeIDKey = attribute.Key("container.csi.volume.id") + // ContainerIDKey is the attribute Key conforming to the "container.id" // semantic conventions. It represents the container ID. Usually a UUID, as - // for example used to [identify Docker - // containers](https://docs.docker.com/engine/reference/run/#container-identification). - // The UUID might be abbreviated. + // for example used to [identify Docker containers]. The UUID might be + // abbreviated. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'a3bf90e006b2' + // + // Examples: + // "a3bf90e006b2", + // + // [identify Docker containers]: https://docs.docker.com/engine/containers/run/#container-identification ContainerIDKey = attribute.Key("container.id") // ContainerImageIDKey is the attribute Key conforming to the // "container.image.id" semantic conventions. It represents the runtime // specific image identifier. Usually a hash algorithm followed by a UUID. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // 'sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f' + // "sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f", + // // Note: Docker defines a sha256 of the image id; `container.image.id` - // corresponds to the `Image` field from the Docker container inspect - // [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) + // corresponds to the `Image` field from the Docker container inspect [API] // endpoint. - // K8S defines a link to the container registry repository with digest - // `"imageID": "registry.azurecr.io - // /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`. + // K8s defines a link to the container registry repository with digest + // `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"` + // . // The ID is assigned by the container runtime and can vary in different // environments. Consider using `oci.manifest.digest` if it is important to - // identify the same image in different environments/runtimes. + // identify the same image in different environments/runtimes + // + // [API]: https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect ContainerImageIDKey = attribute.Key("container.image.id") // ContainerImageNameKey is the attribute Key conforming to the - // "container.image.name" semantic conventions. It represents the name of - // the image the container was built on. + // "container.image.name" semantic conventions. It represents the name of the + // image the container was built on. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'gcr.io/opentelemetry/operator' + // + // Examples: + // "gcr.io/opentelemetry/operator", ContainerImageNameKey = attribute.Key("container.image.name") // ContainerImageRepoDigestsKey is the attribute Key conforming to the - // "container.image.repo_digests" semantic conventions. It represents the - // repo digests of the container image as provided by the container - // runtime. + // "container.image.repo_digests" semantic conventions. It represents the repo + // digests of the container image as provided by the container runtime. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: - // 'example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb', - // 'internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578' - // Note: - // [Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect) - // and - // [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) - // report those under the `RepoDigests` field. + // + // Examples: + // [ + // + // "example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", + // + // "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578", + // ], + // + // Note: [Docker] and [CRI] report those under the `RepoDigests` field + // + // [Docker]: https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect + // [CRI]: https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238 ContainerImageRepoDigestsKey = attribute.Key("container.image.repo_digests") // ContainerImageTagsKey is the attribute Key conforming to the // "container.image.tags" semantic conventions. It represents the container - // image tags. An example can be found in [Docker Image - // Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). - // Should be only the `` section of the full name for example from + // image tags. An example can be found in [Docker Image Inspect]. Should be + // only the `` section of the full name for example from // `registry.example.com/my-org/my-image:`. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'v1.27.1', '3.5.7-0' + // + // Examples: + // [ + // "v1.27.1", + // "3.5.7-0", + // ], + // + // [Docker Image Inspect]: https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect ContainerImageTagsKey = attribute.Key("container.image.tags") // ContainerNameKey is the attribute Key conforming to the "container.name" // semantic conventions. It represents the container name used by container // runtime. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry-autoconf' + // + // Examples: + // "opentelemetry-autoconf", ContainerNameKey = attribute.Key("container.name") // ContainerRuntimeKey is the attribute Key conforming to the // "container.runtime" semantic conventions. It represents the container // runtime managing this container. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'docker', 'containerd', 'rkt' + // + // Examples: + // "docker", + // "containerd", + // "rkt", ContainerRuntimeKey = attribute.Key("container.runtime") ) // ContainerCommand returns an attribute KeyValue conforming to the // "container.command" semantic conventions. It represents the command used to -// run the container (i.e. the command name). +// run the container (i.e. the command name) func ContainerCommand(val string) attribute.KeyValue { return ContainerCommandKey.String(val) } @@ -2108,7 +3206,7 @@ func ContainerCommand(val string) attribute.KeyValue { // ContainerCommandArgs returns an attribute KeyValue conforming to the // "container.command_args" semantic conventions. It represents the all the // command arguments (including the command/executable itself) run by the -// container. [2] +// container func ContainerCommandArgs(val ...string) attribute.KeyValue { return ContainerCommandArgsKey.StringSlice(val) } @@ -2116,837 +3214,772 @@ func ContainerCommandArgs(val ...string) attribute.KeyValue { // ContainerCommandLine returns an attribute KeyValue conforming to the // "container.command_line" semantic conventions. It represents the full // command run by the container as a single string representing the full -// command. [2] +// command func ContainerCommandLine(val string) attribute.KeyValue { return ContainerCommandLineKey.String(val) } -// ContainerID returns an attribute KeyValue conforming to the -// "container.id" semantic conventions. It represents the container ID. Usually -// a UUID, as for example used to [identify Docker -// containers](https://docs.docker.com/engine/reference/run/#container-identification). -// The UUID might be abbreviated. +// ContainerCsiPluginName returns an attribute KeyValue conforming to the +// "container.csi.plugin.name" semantic conventions. It represents the name of +// the CSI ([Container Storage Interface]) plugin used by the volume +// +// [Container Storage Interface]: https://github.com/container-storage-interface/spec +func ContainerCsiPluginName(val string) attribute.KeyValue { + return ContainerCsiPluginNameKey.String(val) +} + +// ContainerCsiVolumeID returns an attribute KeyValue conforming to the +// "container.csi.volume.id" semantic conventions. It represents the unique +// volume ID returned by the CSI ([Container Storage Interface]) plugin +// +// [Container Storage Interface]: https://github.com/container-storage-interface/spec +func ContainerCsiVolumeID(val string) attribute.KeyValue { + return ContainerCsiVolumeIDKey.String(val) +} + +// ContainerID returns an attribute KeyValue conforming to the "container.id" +// semantic conventions. It represents the container ID. Usually a UUID, as for +// example used to [identify Docker containers]. The UUID might be abbreviated +// +// [identify Docker containers]: https://docs.docker.com/engine/containers/run/#container-identification func ContainerID(val string) attribute.KeyValue { return ContainerIDKey.String(val) } // ContainerImageID returns an attribute KeyValue conforming to the // "container.image.id" semantic conventions. It represents the runtime -// specific image identifier. Usually a hash algorithm followed by a UUID. +// specific image identifier. Usually a hash algorithm followed by a UUID func ContainerImageID(val string) attribute.KeyValue { return ContainerImageIDKey.String(val) } // ContainerImageName returns an attribute KeyValue conforming to the // "container.image.name" semantic conventions. It represents the name of the -// image the container was built on. +// image the container was built on func ContainerImageName(val string) attribute.KeyValue { return ContainerImageNameKey.String(val) } // ContainerImageRepoDigests returns an attribute KeyValue conforming to the // "container.image.repo_digests" semantic conventions. It represents the repo -// digests of the container image as provided by the container runtime. +// digests of the container image as provided by the container runtime func ContainerImageRepoDigests(val ...string) attribute.KeyValue { return ContainerImageRepoDigestsKey.StringSlice(val) } // ContainerImageTags returns an attribute KeyValue conforming to the // "container.image.tags" semantic conventions. It represents the container -// image tags. An example can be found in [Docker Image -// Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). -// Should be only the `` section of the full name for example from -// `registry.example.com/my-org/my-image:`. +// image tags. An example can be found in [Docker Image Inspect]. Should be +// only the `` section of the full name for example from +// `registry.example.com/my-org/my-image:` +// +// [Docker Image Inspect]: https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect func ContainerImageTags(val ...string) attribute.KeyValue { return ContainerImageTagsKey.StringSlice(val) } // ContainerName returns an attribute KeyValue conforming to the // "container.name" semantic conventions. It represents the container name used -// by container runtime. +// by container runtime func ContainerName(val string) attribute.KeyValue { return ContainerNameKey.String(val) } // ContainerRuntime returns an attribute KeyValue conforming to the // "container.runtime" semantic conventions. It represents the container -// runtime managing this container. +// runtime managing this container func ContainerRuntime(val string) attribute.KeyValue { return ContainerRuntimeKey.String(val) } -// Attributes specific to a cpu instance. +// Namespace: cpu const ( // CPUModeKey is the attribute Key conforming to the "cpu.mode" semantic // conventions. It represents the mode of the CPU - // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'user', 'system' + // + // Examples: + // "user", + // "system", CPUModeKey = attribute.Key("cpu.mode") ) +// CPUMode returns an attribute KeyValue conforming to the "cpu.mode" semantic +// conventions. It represents the mode of the CPU +func CPUMode(val string) attribute.KeyValue { + return CPUModeKey.String(val) +} + +// Enum values for cpu.mode var ( // user + // Stability: development CPUModeUser = CPUModeKey.String("user") // system + // Stability: development CPUModeSystem = CPUModeKey.String("system") // nice + // Stability: development CPUModeNice = CPUModeKey.String("nice") // idle + // Stability: development CPUModeIdle = CPUModeKey.String("idle") // iowait + // Stability: development CPUModeIowait = CPUModeKey.String("iowait") // interrupt + // Stability: development CPUModeInterrupt = CPUModeKey.String("interrupt") // steal + // Stability: development CPUModeSteal = CPUModeKey.String("steal") // kernel + // Stability: development CPUModeKernel = CPUModeKey.String("kernel") ) -// This group defines the attributes used to describe telemetry in the context -// of databases. +// Namespace: db const ( // DBClientConnectionPoolNameKey is the attribute Key conforming to the // "db.client.connection.pool.name" semantic conventions. It represents the - // name of the connection pool; unique within the instrumented application. - // In case the connection pool implementation doesn't provide a name, - // instrumentation SHOULD use a combination of parameters that would make - // the name unique, for example, combining attributes `server.address`, + // name of the connection pool; unique within the instrumented application. In + // case the connection pool implementation doesn't provide a name, + // instrumentation SHOULD use a combination of parameters that would make the + // name unique, for example, combining attributes `server.address`, // `server.port`, and `db.namespace`, formatted as - // `server.address:server.port/db.namespace`. Instrumentations that - // generate connection pool name following different patterns SHOULD - // document it. + // `server.address:server.port/db.namespace`. Instrumentations that generate + // connection pool name following different patterns SHOULD document it. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myDataSource' + // + // Examples: + // "myDataSource", DBClientConnectionPoolNameKey = attribute.Key("db.client.connection.pool.name") // DBClientConnectionStateKey is the attribute Key conforming to the - // "db.client.connection.state" semantic conventions. It represents the - // state of a connection in the pool - // + // "db.client.connection.state" semantic conventions. It represents the state + // of a connection in the pool + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'idle' + // + // Examples: + // "idle", DBClientConnectionStateKey = attribute.Key("db.client.connection.state") // DBCollectionNameKey is the attribute Key conforming to the // "db.collection.name" semantic conventions. It represents the name of a // collection (table, container) within the database. - // + // Stability: Release_Candidate // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'public.users', 'customers' - // Note: It is RECOMMENDED to capture the value as provided by the - // application without attempting to do any case normalization. - // If the collection name is parsed from the query text, it SHOULD be the - // first collection name found in the query and it SHOULD match the value - // provided in the query text including any schema and database name - // prefix. + // + // Examples: + // "public.users", + // "customers", + // + // Note: It is RECOMMENDED to capture the value as provided by the application + // without attempting to do any case normalization. + // + // The collection name SHOULD NOT be extracted from `db.query.text`, + // unless the query format is known to only ever have a single collection name + // present. + // // For batch operations, if the individual operations are known to have the - // same collection name then that collection name SHOULD be used, otherwise - // `db.collection.name` SHOULD NOT be captured. + // same collection name + // then that collection name SHOULD be used DBCollectionNameKey = attribute.Key("db.collection.name") // DBNamespaceKey is the attribute Key conforming to the "db.namespace" // semantic conventions. It represents the name of the database, fully // qualified within the server address and port. // + // Stability: Release_Candidate // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'customers', 'test.users' - // Note: If a database system has multiple namespace components, they - // SHOULD be concatenated (potentially using database system specific - // conventions) from most general to most specific namespace component, and - // more specific namespaces SHOULD NOT be captured without the more general - // namespaces, to ensure that "startswith" queries for the more general - // namespaces will be valid. - // Semantic conventions for individual database systems SHOULD document - // what `db.namespace` means in the context of that system. + // + // Examples: + // "customers", + // "test.users", + // + // Note: If a database system has multiple namespace components, they SHOULD + // be concatenated (potentially using database system specific conventions) + // from most general to most specific namespace component, and more specific + // namespaces SHOULD NOT be captured without the more general namespaces, to + // ensure that "startswith" queries for the more general namespaces will be + // valid. + // Semantic conventions for individual database systems SHOULD document what + // `db.namespace` means in the context of that system. // It is RECOMMENDED to capture the value as provided by the application - // without attempting to do any case normalization. + // without attempting to do any case normalization DBNamespaceKey = attribute.Key("db.namespace") // DBOperationBatchSizeKey is the attribute Key conforming to the - // "db.operation.batch.size" semantic conventions. It represents the number - // of queries included in a [batch - // operation](/docs/database/database-spans.md#batch-operations). - // + // "db.operation.batch.size" semantic conventions. It represents the number of + // queries included in a batch operation. + // Stability: Release_Candidate // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 2, 3, 4 - // Note: Operations are only considered batches when they contain two or - // more operations, and so `db.operation.batch.size` SHOULD never be `1`. + // + // Examples: + // 2, + // 3, + // 4, + // + // Note: Operations are only considered batches when they contain two or more + // operations, and so `db.operation.batch.size` SHOULD never be `1` DBOperationBatchSizeKey = attribute.Key("db.operation.batch.size") // DBOperationNameKey is the attribute Key conforming to the // "db.operation.name" semantic conventions. It represents the name of the // operation or command being executed. // + // Stability: Release_Candidate // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'findAndModify', 'HMSET', 'SELECT' - // Note: It is RECOMMENDED to capture the value as provided by the - // application without attempting to do any case normalization. - // If the operation name is parsed from the query text, it SHOULD be the - // first operation name found in the query. + // + // Examples: + // "findAndModify", + // "HMSET", + // "SELECT", + // + // Note: It is RECOMMENDED to capture the value as provided by the application + // without attempting to do any case normalization. + // + // The operation name SHOULD NOT be extracted from `db.query.text`, + // unless the query format is known to only ever have a single operation name + // present. + // // For batch operations, if the individual operations are known to have the - // same operation name then that operation name SHOULD be used prepended by - // `BATCH `, otherwise `db.operation.name` SHOULD be `BATCH` or some other - // database system specific term if more applicable. + // same operation name + // then that operation name SHOULD be used prepended by `BATCH `, + // otherwise `db.operation.name` SHOULD be `BATCH` or some other database + // system specific term if more applicable DBOperationNameKey = attribute.Key("db.operation.name") + // DBQuerySummaryKey is the attribute Key conforming to the "db.query.summary" + // semantic conventions. It represents the low cardinality representation of a + // database query text. + // + // Stability: Release_Candidate + // Type: string + // + // Examples: + // "SELECT wuser_table", + // "INSERT shipping_details SELECT orders", + // "get user by id", + // + // Note: `db.query.summary` provides static summary of the query text. It + // describes a class of database queries and is useful as a grouping key, + // especially when analyzing telemetry for database calls involving complex + // queries. + // Summary may be available to the instrumentation through instrumentation + // hooks or other means. If it is not available, instrumentations that support + // query parsing SHOULD generate a summary following + // [Generating query summary] section + // + // [Generating query summary]: ../../docs/database/database-spans.md#generating-a-summary-of-the-query-text + DBQuerySummaryKey = attribute.Key("db.query.summary") + // DBQueryTextKey is the attribute Key conforming to the "db.query.text" // semantic conventions. It represents the database query being executed. // + // Stability: Release_Candidate // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'SELECT * FROM wuser_table where username = ?', 'SET mykey - // "WuValue"' - // Note: For sanitization see [Sanitization of - // `db.query.text`](../../docs/database/database-spans.md#sanitization-of-dbquerytext). + // + // Examples: + // "SELECT * FROM wuser_table where username = ?", + // "SET mykey ?", + // + // Note: For sanitization see [Sanitization of `db.query.text`]. // For batch operations, if the individual operations are known to have the - // same query text then that query text SHOULD be used, otherwise all of - // the individual query texts SHOULD be concatenated with separator `; ` or - // some other database system specific separator if more applicable. - // Even though parameterized query text can potentially have sensitive - // data, by using a parameterized query the user is giving a strong signal - // that any sensitive data will be passed as parameter values, and the - // benefit to observability of capturing the static part of the query text - // by default outweighs the risk. + // same query text then that query text SHOULD be used, otherwise all of the + // individual query texts SHOULD be concatenated with separator `; ` or some + // other database system specific separator if more applicable. + // Even though parameterized query text can potentially have sensitive data, + // by using a parameterized query the user is giving a strong signal that any + // sensitive data will be passed as parameter values, and the benefit to + // observability of capturing the static part of the query text by default + // outweighs the risk + // + // [Sanitization of `db.query.text`]: ../../docs/database/database-spans.md#sanitization-of-dbquerytext DBQueryTextKey = attribute.Key("db.query.text") - // DBSystemKey is the attribute Key conforming to the "db.system" semantic - // conventions. It represents the database management system (DBMS) product - // as identified by the client instrumentation. + // DBResponseReturnedRowsKey is the attribute Key conforming to the + // "db.response.returned_rows" semantic conventions. It represents the number + // of rows returned by the operation. + // Stability: Development + // Type: int // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Note: The actual DBMS may differ from the one identified by the client. - // For example, when using PostgreSQL client libraries to connect to a - // CockroachDB, the `db.system` is set to `postgresql` based on the - // instrumentation's best knowledge. - DBSystemKey = attribute.Key("db.system") -) + // Examples: + // 10, + // 30, + // 1000, + DBResponseReturnedRowsKey = attribute.Key("db.response.returned_rows") -var ( - // idle - DBClientConnectionStateIdle = DBClientConnectionStateKey.String("idle") - // used - DBClientConnectionStateUsed = DBClientConnectionStateKey.String("used") + // DBResponseStatusCodeKey is the attribute Key conforming to the + // "db.response.status_code" semantic conventions. It represents the database + // response status code. + // Stability: Release_Candidate + // Type: string + // + // Examples: + // "102", + // "ORA-17002", + // "08P01", + // "404", + // + // Note: The status code returned by the database. Usually it represents an + // error code, but may also represent partial success, warning, or + // differentiate between various types of successful outcomes. + // Semantic conventions for individual database systems SHOULD document what + // `db.response.status_code` means in the context of that system + DBResponseStatusCodeKey = attribute.Key("db.response.status_code") + + // DBSystemNameKey is the attribute Key conforming to the "db.system.name" + // semantic conventions. It represents the database management system (DBMS) + // product as identified by the client instrumentation. + // Stability: Release_Candidate + // Type: Enum + // + // Examples: undefined + // Note: The actual DBMS may differ from the one identified by the client. For + // example, when using PostgreSQL client libraries to connect to a + // CockroachDB, the `db.system.name` is set to `postgresql` based on the + // instrumentation's best knowledge + DBSystemNameKey = attribute.Key("db.system.name") ) -var ( - // Some other SQL database. Fallback only. See notes - DBSystemOtherSQL = DBSystemKey.String("other_sql") - // Adabas (Adaptable Database System) - DBSystemAdabas = DBSystemKey.String("adabas") - // Deprecated, use `intersystems_cache` instead - DBSystemCache = DBSystemKey.String("cache") - // InterSystems Caché - DBSystemIntersystemsCache = DBSystemKey.String("intersystems_cache") - // Apache Cassandra - DBSystemCassandra = DBSystemKey.String("cassandra") - // ClickHouse - DBSystemClickhouse = DBSystemKey.String("clickhouse") - // Deprecated, use `other_sql` instead - DBSystemCloudscape = DBSystemKey.String("cloudscape") - // CockroachDB - DBSystemCockroachdb = DBSystemKey.String("cockroachdb") - // Deprecated, no replacement at this time - DBSystemColdfusion = DBSystemKey.String("coldfusion") - // Microsoft Azure Cosmos DB - DBSystemCosmosDB = DBSystemKey.String("cosmosdb") - // Couchbase - DBSystemCouchbase = DBSystemKey.String("couchbase") - // CouchDB - DBSystemCouchDB = DBSystemKey.String("couchdb") - // IBM DB2 - DBSystemDB2 = DBSystemKey.String("db2") - // Apache Derby - DBSystemDerby = DBSystemKey.String("derby") - // Amazon DynamoDB - DBSystemDynamoDB = DBSystemKey.String("dynamodb") - // EnterpriseDB - DBSystemEDB = DBSystemKey.String("edb") - // Elasticsearch - DBSystemElasticsearch = DBSystemKey.String("elasticsearch") - // FileMaker - DBSystemFilemaker = DBSystemKey.String("filemaker") - // Firebird - DBSystemFirebird = DBSystemKey.String("firebird") - // Deprecated, use `other_sql` instead - DBSystemFirstSQL = DBSystemKey.String("firstsql") - // Apache Geode - DBSystemGeode = DBSystemKey.String("geode") - // H2 - DBSystemH2 = DBSystemKey.String("h2") - // SAP HANA - DBSystemHanaDB = DBSystemKey.String("hanadb") - // Apache HBase - DBSystemHBase = DBSystemKey.String("hbase") - // Apache Hive - DBSystemHive = DBSystemKey.String("hive") - // HyperSQL DataBase - DBSystemHSQLDB = DBSystemKey.String("hsqldb") - // InfluxDB - DBSystemInfluxdb = DBSystemKey.String("influxdb") - // Informix - DBSystemInformix = DBSystemKey.String("informix") - // Ingres - DBSystemIngres = DBSystemKey.String("ingres") - // InstantDB - DBSystemInstantDB = DBSystemKey.String("instantdb") - // InterBase - DBSystemInterbase = DBSystemKey.String("interbase") - // MariaDB - DBSystemMariaDB = DBSystemKey.String("mariadb") - // SAP MaxDB - DBSystemMaxDB = DBSystemKey.String("maxdb") - // Memcached - DBSystemMemcached = DBSystemKey.String("memcached") - // MongoDB - DBSystemMongoDB = DBSystemKey.String("mongodb") - // Microsoft SQL Server - DBSystemMSSQL = DBSystemKey.String("mssql") - // Deprecated, Microsoft SQL Server Compact is discontinued - DBSystemMssqlcompact = DBSystemKey.String("mssqlcompact") - // MySQL - DBSystemMySQL = DBSystemKey.String("mysql") - // Neo4j - DBSystemNeo4j = DBSystemKey.String("neo4j") - // Netezza - DBSystemNetezza = DBSystemKey.String("netezza") - // OpenSearch - DBSystemOpensearch = DBSystemKey.String("opensearch") - // Oracle Database - DBSystemOracle = DBSystemKey.String("oracle") - // Pervasive PSQL - DBSystemPervasive = DBSystemKey.String("pervasive") - // PointBase - DBSystemPointbase = DBSystemKey.String("pointbase") - // PostgreSQL - DBSystemPostgreSQL = DBSystemKey.String("postgresql") - // Progress Database - DBSystemProgress = DBSystemKey.String("progress") - // Redis - DBSystemRedis = DBSystemKey.String("redis") - // Amazon Redshift - DBSystemRedshift = DBSystemKey.String("redshift") - // Cloud Spanner - DBSystemSpanner = DBSystemKey.String("spanner") - // SQLite - DBSystemSqlite = DBSystemKey.String("sqlite") - // Sybase - DBSystemSybase = DBSystemKey.String("sybase") - // Teradata - DBSystemTeradata = DBSystemKey.String("teradata") - // Trino - DBSystemTrino = DBSystemKey.String("trino") - // Vertica - DBSystemVertica = DBSystemKey.String("vertica") -) - -// DBClientConnectionPoolName returns an attribute KeyValue conforming to -// the "db.client.connection.pool.name" semantic conventions. It represents the +// DBClientConnectionPoolName returns an attribute KeyValue conforming to the +// "db.client.connection.pool.name" semantic conventions. It represents the // name of the connection pool; unique within the instrumented application. In // case the connection pool implementation doesn't provide a name, // instrumentation SHOULD use a combination of parameters that would make the // name unique, for example, combining attributes `server.address`, // `server.port`, and `db.namespace`, formatted as // `server.address:server.port/db.namespace`. Instrumentations that generate -// connection pool name following different patterns SHOULD document it. +// connection pool name following different patterns SHOULD document it func DBClientConnectionPoolName(val string) attribute.KeyValue { return DBClientConnectionPoolNameKey.String(val) } +// DBClientConnectionState returns an attribute KeyValue conforming to the +// "db.client.connection.state" semantic conventions. It represents the state +// of a connection in the pool +func DBClientConnectionState(val string) attribute.KeyValue { + return DBClientConnectionStateKey.String(val) +} + // DBCollectionName returns an attribute KeyValue conforming to the // "db.collection.name" semantic conventions. It represents the name of a -// collection (table, container) within the database. +// collection (table, container) within the database func DBCollectionName(val string) attribute.KeyValue { return DBCollectionNameKey.String(val) } -// DBNamespace returns an attribute KeyValue conforming to the -// "db.namespace" semantic conventions. It represents the name of the database, -// fully qualified within the server address and port. +// DBNamespace returns an attribute KeyValue conforming to the "db.namespace" +// semantic conventions. It represents the name of the database, fully +// qualified within the server address and port func DBNamespace(val string) attribute.KeyValue { return DBNamespaceKey.String(val) } // DBOperationBatchSize returns an attribute KeyValue conforming to the // "db.operation.batch.size" semantic conventions. It represents the number of -// queries included in a [batch -// operation](/docs/database/database-spans.md#batch-operations). +// queries included in a batch operation func DBOperationBatchSize(val int) attribute.KeyValue { return DBOperationBatchSizeKey.Int(val) } // DBOperationName returns an attribute KeyValue conforming to the // "db.operation.name" semantic conventions. It represents the name of the -// operation or command being executed. +// operation or command being executed func DBOperationName(val string) attribute.KeyValue { return DBOperationNameKey.String(val) } -// DBQueryText returns an attribute KeyValue conforming to the -// "db.query.text" semantic conventions. It represents the database query being -// executed. -func DBQueryText(val string) attribute.KeyValue { - return DBQueryTextKey.String(val) -} - -// This group defines attributes for Cassandra. -const ( - // DBCassandraConsistencyLevelKey is the attribute Key conforming to the - // "db.cassandra.consistency_level" semantic conventions. It represents the - // consistency level of the query. Based on consistency values from - // [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - DBCassandraConsistencyLevelKey = attribute.Key("db.cassandra.consistency_level") - - // DBCassandraCoordinatorDCKey is the attribute Key conforming to the - // "db.cassandra.coordinator.dc" semantic conventions. It represents the - // data center of the coordinating node for a query. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'us-west-2' - DBCassandraCoordinatorDCKey = attribute.Key("db.cassandra.coordinator.dc") - - // DBCassandraCoordinatorIDKey is the attribute Key conforming to the - // "db.cassandra.coordinator.id" semantic conventions. It represents the ID - // of the coordinating node for a query. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'be13faa2-8574-4d71-926d-27f16cf8a7af' - DBCassandraCoordinatorIDKey = attribute.Key("db.cassandra.coordinator.id") - - // DBCassandraIdempotenceKey is the attribute Key conforming to the - // "db.cassandra.idempotence" semantic conventions. It represents the - // whether or not the query is idempotent. - // - // Type: boolean - // RequirementLevel: Optional - // Stability: experimental - DBCassandraIdempotenceKey = attribute.Key("db.cassandra.idempotence") - - // DBCassandraPageSizeKey is the attribute Key conforming to the - // "db.cassandra.page_size" semantic conventions. It represents the fetch - // size used for paging, i.e. how many rows will be returned at once. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 5000 - DBCassandraPageSizeKey = attribute.Key("db.cassandra.page_size") - - // DBCassandraSpeculativeExecutionCountKey is the attribute Key conforming - // to the "db.cassandra.speculative_execution_count" semantic conventions. - // It represents the number of times a query was speculatively executed. - // Not set or `0` if the query was not executed speculatively. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 0, 2 - DBCassandraSpeculativeExecutionCountKey = attribute.Key("db.cassandra.speculative_execution_count") -) - -var ( - // all - DBCassandraConsistencyLevelAll = DBCassandraConsistencyLevelKey.String("all") - // each_quorum - DBCassandraConsistencyLevelEachQuorum = DBCassandraConsistencyLevelKey.String("each_quorum") - // quorum - DBCassandraConsistencyLevelQuorum = DBCassandraConsistencyLevelKey.String("quorum") - // local_quorum - DBCassandraConsistencyLevelLocalQuorum = DBCassandraConsistencyLevelKey.String("local_quorum") - // one - DBCassandraConsistencyLevelOne = DBCassandraConsistencyLevelKey.String("one") - // two - DBCassandraConsistencyLevelTwo = DBCassandraConsistencyLevelKey.String("two") - // three - DBCassandraConsistencyLevelThree = DBCassandraConsistencyLevelKey.String("three") - // local_one - DBCassandraConsistencyLevelLocalOne = DBCassandraConsistencyLevelKey.String("local_one") - // any - DBCassandraConsistencyLevelAny = DBCassandraConsistencyLevelKey.String("any") - // serial - DBCassandraConsistencyLevelSerial = DBCassandraConsistencyLevelKey.String("serial") - // local_serial - DBCassandraConsistencyLevelLocalSerial = DBCassandraConsistencyLevelKey.String("local_serial") -) - -// DBCassandraCoordinatorDC returns an attribute KeyValue conforming to the -// "db.cassandra.coordinator.dc" semantic conventions. It represents the data -// center of the coordinating node for a query. -func DBCassandraCoordinatorDC(val string) attribute.KeyValue { - return DBCassandraCoordinatorDCKey.String(val) +// DBQuerySummary returns an attribute KeyValue conforming to the +// "db.query.summary" semantic conventions. It represents the low cardinality +// representation of a database query text +func DBQuerySummary(val string) attribute.KeyValue { + return DBQuerySummaryKey.String(val) } -// DBCassandraCoordinatorID returns an attribute KeyValue conforming to the -// "db.cassandra.coordinator.id" semantic conventions. It represents the ID of -// the coordinating node for a query. -func DBCassandraCoordinatorID(val string) attribute.KeyValue { - return DBCassandraCoordinatorIDKey.String(val) +// DBQueryText returns an attribute KeyValue conforming to the "db.query.text" +// semantic conventions. It represents the database query being executed +func DBQueryText(val string) attribute.KeyValue { + return DBQueryTextKey.String(val) } -// DBCassandraIdempotence returns an attribute KeyValue conforming to the -// "db.cassandra.idempotence" semantic conventions. It represents the whether -// or not the query is idempotent. -func DBCassandraIdempotence(val bool) attribute.KeyValue { - return DBCassandraIdempotenceKey.Bool(val) +// DBResponseReturnedRows returns an attribute KeyValue conforming to the +// "db.response.returned_rows" semantic conventions. It represents the number +// of rows returned by the operation +func DBResponseReturnedRows(val int) attribute.KeyValue { + return DBResponseReturnedRowsKey.Int(val) } -// DBCassandraPageSize returns an attribute KeyValue conforming to the -// "db.cassandra.page_size" semantic conventions. It represents the fetch size -// used for paging, i.e. how many rows will be returned at once. -func DBCassandraPageSize(val int) attribute.KeyValue { - return DBCassandraPageSizeKey.Int(val) +// DBResponseStatusCode returns an attribute KeyValue conforming to the +// "db.response.status_code" semantic conventions. It represents the database +// response status code +func DBResponseStatusCode(val string) attribute.KeyValue { + return DBResponseStatusCodeKey.String(val) } -// DBCassandraSpeculativeExecutionCount returns an attribute KeyValue -// conforming to the "db.cassandra.speculative_execution_count" semantic -// conventions. It represents the number of times a query was speculatively -// executed. Not set or `0` if the query was not executed speculatively. -func DBCassandraSpeculativeExecutionCount(val int) attribute.KeyValue { - return DBCassandraSpeculativeExecutionCountKey.Int(val) +// DBSystemName returns an attribute KeyValue conforming to the +// "db.system.name" semantic conventions. It represents the database management +// system (DBMS) product as identified by the client instrumentation +func DBSystemName(val string) attribute.KeyValue { + return DBSystemNameKey.String(val) } -// This group defines attributes for Azure Cosmos DB. -const ( - // DBCosmosDBClientIDKey is the attribute Key conforming to the - // "db.cosmosdb.client_id" semantic conventions. It represents the unique - // Cosmos client instance id. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '3ba4827d-4422-483f-b59f-85b74211c11d' - DBCosmosDBClientIDKey = attribute.Key("db.cosmosdb.client_id") - - // DBCosmosDBConnectionModeKey is the attribute Key conforming to the - // "db.cosmosdb.connection_mode" semantic conventions. It represents the - // cosmos client connection mode. - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - DBCosmosDBConnectionModeKey = attribute.Key("db.cosmosdb.connection_mode") - - // DBCosmosDBOperationTypeKey is the attribute Key conforming to the - // "db.cosmosdb.operation_type" semantic conventions. It represents the - // cosmosDB Operation Type. - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - DBCosmosDBOperationTypeKey = attribute.Key("db.cosmosdb.operation_type") - - // DBCosmosDBRequestChargeKey is the attribute Key conforming to the - // "db.cosmosdb.request_charge" semantic conventions. It represents the rU - // consumed for that operation - // - // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 46.18, 1.0 - DBCosmosDBRequestChargeKey = attribute.Key("db.cosmosdb.request_charge") - - // DBCosmosDBRequestContentLengthKey is the attribute Key conforming to the - // "db.cosmosdb.request_content_length" semantic conventions. It represents - // the request payload size in bytes - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - DBCosmosDBRequestContentLengthKey = attribute.Key("db.cosmosdb.request_content_length") - - // DBCosmosDBStatusCodeKey is the attribute Key conforming to the - // "db.cosmosdb.status_code" semantic conventions. It represents the cosmos - // DB status code. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 200, 201 - DBCosmosDBStatusCodeKey = attribute.Key("db.cosmosdb.status_code") - - // DBCosmosDBSubStatusCodeKey is the attribute Key conforming to the - // "db.cosmosdb.sub_status_code" semantic conventions. It represents the - // cosmos DB sub status code. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1000, 1002 - DBCosmosDBSubStatusCodeKey = attribute.Key("db.cosmosdb.sub_status_code") -) - +// Enum values for db.client.connection.state var ( - // Gateway (HTTP) connections mode - DBCosmosDBConnectionModeGateway = DBCosmosDBConnectionModeKey.String("gateway") - // Direct connection - DBCosmosDBConnectionModeDirect = DBCosmosDBConnectionModeKey.String("direct") + // idle + // Stability: development + DBClientConnectionStateIdle = DBClientConnectionStateKey.String("idle") + // used + // Stability: development + DBClientConnectionStateUsed = DBClientConnectionStateKey.String("used") ) +// Enum values for db.system.name var ( - // invalid - DBCosmosDBOperationTypeInvalid = DBCosmosDBOperationTypeKey.String("Invalid") - // create - DBCosmosDBOperationTypeCreate = DBCosmosDBOperationTypeKey.String("Create") - // patch - DBCosmosDBOperationTypePatch = DBCosmosDBOperationTypeKey.String("Patch") - // read - DBCosmosDBOperationTypeRead = DBCosmosDBOperationTypeKey.String("Read") - // read_feed - DBCosmosDBOperationTypeReadFeed = DBCosmosDBOperationTypeKey.String("ReadFeed") - // delete - DBCosmosDBOperationTypeDelete = DBCosmosDBOperationTypeKey.String("Delete") - // replace - DBCosmosDBOperationTypeReplace = DBCosmosDBOperationTypeKey.String("Replace") - // execute - DBCosmosDBOperationTypeExecute = DBCosmosDBOperationTypeKey.String("Execute") - // query - DBCosmosDBOperationTypeQuery = DBCosmosDBOperationTypeKey.String("Query") - // head - DBCosmosDBOperationTypeHead = DBCosmosDBOperationTypeKey.String("Head") - // head_feed - DBCosmosDBOperationTypeHeadFeed = DBCosmosDBOperationTypeKey.String("HeadFeed") - // upsert - DBCosmosDBOperationTypeUpsert = DBCosmosDBOperationTypeKey.String("Upsert") - // batch - DBCosmosDBOperationTypeBatch = DBCosmosDBOperationTypeKey.String("Batch") - // query_plan - DBCosmosDBOperationTypeQueryPlan = DBCosmosDBOperationTypeKey.String("QueryPlan") - // execute_javascript - DBCosmosDBOperationTypeExecuteJavascript = DBCosmosDBOperationTypeKey.String("ExecuteJavaScript") -) - -// DBCosmosDBClientID returns an attribute KeyValue conforming to the -// "db.cosmosdb.client_id" semantic conventions. It represents the unique -// Cosmos client instance id. -func DBCosmosDBClientID(val string) attribute.KeyValue { - return DBCosmosDBClientIDKey.String(val) -} - -// DBCosmosDBRequestCharge returns an attribute KeyValue conforming to the -// "db.cosmosdb.request_charge" semantic conventions. It represents the rU -// consumed for that operation -func DBCosmosDBRequestCharge(val float64) attribute.KeyValue { - return DBCosmosDBRequestChargeKey.Float64(val) -} - -// DBCosmosDBRequestContentLength returns an attribute KeyValue conforming -// to the "db.cosmosdb.request_content_length" semantic conventions. It -// represents the request payload size in bytes -func DBCosmosDBRequestContentLength(val int) attribute.KeyValue { - return DBCosmosDBRequestContentLengthKey.Int(val) -} - -// DBCosmosDBStatusCode returns an attribute KeyValue conforming to the -// "db.cosmosdb.status_code" semantic conventions. It represents the cosmos DB -// status code. -func DBCosmosDBStatusCode(val int) attribute.KeyValue { - return DBCosmosDBStatusCodeKey.Int(val) -} - -// DBCosmosDBSubStatusCode returns an attribute KeyValue conforming to the -// "db.cosmosdb.sub_status_code" semantic conventions. It represents the cosmos -// DB sub status code. -func DBCosmosDBSubStatusCode(val int) attribute.KeyValue { - return DBCosmosDBSubStatusCodeKey.Int(val) -} - -// This group defines attributes for Elasticsearch. -const ( - // DBElasticsearchNodeNameKey is the attribute Key conforming to the - // "db.elasticsearch.node.name" semantic conventions. It represents the - // represents the human-readable identifier of the node/instance to which a - // request was routed. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'instance-0000000001' - DBElasticsearchNodeNameKey = attribute.Key("db.elasticsearch.node.name") -) - -// DBElasticsearchNodeName returns an attribute KeyValue conforming to the -// "db.elasticsearch.node.name" semantic conventions. It represents the -// represents the human-readable identifier of the node/instance to which a -// request was routed. -func DBElasticsearchNodeName(val string) attribute.KeyValue { - return DBElasticsearchNodeNameKey.String(val) -} - -// Attributes for software deployments. + // Some other SQL database. Fallback only. + // Stability: development + DBSystemNameOtherSQL = DBSystemNameKey.String("other_sql") + // [Adabas (Adaptable Database System)] + // Stability: development + // + // [Adabas (Adaptable Database System)]: https://documentation.softwareag.com/?pf=adabas + DBSystemNameSoftwareagAdabas = DBSystemNameKey.String("softwareag.adabas") + // [Actian Ingres] + // Stability: development + // + // [Actian Ingres]: https://www.actian.com/databases/ingres/ + DBSystemNameActianIngres = DBSystemNameKey.String("actian.ingres") + // [Amazon DynamoDB] + // Stability: development + // + // [Amazon DynamoDB]: https://aws.amazon.com/pm/dynamodb/ + DBSystemNameAWSDynamoDB = DBSystemNameKey.String("aws.dynamodb") + // [Amazon Redshift] + // Stability: development + // + // [Amazon Redshift]: https://aws.amazon.com/redshift/ + DBSystemNameAWSRedshift = DBSystemNameKey.String("aws.redshift") + // [Azure Cosmos DB] + // Stability: development + // + // [Azure Cosmos DB]: https://learn.microsoft.com/azure/cosmos-db + DBSystemNameAzureCosmosDB = DBSystemNameKey.String("azure.cosmosdb") + // [InterSystems Caché] + // Stability: development + // + // [InterSystems Caché]: https://www.intersystems.com/products/cache/ + DBSystemNameIntersystemsCache = DBSystemNameKey.String("intersystems.cache") + // [Apache Cassandra] + // Stability: development + // + // [Apache Cassandra]: https://cassandra.apache.org/ + DBSystemNameCassandra = DBSystemNameKey.String("cassandra") + // [ClickHouse] + // Stability: development + // + // [ClickHouse]: https://clickhouse.com/ + DBSystemNameClickhouse = DBSystemNameKey.String("clickhouse") + // [CockroachDB] + // Stability: development + // + // [CockroachDB]: https://www.cockroachlabs.com/ + DBSystemNameCockroachdb = DBSystemNameKey.String("cockroachdb") + // [Couchbase] + // Stability: development + // + // [Couchbase]: https://www.couchbase.com/ + DBSystemNameCouchbase = DBSystemNameKey.String("couchbase") + // [Apache CouchDB] + // Stability: development + // + // [Apache CouchDB]: https://couchdb.apache.org/ + DBSystemNameCouchDB = DBSystemNameKey.String("couchdb") + // [Apache Derby] + // Stability: development + // + // [Apache Derby]: https://db.apache.org/derby/ + DBSystemNameDerby = DBSystemNameKey.String("derby") + // [Elasticsearch] + // Stability: development + // + // [Elasticsearch]: https://www.elastic.co/elasticsearch + DBSystemNameElasticsearch = DBSystemNameKey.String("elasticsearch") + // [Firebird] + // Stability: development + // + // [Firebird]: https://www.firebirdsql.org/ + DBSystemNameFirebirdsql = DBSystemNameKey.String("firebirdsql") + // [Google Cloud Spanner] + // Stability: development + // + // [Google Cloud Spanner]: https://cloud.google.com/spanner + DBSystemNameGCPSpanner = DBSystemNameKey.String("gcp.spanner") + // [Apache Geode] + // Stability: development + // + // [Apache Geode]: https://geode.apache.org/ + DBSystemNameGeode = DBSystemNameKey.String("geode") + // [H2 Database] + // Stability: development + // + // [H2 Database]: https://h2database.com/ + DBSystemNameH2database = DBSystemNameKey.String("h2database") + // [Apache HBase] + // Stability: development + // + // [Apache HBase]: https://hbase.apache.org/ + DBSystemNameHBase = DBSystemNameKey.String("hbase") + // [Apache Hive] + // Stability: development + // + // [Apache Hive]: https://hive.apache.org/ + DBSystemNameHive = DBSystemNameKey.String("hive") + // [HyperSQL Database] + // Stability: development + // + // [HyperSQL Database]: https://hsqldb.org/ + DBSystemNameHSQLDB = DBSystemNameKey.String("hsqldb") + // [IBM Db2] + // Stability: development + // + // [IBM Db2]: https://www.ibm.com/db2 + DBSystemNameIbmDb2 = DBSystemNameKey.String("ibm.db2") + // [IBM Informix] + // Stability: development + // + // [IBM Informix]: https://www.ibm.com/products/informix + DBSystemNameIbmInformix = DBSystemNameKey.String("ibm.informix") + // [IBM Netezza] + // Stability: development + // + // [IBM Netezza]: https://www.ibm.com/products/netezza + DBSystemNameIbmNetezza = DBSystemNameKey.String("ibm.netezza") + // [InfluxDB] + // Stability: development + // + // [InfluxDB]: https://www.influxdata.com/ + DBSystemNameInfluxdb = DBSystemNameKey.String("influxdb") + // [Instant] + // Stability: development + // + // [Instant]: https://www.instantdb.com/ + DBSystemNameInstantDB = DBSystemNameKey.String("instantdb") + // [MariaDB] + // Stability: release_candidate + // + // [MariaDB]: https://mariadb.org/ + DBSystemNameMariaDB = DBSystemNameKey.String("mariadb") + // [Memcached] + // Stability: development + // + // [Memcached]: https://memcached.org/ + DBSystemNameMemcached = DBSystemNameKey.String("memcached") + // [MongoDB] + // Stability: development + // + // [MongoDB]: https://www.mongodb.com/ + DBSystemNameMongoDB = DBSystemNameKey.String("mongodb") + // [Microsoft SQL Server] + // Stability: release_candidate + // + // [Microsoft SQL Server]: https://www.microsoft.com/sql-server + DBSystemNameMicrosoftSQLServer = DBSystemNameKey.String("microsoft.sql_server") + // [MySQL] + // Stability: release_candidate + // + // [MySQL]: https://www.mysql.com/ + DBSystemNameMySQL = DBSystemNameKey.String("mysql") + // [Neo4j] + // Stability: development + // + // [Neo4j]: https://neo4j.com/ + DBSystemNameNeo4j = DBSystemNameKey.String("neo4j") + // [OpenSearch] + // Stability: development + // + // [OpenSearch]: https://opensearch.org/ + DBSystemNameOpensearch = DBSystemNameKey.String("opensearch") + // [Oracle Database] + // Stability: development + // + // [Oracle Database]: https://www.oracle.com/database/ + DBSystemNameOracleDB = DBSystemNameKey.String("oracle.db") + // [PostgreSQL] + // Stability: release_candidate + // + // [PostgreSQL]: https://www.postgresql.org/ + DBSystemNamePostgreSQL = DBSystemNameKey.String("postgresql") + // [Redis] + // Stability: development + // + // [Redis]: https://redis.io/ + DBSystemNameRedis = DBSystemNameKey.String("redis") + // [SAP HANA] + // Stability: development + // + // [SAP HANA]: https://www.sap.com/products/technology-platform/hana/what-is-sap-hana.html + DBSystemNameSapHana = DBSystemNameKey.String("sap.hana") + // [SAP MaxDB] + // Stability: development + // + // [SAP MaxDB]: https://maxdb.sap.com/ + DBSystemNameSapMaxDB = DBSystemNameKey.String("sap.maxdb") + // [SQLite] + // Stability: development + // + // [SQLite]: https://www.sqlite.org/ + DBSystemNameSqlite = DBSystemNameKey.String("sqlite") + // [Teradata] + // Stability: development + // + // [Teradata]: https://www.teradata.com/ + DBSystemNameTeradata = DBSystemNameKey.String("teradata") + // [Trino] + // Stability: development + // + // [Trino]: https://trino.io/ + DBSystemNameTrino = DBSystemNameKey.String("trino") +) + +// Namespace: deployment const ( // DeploymentEnvironmentNameKey is the attribute Key conforming to the - // "deployment.environment.name" semantic conventions. It represents the - // name of the [deployment - // environment](https://wikipedia.org/wiki/Deployment_environment) (aka - // deployment tier). + // "deployment.environment.name" semantic conventions. It represents the name + // of the [deployment environment] (aka deployment tier). // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'staging', 'production' + // + // Examples: + // "staging", + // "production", + // // Note: `deployment.environment.name` does not affect the uniqueness // constraints defined through - // the `service.namespace`, `service.name` and `service.instance.id` - // resource attributes. - // This implies that resources carrying the following attribute - // combinations MUST be + // the `service.namespace`, `service.name` and `service.instance.id` resource + // attributes. + // This implies that resources carrying the following attribute combinations + // MUST be // considered to be identifying the same service: // - // * `service.name=frontend`, `deployment.environment.name=production` - // * `service.name=frontend`, `deployment.environment.name=staging`. + // - `service.name=frontend`, `deployment.environment.name=production` + // - `service.name=frontend`, `deployment.environment.name=staging` + // + // + // [deployment environment]: https://wikipedia.org/wiki/Deployment_environment DeploymentEnvironmentNameKey = attribute.Key("deployment.environment.name") // DeploymentIDKey is the attribute Key conforming to the "deployment.id" // semantic conventions. It represents the id of the deployment. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1208' + // + // Examples: + // "1208", DeploymentIDKey = attribute.Key("deployment.id") - // DeploymentNameKey is the attribute Key conforming to the - // "deployment.name" semantic conventions. It represents the name of the - // deployment. + // DeploymentNameKey is the attribute Key conforming to the "deployment.name" + // semantic conventions. It represents the name of the deployment. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'deploy my app', 'deploy-frontend' + // + // Examples: + // "deploy my app", + // "deploy-frontend", DeploymentNameKey = attribute.Key("deployment.name") // DeploymentStatusKey is the attribute Key conforming to the - // "deployment.status" semantic conventions. It represents the status of - // the deployment. + // "deployment.status" semantic conventions. It represents the status of the + // deployment. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined DeploymentStatusKey = attribute.Key("deployment.status") ) -var ( - // failed - DeploymentStatusFailed = DeploymentStatusKey.String("failed") - // succeeded - DeploymentStatusSucceeded = DeploymentStatusKey.String("succeeded") -) - // DeploymentEnvironmentName returns an attribute KeyValue conforming to the // "deployment.environment.name" semantic conventions. It represents the name -// of the [deployment -// environment](https://wikipedia.org/wiki/Deployment_environment) (aka -// deployment tier). +// of the [deployment environment] (aka deployment tier) +// +// [deployment environment]: https://wikipedia.org/wiki/Deployment_environment func DeploymentEnvironmentName(val string) attribute.KeyValue { return DeploymentEnvironmentNameKey.String(val) } -// DeploymentID returns an attribute KeyValue conforming to the -// "deployment.id" semantic conventions. It represents the id of the -// deployment. +// DeploymentID returns an attribute KeyValue conforming to the "deployment.id" +// semantic conventions. It represents the id of the deployment func DeploymentID(val string) attribute.KeyValue { return DeploymentIDKey.String(val) } // DeploymentName returns an attribute KeyValue conforming to the // "deployment.name" semantic conventions. It represents the name of the -// deployment. +// deployment func DeploymentName(val string) attribute.KeyValue { return DeploymentNameKey.String(val) } -// Attributes that represents an occurrence of a lifecycle transition on the -// Android platform. -const ( - // AndroidStateKey is the attribute Key conforming to the "android.state" - // semantic conventions. It represents the deprecated use the - // `device.app.lifecycle` event definition including `android.state` as a - // payload field instead. - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Note: The Android lifecycle states are defined in [Activity lifecycle - // callbacks](https://developer.android.com/guide/components/activities/activity-lifecycle#lc), - // and from which the `OS identifiers` are derived. - AndroidStateKey = attribute.Key("android.state") -) +// DeploymentStatus returns an attribute KeyValue conforming to the +// "deployment.status" semantic conventions. It represents the status of the +// deployment +func DeploymentStatus(val string) attribute.KeyValue { + return DeploymentStatusKey.String(val) +} +// Enum values for deployment.status var ( - // Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time - AndroidStateCreated = AndroidStateKey.String("created") - // Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state - AndroidStateBackground = AndroidStateKey.String("background") - // Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states - AndroidStateForeground = AndroidStateKey.String("foreground") -) - -// These attributes may be used to describe the receiver of a network -// exchange/packet. These should be used when there is no client/server -// relationship between the two sides, or when that relationship is unknown. -// This covers low-level network interactions (e.g. packet tracing) where you -// don't know if there was a connection or which side initiated it. This also -// covers unidirectional UDP flows and peer-to-peer communication where the -// "user-facing" surface of the protocol / API doesn't expose a clear notion of -// client and server. + // failed + // Stability: development + DeploymentStatusFailed = DeploymentStatusKey.String("failed") + // succeeded + // Stability: development + DeploymentStatusSucceeded = DeploymentStatusKey.String("succeeded") +) + +// Namespace: destination const ( // DestinationAddressKey is the attribute Key conforming to the - // "destination.address" semantic conventions. It represents the - // destination address - domain name if available without reverse DNS - // lookup; otherwise, IP address or Unix domain socket name. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'destination.example.com', '10.1.2.80', '/tmp/my.sock' - // Note: When observed from the source side, and when communicating through - // an intermediary, `destination.address` SHOULD represent the destination - // address behind any intermediaries, for example proxies, if it's - // available. + // "destination.address" semantic conventions. It represents the destination + // address - domain name if available without reverse DNS lookup; otherwise, + // IP address or Unix domain socket name. + // Stability: Development + // Type: string + // + // Examples: + // "destination.example.com", + // "10.1.2.80", + // "/tmp/my.sock", + // + // Note: When observed from the source side, and when communicating through an + // intermediary, `destination.address` SHOULD represent the destination + // address behind any intermediaries, for example proxies, if it's available DestinationAddressKey = attribute.Key("destination.address") // DestinationPortKey is the attribute Key conforming to the - // "destination.port" semantic conventions. It represents the destination - // port number - // + // "destination.port" semantic conventions. It represents the destination port + // number + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 3389, 2888 + // + // Examples: + // 3389, + // 2888, DestinationPortKey = attribute.Key("destination.port") ) // DestinationAddress returns an attribute KeyValue conforming to the // "destination.address" semantic conventions. It represents the destination // address - domain name if available without reverse DNS lookup; otherwise, IP -// address or Unix domain socket name. +// address or Unix domain socket name func DestinationAddress(val string) attribute.KeyValue { return DestinationAddressKey.String(val) } @@ -2958,66 +3991,78 @@ func DestinationPort(val int) attribute.KeyValue { return DestinationPortKey.Int(val) } -// Describes device attributes. +// Namespace: device const ( // DeviceIDKey is the attribute Key conforming to the "device.id" semantic // conventions. It represents a unique identifier representing the device // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092' - // Note: The device identifier MUST only be defined using the values - // outlined below. This value is not an advertising identifier and MUST NOT - // be used as such. On iOS (Swift or Objective-C), this value MUST be equal - // to the [vendor - // identifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor). - // On Android (Java or Kotlin), this value MUST be equal to the Firebase - // Installation ID or a globally unique UUID which is persisted across - // sessions in your application. More information can be found - // [here](https://developer.android.com/training/articles/user-data-ids) on - // best practices and exact implementation details. Caution should be taken - // when storing personal data or anything which can identify a user. GDPR - // and data protection laws may apply, ensure you do your own due - // diligence. + // + // Examples: + // "2ab2916d-a51f-4ac8-80ee-45ac31a28092", + // + // Note: The device identifier MUST only be defined using the values outlined + // below. This value is not an advertising identifier and MUST NOT be used as + // such. On iOS (Swift or Objective-C), this value MUST be equal to the + // [vendor identifier]. On Android (Java or Kotlin), this value MUST be equal + // to the Firebase Installation ID or a globally unique UUID which is + // persisted across sessions in your application. More information can be + // found [here] on best practices and exact implementation details. Caution + // should be taken when storing personal data or anything which can identify a + // user. GDPR and data protection laws may apply, ensure you do your own due + // diligence + // + // [vendor identifier]: https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor + // [here]: https://developer.android.com/training/articles/user-data-ids DeviceIDKey = attribute.Key("device.id") // DeviceManufacturerKey is the attribute Key conforming to the - // "device.manufacturer" semantic conventions. It represents the name of - // the device manufacturer + // "device.manufacturer" semantic conventions. It represents the name of the + // device manufacturer // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Apple', 'Samsung' - // Note: The Android OS provides this field via - // [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). - // iOS apps SHOULD hardcode the value `Apple`. + // + // Examples: + // "Apple", + // "Samsung", + // + // Note: The Android OS provides this field via [Build]. iOS apps SHOULD + // hardcode the value `Apple` + // + // [Build]: https://developer.android.com/reference/android/os/Build#MANUFACTURER DeviceManufacturerKey = attribute.Key("device.manufacturer") // DeviceModelIdentifierKey is the attribute Key conforming to the // "device.model.identifier" semantic conventions. It represents the model // identifier for the device // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'iPhone3,4', 'SM-G920F' - // Note: It's recommended this value represents a machine-readable version - // of the model identifier rather than the market or consumer-friendly name - // of the device. + // + // Examples: + // "iPhone3,4", + // "SM-G920F", + // + // Note: It's recommended this value represents a machine-readable version of + // the model identifier rather than the market or consumer-friendly name of + // the device DeviceModelIdentifierKey = attribute.Key("device.model.identifier") // DeviceModelNameKey is the attribute Key conforming to the - // "device.model.name" semantic conventions. It represents the marketing - // name for the device model + // "device.model.name" semantic conventions. It represents the marketing name + // for the device model // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6' + // + // Examples: + // "iPhone 6s Plus", + // "Samsung Galaxy S6", + // // Note: It's recommended this value represents a human-readable version of - // the device model rather than a machine-readable alternative. + // the device model rather than a machine-readable alternative DeviceModelNameKey = attribute.Key("device.model.name") ) @@ -3049,62 +4094,141 @@ func DeviceModelName(val string) attribute.KeyValue { return DeviceModelNameKey.String(val) } -// These attributes may be used for any disk related operation. +// Namespace: disk const ( // DiskIoDirectionKey is the attribute Key conforming to the // "disk.io.direction" semantic conventions. It represents the disk IO // operation direction. - // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'read' + // + // Examples: + // "read", DiskIoDirectionKey = attribute.Key("disk.io.direction") ) +// DiskIoDirection returns an attribute KeyValue conforming to the +// "disk.io.direction" semantic conventions. It represents the disk IO +// operation direction +func DiskIoDirection(val string) attribute.KeyValue { + return DiskIoDirectionKey.String(val) +} + +// Enum values for disk.io.direction var ( // read + // Stability: development DiskIoDirectionRead = DiskIoDirectionKey.String("read") // write + // Stability: development DiskIoDirectionWrite = DiskIoDirectionKey.String("write") ) -// The shared attributes used to report a DNS query. +// Namespace: dns const ( // DNSQuestionNameKey is the attribute Key conforming to the // "dns.question.name" semantic conventions. It represents the name being // queried. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'www.example.com', 'opentelemetry.io' + // + // Examples: + // "www.example.com", + // "opentelemetry.io", + // // Note: If the name field contains non-printable characters (below 32 or // above 126), those characters should be represented as escaped base 10 - // integers (\DDD). Back slashes and quotes should be escaped. Tabs, - // carriage returns, and line feeds should be converted to \t, \r, and \n - // respectively. + // integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage + // returns, and line feeds should be converted to \t, \r, and \n respectively DNSQuestionNameKey = attribute.Key("dns.question.name") ) // DNSQuestionName returns an attribute KeyValue conforming to the // "dns.question.name" semantic conventions. It represents the name being -// queried. +// queried func DNSQuestionName(val string) attribute.KeyValue { return DNSQuestionNameKey.String(val) } -// The shared attributes used to report an error. +// Namespace: dotnet const ( - // ErrorTypeKey is the attribute Key conforming to the "error.type" - // semantic conventions. It represents the describes a class of error the - // operation ended with. - // + // DotnetGCHeapGenerationKey is the attribute Key conforming to the + // "dotnet.gc.heap.generation" semantic conventions. It represents the name of + // the garbage collector managed heap generation. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional + // + // Examples: + // "gen0", + // "gen1", + // "gen2", + DotnetGCHeapGenerationKey = attribute.Key("dotnet.gc.heap.generation") +) + +// DotnetGCHeapGeneration returns an attribute KeyValue conforming to the +// "dotnet.gc.heap.generation" semantic conventions. It represents the name of +// the garbage collector managed heap generation +func DotnetGCHeapGeneration(val string) attribute.KeyValue { + return DotnetGCHeapGenerationKey.String(val) +} + +// Enum values for dotnet.gc.heap.generation +var ( + // Generation 0 + // Stability: stable + DotnetGCHeapGenerationGen0 = DotnetGCHeapGenerationKey.String("gen0") + // Generation 1 + // Stability: stable + DotnetGCHeapGenerationGen1 = DotnetGCHeapGenerationKey.String("gen1") + // Generation 2 // Stability: stable - // Examples: 'timeout', 'java.net.UnknownHostException', - // 'server_certificate_invalid', '500' + DotnetGCHeapGenerationGen2 = DotnetGCHeapGenerationKey.String("gen2") + // Large Object Heap + // Stability: stable + DotnetGCHeapGenerationLoh = DotnetGCHeapGenerationKey.String("loh") + // Pinned Object Heap + // Stability: stable + DotnetGCHeapGenerationPoh = DotnetGCHeapGenerationKey.String("poh") +) + +// Namespace: elasticsearch +const ( + // ElasticsearchNodeNameKey is the attribute Key conforming to the + // "elasticsearch.node.name" semantic conventions. It represents the + // represents the human-readable identifier of the node/instance to which a + // request was routed. + // + // Stability: Development + // Type: string + // + // Examples: + // "instance-0000000001", + ElasticsearchNodeNameKey = attribute.Key("elasticsearch.node.name") +) + +// ElasticsearchNodeName returns an attribute KeyValue conforming to the +// "elasticsearch.node.name" semantic conventions. It represents the represents +// the human-readable identifier of the node/instance to which a request was +// routed +func ElasticsearchNodeName(val string) attribute.KeyValue { + return ElasticsearchNodeNameKey.String(val) +} + +// Namespace: error +const ( + // ErrorTypeKey is the attribute Key conforming to the "error.type" semantic + // conventions. It represents the describes a class of error the operation + // ended with. + // + // Stability: Stable + // Type: Enum + // + // Examples: + // "timeout", + // "java.net.UnknownHostException", + // "server_certificate_invalid", + // "500", + // // Note: The `error.type` SHOULD be predictable, and SHOULD have low // cardinality. // @@ -3114,117 +4238,68 @@ const ( // // Instrumentations SHOULD document the list of errors they report. // - // The cardinality of `error.type` within one instrumentation library - // SHOULD be low. + // The cardinality of `error.type` within one instrumentation library SHOULD + // be low. // Telemetry consumers that aggregate data from multiple instrumentation // libraries and applications - // should be prepared for `error.type` to have high cardinality at query - // time when no + // should be prepared for `error.type` to have high cardinality at query time + // when no // additional filters are applied. // // If the operation has completed successfully, instrumentations SHOULD NOT // set `error.type`. // - // If a specific domain defines its own set of error identifiers (such as - // HTTP or gRPC status codes), + // If a specific domain defines its own set of error identifiers (such as HTTP + // or gRPC status codes), // it's RECOMMENDED to: // - // * Use a domain-specific attribute - // * Set `error.type` to capture all errors, regardless of whether they are - // defined within the domain-specific set or not. + // - Use a domain-specific attribute + // - Set `error.type` to capture all errors, regardless of whether they are + // defined within the domain-specific set or not ErrorTypeKey = attribute.Key("error.type") ) -var ( - // A fallback error value to be used when the instrumentation doesn't define a custom value - ErrorTypeOther = ErrorTypeKey.String("_OTHER") -) - -// Attributes for Events represented using Log Records. -const ( - // EventNameKey is the attribute Key conforming to the "event.name" - // semantic conventions. It represents the identifies the class / type of - // event. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'browser.mouse.click', 'device.app.lifecycle' - // Note: Event names are subject to the same rules as [attribute - // names](/docs/general/attribute-naming.md). Notably, event names are - // namespaced to avoid collisions and provide a clean separation of - // semantics for events in separate domains like browser, mobile, and - // kubernetes. - EventNameKey = attribute.Key("event.name") -) - -// EventName returns an attribute KeyValue conforming to the "event.name" -// semantic conventions. It represents the identifies the class / type of -// event. -func EventName(val string) attribute.KeyValue { - return EventNameKey.String(val) +// ErrorType returns an attribute KeyValue conforming to the "error.type" +// semantic conventions. It represents the describes a class of error the +// operation ended with +func ErrorType(val string) attribute.KeyValue { + return ErrorTypeKey.String(val) } -// The shared attributes used to report a single exception associated with a -// span or log. -const ( - // ExceptionEscapedKey is the attribute Key conforming to the - // "exception.escaped" semantic conventions. It represents the sHOULD be - // set to true if the exception event is recorded at a point where it is - // known that the exception is escaping the scope of the span. +// Enum values for error.type +var ( + // A fallback error value to be used when the instrumentation doesn't define a + // custom value. // - // Type: boolean - // RequirementLevel: Optional // Stability: stable - // Note: An exception is considered to have escaped (or left) the scope of - // a span, - // if that span is ended while the exception is still logically "in - // flight". - // This may be actually "in flight" in some languages (e.g. if the - // exception - // is passed to a Context manager's `__exit__` method in Python) but will - // usually be caught at the point of recording the exception in most - // languages. - // - // It is usually not possible to determine at the point where an exception - // is thrown - // whether it will escape the scope of a span. - // However, it is trivial to know that an exception - // will escape, if one checks for an active exception just before ending - // the span, - // as done in the [example for recording span - // exceptions](https://opentelemetry.io/docs/specs/semconv/exceptions/exceptions-spans/#recording-an-exception). - // - // It follows that an exception may still escape the scope of the span - // even if the `exception.escaped` attribute was not set or set to false, - // since the event might have been recorded at a time where it was not - // clear whether the exception will escape. - ExceptionEscapedKey = attribute.Key("exception.escaped") + ErrorTypeOther = ErrorTypeKey.String("_OTHER") +) +// Namespace: exception +const ( // ExceptionMessageKey is the attribute Key conforming to the // "exception.message" semantic conventions. It represents the exception // message. - // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'Division by zero', "Can't convert 'int' object to str - // implicitly" + // + // Examples: + // "Division by zero", + // "Can't convert 'int' object to str implicitly", ExceptionMessageKey = attribute.Key("exception.message") // ExceptionStacktraceKey is the attribute Key conforming to the - // "exception.stacktrace" semantic conventions. It represents a stacktrace - // as a string in the natural representation for the language runtime. The + // "exception.stacktrace" semantic conventions. It represents a stacktrace as + // a string in the natural representation for the language runtime. The // representation is to be determined and documented by each language SIG. // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'Exception in thread "main" java.lang.RuntimeException: Test - // exception\\n at ' - // 'com.example.GenerateTrace.methodB(GenerateTrace.java:13)\\n at ' - // 'com.example.GenerateTrace.methodA(GenerateTrace.java:9)\\n at ' - // 'com.example.GenerateTrace.main(GenerateTrace.java:5)' + // + // Examples: "Exception in thread "main" java.lang.RuntimeException: Test + // exception\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n + // at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at + // com.example.GenerateTrace.main(GenerateTrace.java:5)\n" ExceptionStacktraceKey = attribute.Key("exception.stacktrace") // ExceptionTypeKey is the attribute Key conforming to the "exception.type" @@ -3233,24 +4308,18 @@ const ( // exception should be preferred over the static type in languages that // support it. // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'java.net.ConnectException', 'OSError' + // + // Examples: + // "java.net.ConnectException", + // "OSError", ExceptionTypeKey = attribute.Key("exception.type") ) -// ExceptionEscaped returns an attribute KeyValue conforming to the -// "exception.escaped" semantic conventions. It represents the sHOULD be set to -// true if the exception event is recorded at a point where it is known that -// the exception is escaping the scope of the span. -func ExceptionEscaped(val bool) attribute.KeyValue { - return ExceptionEscapedKey.Bool(val) -} - // ExceptionMessage returns an attribute KeyValue conforming to the // "exception.message" semantic conventions. It represents the exception -// message. +// message func ExceptionMessage(val string) attribute.KeyValue { return ExceptionMessageKey.String(val) } @@ -3258,7 +4327,7 @@ func ExceptionMessage(val string) attribute.KeyValue { // ExceptionStacktrace returns an attribute KeyValue conforming to the // "exception.stacktrace" semantic conventions. It represents a stacktrace as a // string in the natural representation for the language runtime. The -// representation is to be determined and documented by each language SIG. +// representation is to be determined and documented by each language SIG func ExceptionStacktrace(val string) attribute.KeyValue { return ExceptionStacktraceKey.String(val) } @@ -3267,268 +4336,252 @@ func ExceptionStacktrace(val string) attribute.KeyValue { // "exception.type" semantic conventions. It represents the type of the // exception (its fully-qualified class name, if applicable). The dynamic type // of the exception should be preferred over the static type in languages that -// support it. +// support it func ExceptionType(val string) attribute.KeyValue { return ExceptionTypeKey.String(val) } -// FaaS attributes +// Namespace: faas const ( // FaaSColdstartKey is the attribute Key conforming to the "faas.coldstart" // semantic conventions. It represents a boolean that is true if the // serverless function is executed for the first time (aka cold-start). // + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined FaaSColdstartKey = attribute.Key("faas.coldstart") // FaaSCronKey is the attribute Key conforming to the "faas.cron" semantic // conventions. It represents a string containing the schedule period as - // [Cron - // Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). + // [Cron Expression]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '0/5 * * * ? *' + // + // Examples: "0/5 * * * ? *" + // + // [Cron Expression]: https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm FaaSCronKey = attribute.Key("faas.cron") // FaaSDocumentCollectionKey is the attribute Key conforming to the - // "faas.document.collection" semantic conventions. It represents the name - // of the source on which the triggering operation was performed. For - // example, in Cloud Storage or S3 corresponds to the bucket name, and in - // Cosmos DB to the database name. + // "faas.document.collection" semantic conventions. It represents the name of + // the source on which the triggering operation was performed. For example, in + // Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the + // database name. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myBucketName', 'myDBName' + // + // Examples: + // "myBucketName", + // "myDbName", FaaSDocumentCollectionKey = attribute.Key("faas.document.collection") // FaaSDocumentNameKey is the attribute Key conforming to the // "faas.document.name" semantic conventions. It represents the document - // name/table subjected to the operation. For example, in Cloud Storage or - // S3 is the name of the file, and in Cosmos DB the table name. + // name/table subjected to the operation. For example, in Cloud Storage or S3 + // is the name of the file, and in Cosmos DB the table name. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myFile.txt', 'myTableName' + // + // Examples: + // "myFile.txt", + // "myTableName", FaaSDocumentNameKey = attribute.Key("faas.document.name") // FaaSDocumentOperationKey is the attribute Key conforming to the - // "faas.document.operation" semantic conventions. It represents the - // describes the type of the operation that was performed on the data. - // + // "faas.document.operation" semantic conventions. It represents the describes + // the type of the operation that was performed on the data. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined FaaSDocumentOperationKey = attribute.Key("faas.document.operation") // FaaSDocumentTimeKey is the attribute Key conforming to the // "faas.document.time" semantic conventions. It represents a string - // containing the time when the data was accessed in the [ISO - // 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format - // expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). + // containing the time when the data was accessed in the [ISO 8601] format + // expressed in [UTC]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2020-01-23T13:47:06Z' + // + // Examples: "2020-01-23T13:47:06Z" + // + // [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html + // [UTC]: https://www.w3.org/TR/NOTE-datetime FaaSDocumentTimeKey = attribute.Key("faas.document.time") // FaaSInstanceKey is the attribute Key conforming to the "faas.instance" // semantic conventions. It represents the execution environment ID as a - // string, that will be potentially reused for other invocations to the - // same function/function version. + // string, that will be potentially reused for other invocations to the same + // function/function version. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de' - // Note: * **AWS Lambda:** Use the (full) log stream name. + // + // Examples: + // "2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de", + // + // Note: - **AWS Lambda:** Use the (full) log stream name FaaSInstanceKey = attribute.Key("faas.instance") // FaaSInvocationIDKey is the attribute Key conforming to the - // "faas.invocation_id" semantic conventions. It represents the invocation - // ID of the current function invocation. + // "faas.invocation_id" semantic conventions. It represents the invocation ID + // of the current function invocation. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'af9d5aa4-a685-4c5f-a22b-444f80b3cc28' + // + // Examples: "af9d5aa4-a685-4c5f-a22b-444f80b3cc28" FaaSInvocationIDKey = attribute.Key("faas.invocation_id") // FaaSInvokedNameKey is the attribute Key conforming to the // "faas.invoked_name" semantic conventions. It represents the name of the // invoked function. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'my-function' - // Note: SHOULD be equal to the `faas.name` resource attribute of the - // invoked function. + // + // Examples: "my-function" + // Note: SHOULD be equal to the `faas.name` resource attribute of the invoked + // function FaaSInvokedNameKey = attribute.Key("faas.invoked_name") // FaaSInvokedProviderKey is the attribute Key conforming to the // "faas.invoked_provider" semantic conventions. It represents the cloud // provider of the invoked function. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined // Note: SHOULD be equal to the `cloud.provider` resource attribute of the - // invoked function. + // invoked function FaaSInvokedProviderKey = attribute.Key("faas.invoked_provider") // FaaSInvokedRegionKey is the attribute Key conforming to the - // "faas.invoked_region" semantic conventions. It represents the cloud - // region of the invoked function. + // "faas.invoked_region" semantic conventions. It represents the cloud region + // of the invoked function. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'eu-central-1' + // + // Examples: "eu-central-1" // Note: SHOULD be equal to the `cloud.region` resource attribute of the - // invoked function. + // invoked function FaaSInvokedRegionKey = attribute.Key("faas.invoked_region") - // FaaSMaxMemoryKey is the attribute Key conforming to the - // "faas.max_memory" semantic conventions. It represents the amount of - // memory available to the serverless function converted to Bytes. + // FaaSMaxMemoryKey is the attribute Key conforming to the "faas.max_memory" + // semantic conventions. It represents the amount of memory available to the + // serverless function converted to Bytes. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 134217728 - // Note: It's recommended to set this attribute since e.g. too little - // memory can easily stop a Java AWS Lambda function from working - // correctly. On AWS Lambda, the environment variable - // `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this information (which must - // be multiplied by 1,048,576). + // + // Note: It's recommended to set this attribute since e.g. too little memory + // can easily stop a Java AWS Lambda function from working correctly. On AWS + // Lambda, the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides + // this information (which must be multiplied by 1,048,576) FaaSMaxMemoryKey = attribute.Key("faas.max_memory") // FaaSNameKey is the attribute Key conforming to the "faas.name" semantic // conventions. It represents the name of the single function that this // runtime instance executes. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'my-function', 'myazurefunctionapp/some-function-name' - // Note: This is the name of the function as configured/deployed on the - // FaaS + // + // Examples: + // "my-function", + // "myazurefunctionapp/some-function-name", + // + // Note: This is the name of the function as configured/deployed on the FaaS // platform and is usually different from the name of the callback // function (which may be stored in the - // [`code.namespace`/`code.function`](/docs/general/attributes.md#source-code-attributes) + // [`code.namespace`/`code.function.name`] // span attributes). // - // For some cloud providers, the above definition is ambiguous. The - // following + // For some cloud providers, the above definition is ambiguous. The following // definition of function name MUST be used for this attribute - // (and consequently the span name) for the listed cloud - // providers/products: - // - // * **Azure:** The full name `/`, i.e., function app name - // followed by a forward slash followed by the function name (this form - // can also be seen in the resource JSON for the function). - // This means that a span attribute MUST be used, as an Azure function - // app can host multiple functions that would usually share - // a TracerProvider (see also the `cloud.resource_id` attribute). + // (and consequently the span name) for the listed cloud providers/products: + // + // - **Azure:** The full name `/`, i.e., function app name + // followed by a forward slash followed by the function name (this form + // can also be seen in the resource JSON for the function). + // This means that a span attribute MUST be used, as an Azure function + // app can host multiple functions that would usually share + // a TracerProvider (see also the `cloud.resource_id` attribute) + // + // + // [`code.namespace`/`code.function.name`]: /docs/general/attributes.md#source-code-attributes FaaSNameKey = attribute.Key("faas.name") // FaaSTimeKey is the attribute Key conforming to the "faas.time" semantic - // conventions. It represents a string containing the function invocation - // time in the [ISO - // 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format - // expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). + // conventions. It represents a string containing the function invocation time + // in the [ISO 8601] format expressed in [UTC]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2020-01-23T13:47:06Z' + // + // Examples: "2020-01-23T13:47:06Z" + // + // [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html + // [UTC]: https://www.w3.org/TR/NOTE-datetime FaaSTimeKey = attribute.Key("faas.time") // FaaSTriggerKey is the attribute Key conforming to the "faas.trigger" // semantic conventions. It represents the type of the trigger which caused // this function invocation. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined FaaSTriggerKey = attribute.Key("faas.trigger") // FaaSVersionKey is the attribute Key conforming to the "faas.version" - // semantic conventions. It represents the immutable version of the - // function being executed. - // + // semantic conventions. It represents the immutable version of the function + // being executed. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '26', 'pinkfroid-00002' + // + // Examples: + // "26", + // "pinkfroid-00002", + // // Note: Depending on the cloud provider and platform, use: // - // * **AWS Lambda:** The [function - // version](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) - // (an integer represented as a decimal string). - // * **Google Cloud Run (Services):** The - // [revision](https://cloud.google.com/run/docs/managing/revisions) - // (i.e., the function name plus the revision suffix). - // * **Google Cloud Functions:** The value of the - // [`K_REVISION` environment - // variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically). - // * **Azure Functions:** Not applicable. Do not set this attribute. + // - **AWS Lambda:** The [function version] + // (an integer represented as a decimal string). + // - **Google Cloud Run (Services):** The [revision] + // (i.e., the function name plus the revision suffix). + // - **Google Cloud Functions:** The value of the + // [`K_REVISION` environment variable]. + // - **Azure Functions:** Not applicable. Do not set this attribute + // + // + // [function version]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html + // [revision]: https://cloud.google.com/run/docs/managing/revisions + // [`K_REVISION` environment variable]: https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically FaaSVersionKey = attribute.Key("faas.version") ) -var ( - // When a new object is created - FaaSDocumentOperationInsert = FaaSDocumentOperationKey.String("insert") - // When an object is modified - FaaSDocumentOperationEdit = FaaSDocumentOperationKey.String("edit") - // When an object is deleted - FaaSDocumentOperationDelete = FaaSDocumentOperationKey.String("delete") -) - -var ( - // Alibaba Cloud - FaaSInvokedProviderAlibabaCloud = FaaSInvokedProviderKey.String("alibaba_cloud") - // Amazon Web Services - FaaSInvokedProviderAWS = FaaSInvokedProviderKey.String("aws") - // Microsoft Azure - FaaSInvokedProviderAzure = FaaSInvokedProviderKey.String("azure") - // Google Cloud Platform - FaaSInvokedProviderGCP = FaaSInvokedProviderKey.String("gcp") - // Tencent Cloud - FaaSInvokedProviderTencentCloud = FaaSInvokedProviderKey.String("tencent_cloud") -) - -var ( - // A response to some data source operation such as a database or filesystem read/write - FaaSTriggerDatasource = FaaSTriggerKey.String("datasource") - // To provide an answer to an inbound HTTP request - FaaSTriggerHTTP = FaaSTriggerKey.String("http") - // A function is set to be executed when messages are sent to a messaging system - FaaSTriggerPubsub = FaaSTriggerKey.String("pubsub") - // A function is scheduled to be executed regularly - FaaSTriggerTimer = FaaSTriggerKey.String("timer") - // If none of the others apply - FaaSTriggerOther = FaaSTriggerKey.String("other") -) - // FaaSColdstart returns an attribute KeyValue conforming to the // "faas.coldstart" semantic conventions. It represents a boolean that is true -// if the serverless function is executed for the first time (aka cold-start). +// if the serverless function is executed for the first time (aka cold-start) func FaaSColdstart(val bool) attribute.KeyValue { return FaaSColdstartKey.Bool(val) } // FaaSCron returns an attribute KeyValue conforming to the "faas.cron" // semantic conventions. It represents a string containing the schedule period -// as [Cron -// Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). +// as [Cron Expression] +// +// [Cron Expression]: https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm func FaaSCron(val string) attribute.KeyValue { return FaaSCronKey.String(val) } @@ -3537,7 +4590,7 @@ func FaaSCron(val string) attribute.KeyValue { // "faas.document.collection" semantic conventions. It represents the name of // the source on which the triggering operation was performed. For example, in // Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the -// database name. +// database name func FaaSDocumentCollection(val string) attribute.KeyValue { return FaaSDocumentCollectionKey.String(val) } @@ -3545,340 +4598,831 @@ func FaaSDocumentCollection(val string) attribute.KeyValue { // FaaSDocumentName returns an attribute KeyValue conforming to the // "faas.document.name" semantic conventions. It represents the document // name/table subjected to the operation. For example, in Cloud Storage or S3 -// is the name of the file, and in Cosmos DB the table name. +// is the name of the file, and in Cosmos DB the table name func FaaSDocumentName(val string) attribute.KeyValue { return FaaSDocumentNameKey.String(val) } +// FaaSDocumentOperation returns an attribute KeyValue conforming to the +// "faas.document.operation" semantic conventions. It represents the describes +// the type of the operation that was performed on the data +func FaaSDocumentOperation(val string) attribute.KeyValue { + return FaaSDocumentOperationKey.String(val) +} + // FaaSDocumentTime returns an attribute KeyValue conforming to the // "faas.document.time" semantic conventions. It represents a string containing -// the time when the data was accessed in the [ISO -// 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format -// expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). +// the time when the data was accessed in the [ISO 8601] format expressed in +// [UTC] +// +// [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html +// [UTC]: https://www.w3.org/TR/NOTE-datetime func FaaSDocumentTime(val string) attribute.KeyValue { return FaaSDocumentTimeKey.String(val) } -// FaaSInstance returns an attribute KeyValue conforming to the -// "faas.instance" semantic conventions. It represents the execution -// environment ID as a string, that will be potentially reused for other -// invocations to the same function/function version. +// FaaSInstance returns an attribute KeyValue conforming to the "faas.instance" +// semantic conventions. It represents the execution environment ID as a +// string, that will be potentially reused for other invocations to the same +// function/function version func FaaSInstance(val string) attribute.KeyValue { return FaaSInstanceKey.String(val) } // FaaSInvocationID returns an attribute KeyValue conforming to the // "faas.invocation_id" semantic conventions. It represents the invocation ID -// of the current function invocation. +// of the current function invocation func FaaSInvocationID(val string) attribute.KeyValue { return FaaSInvocationIDKey.String(val) } // FaaSInvokedName returns an attribute KeyValue conforming to the // "faas.invoked_name" semantic conventions. It represents the name of the -// invoked function. +// invoked function func FaaSInvokedName(val string) attribute.KeyValue { return FaaSInvokedNameKey.String(val) } +// FaaSInvokedProvider returns an attribute KeyValue conforming to the +// "faas.invoked_provider" semantic conventions. It represents the cloud +// provider of the invoked function +func FaaSInvokedProvider(val string) attribute.KeyValue { + return FaaSInvokedProviderKey.String(val) +} + // FaaSInvokedRegion returns an attribute KeyValue conforming to the // "faas.invoked_region" semantic conventions. It represents the cloud region -// of the invoked function. +// of the invoked function func FaaSInvokedRegion(val string) attribute.KeyValue { return FaaSInvokedRegionKey.String(val) } // FaaSMaxMemory returns an attribute KeyValue conforming to the // "faas.max_memory" semantic conventions. It represents the amount of memory -// available to the serverless function converted to Bytes. +// available to the serverless function converted to Bytes func FaaSMaxMemory(val int) attribute.KeyValue { return FaaSMaxMemoryKey.Int(val) } // FaaSName returns an attribute KeyValue conforming to the "faas.name" // semantic conventions. It represents the name of the single function that -// this runtime instance executes. +// this runtime instance executes func FaaSName(val string) attribute.KeyValue { return FaaSNameKey.String(val) } // FaaSTime returns an attribute KeyValue conforming to the "faas.time" // semantic conventions. It represents a string containing the function -// invocation time in the [ISO -// 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format -// expressed in [UTC](https://www.w3.org/TR/NOTE-datetime). +// invocation time in the [ISO 8601] format expressed in [UTC] +// +// [ISO 8601]: https://www.iso.org/iso-8601-date-and-time-format.html +// [UTC]: https://www.w3.org/TR/NOTE-datetime func FaaSTime(val string) attribute.KeyValue { return FaaSTimeKey.String(val) } -// FaaSVersion returns an attribute KeyValue conforming to the -// "faas.version" semantic conventions. It represents the immutable version of -// the function being executed. +// FaaSTrigger returns an attribute KeyValue conforming to the "faas.trigger" +// semantic conventions. It represents the type of the trigger which caused +// this function invocation +func FaaSTrigger(val string) attribute.KeyValue { + return FaaSTriggerKey.String(val) +} + +// FaaSVersion returns an attribute KeyValue conforming to the "faas.version" +// semantic conventions. It represents the immutable version of the function +// being executed func FaaSVersion(val string) attribute.KeyValue { return FaaSVersionKey.String(val) } -// Attributes for Feature Flags. +// Enum values for faas.document.operation +var ( + // When a new object is created. + // Stability: development + FaaSDocumentOperationInsert = FaaSDocumentOperationKey.String("insert") + // When an object is modified. + // Stability: development + FaaSDocumentOperationEdit = FaaSDocumentOperationKey.String("edit") + // When an object is deleted. + // Stability: development + FaaSDocumentOperationDelete = FaaSDocumentOperationKey.String("delete") +) + +// Enum values for faas.invoked_provider +var ( + // Alibaba Cloud + // Stability: development + FaaSInvokedProviderAlibabaCloud = FaaSInvokedProviderKey.String("alibaba_cloud") + // Amazon Web Services + // Stability: development + FaaSInvokedProviderAWS = FaaSInvokedProviderKey.String("aws") + // Microsoft Azure + // Stability: development + FaaSInvokedProviderAzure = FaaSInvokedProviderKey.String("azure") + // Google Cloud Platform + // Stability: development + FaaSInvokedProviderGCP = FaaSInvokedProviderKey.String("gcp") + // Tencent Cloud + // Stability: development + FaaSInvokedProviderTencentCloud = FaaSInvokedProviderKey.String("tencent_cloud") +) + +// Enum values for faas.trigger +var ( + // A response to some data source operation such as a database or filesystem + // read/write + // Stability: development + FaaSTriggerDatasource = FaaSTriggerKey.String("datasource") + // To provide an answer to an inbound HTTP request + // Stability: development + FaaSTriggerHTTP = FaaSTriggerKey.String("http") + // A function is set to be executed when messages are sent to a messaging + // system + // Stability: development + FaaSTriggerPubsub = FaaSTriggerKey.String("pubsub") + // A function is scheduled to be executed regularly + // Stability: development + FaaSTriggerTimer = FaaSTriggerKey.String("timer") + // If none of the others apply + // Stability: development + FaaSTriggerOther = FaaSTriggerKey.String("other") +) + +// Namespace: feature_flag const ( - // FeatureFlagKeyKey is the attribute Key conforming to the - // "feature_flag.key" semantic conventions. It represents the unique - // identifier of the feature flag. + // FeatureFlagContextIDKey is the attribute Key conforming to the + // "feature_flag.context.id" semantic conventions. It represents the unique + // identifier for the flag evaluation context. For example, the targeting key. + // + // Stability: Development + // Type: string + // + // Examples: + // "5157782b-2203-4c80-a857-dbbd5e7761db", + FeatureFlagContextIDKey = attribute.Key("feature_flag.context.id") + + // FeatureFlagEvaluationErrorMessageKey is the attribute Key conforming to the + // "feature_flag.evaluation.error.message" semantic conventions. It represents + // a message explaining the nature of an error occurring during flag + // evaluation. + // Stability: Development + // Type: string + // + // Examples: + // "Flag `header-color` expected type `string` but found type `number`", + FeatureFlagEvaluationErrorMessageKey = attribute.Key("feature_flag.evaluation.error.message") + + // FeatureFlagEvaluationReasonKey is the attribute Key conforming to the + // "feature_flag.evaluation.reason" semantic conventions. It represents the + // reason code which shows how a feature flag value was determined. + // + // Stability: Development + // Type: Enum // + // Examples: + // "static", + // "targeting_match", + // "error", + // "default", + FeatureFlagEvaluationReasonKey = attribute.Key("feature_flag.evaluation.reason") + + // FeatureFlagKeyKey is the attribute Key conforming to the "feature_flag.key" + // semantic conventions. It represents the lookup key of the feature flag. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'logo-color' + // + // Examples: + // "logo-color", FeatureFlagKeyKey = attribute.Key("feature_flag.key") // FeatureFlagProviderNameKey is the attribute Key conforming to the // "feature_flag.provider_name" semantic conventions. It represents the - // name of the service provider that performs the flag evaluation. - // + // identifies the feature flag provider. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Flag Manager' + // + // Examples: + // "Flag Manager", FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider_name") + // FeatureFlagSetIDKey is the attribute Key conforming to the + // "feature_flag.set.id" semantic conventions. It represents the identifier of + // the [flag set] to which the feature flag belongs. + // + // Stability: Development + // Type: string + // + // Examples: + // "proj-1", + // "ab98sgs", + // "service1/dev", + // + // [flag set]: https://openfeature.dev/specification/glossary/#flag-set + FeatureFlagSetIDKey = attribute.Key("feature_flag.set.id") + // FeatureFlagVariantKey is the attribute Key conforming to the - // "feature_flag.variant" semantic conventions. It represents the sHOULD be - // a semantic identifier for a value. If one is unavailable, a stringified - // version of the value can be used. + // "feature_flag.variant" semantic conventions. It represents a semantic + // identifier for an evaluated flag value. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'red', 'true', 'on' - // Note: A semantic identifier, commonly referred to as a variant, provides - // a means + // + // Examples: + // "red", + // "true", + // "on", + // + // Note: A semantic identifier, commonly referred to as a variant, provides a + // means // for referring to a value without including the value itself. This can // provide additional context for understanding the meaning behind a value. - // For example, the variant `red` maybe be used for the value `#c05543`. - // - // A stringified version of the value can be used in situations where a - // semantic identifier is unavailable. String representation of the value - // should be determined by the implementer. + // For example, the variant `red` maybe be used for the value `#c05543` FeatureFlagVariantKey = attribute.Key("feature_flag.variant") + + // FeatureFlagVersionKey is the attribute Key conforming to the + // "feature_flag.version" semantic conventions. It represents the version of + // the ruleset used during the evaluation. This may be any stable value which + // uniquely identifies the ruleset. + // + // Stability: Development + // Type: string + // + // Examples: + // "1", + // "01ABCDEF", + FeatureFlagVersionKey = attribute.Key("feature_flag.version") ) +// FeatureFlagContextID returns an attribute KeyValue conforming to the +// "feature_flag.context.id" semantic conventions. It represents the unique +// identifier for the flag evaluation context. For example, the targeting key +func FeatureFlagContextID(val string) attribute.KeyValue { + return FeatureFlagContextIDKey.String(val) +} + +// FeatureFlagEvaluationErrorMessage returns an attribute KeyValue conforming +// to the "feature_flag.evaluation.error.message" semantic conventions. It +// represents a message explaining the nature of an error occurring during flag +// evaluation +func FeatureFlagEvaluationErrorMessage(val string) attribute.KeyValue { + return FeatureFlagEvaluationErrorMessageKey.String(val) +} + +// FeatureFlagEvaluationReason returns an attribute KeyValue conforming to the +// "feature_flag.evaluation.reason" semantic conventions. It represents the +// reason code which shows how a feature flag value was determined +func FeatureFlagEvaluationReason(val string) attribute.KeyValue { + return FeatureFlagEvaluationReasonKey.String(val) +} + // FeatureFlagKey returns an attribute KeyValue conforming to the -// "feature_flag.key" semantic conventions. It represents the unique identifier -// of the feature flag. +// "feature_flag.key" semantic conventions. It represents the lookup key of the +// feature flag func FeatureFlagKey(val string) attribute.KeyValue { return FeatureFlagKeyKey.String(val) } // FeatureFlagProviderName returns an attribute KeyValue conforming to the -// "feature_flag.provider_name" semantic conventions. It represents the name of -// the service provider that performs the flag evaluation. +// "feature_flag.provider_name" semantic conventions. It represents the +// identifies the feature flag provider func FeatureFlagProviderName(val string) attribute.KeyValue { return FeatureFlagProviderNameKey.String(val) } +// FeatureFlagSetID returns an attribute KeyValue conforming to the +// "feature_flag.set.id" semantic conventions. It represents the identifier of +// the [flag set] to which the feature flag belongs +// +// [flag set]: https://openfeature.dev/specification/glossary/#flag-set +func FeatureFlagSetID(val string) attribute.KeyValue { + return FeatureFlagSetIDKey.String(val) +} + // FeatureFlagVariant returns an attribute KeyValue conforming to the -// "feature_flag.variant" semantic conventions. It represents the sHOULD be a -// semantic identifier for a value. If one is unavailable, a stringified -// version of the value can be used. +// "feature_flag.variant" semantic conventions. It represents a semantic +// identifier for an evaluated flag value func FeatureFlagVariant(val string) attribute.KeyValue { return FeatureFlagVariantKey.String(val) } -// Describes file attributes. +// FeatureFlagVersion returns an attribute KeyValue conforming to the +// "feature_flag.version" semantic conventions. It represents the version of +// the ruleset used during the evaluation. This may be any stable value which +// uniquely identifies the ruleset +func FeatureFlagVersion(val string) attribute.KeyValue { + return FeatureFlagVersionKey.String(val) +} + +// Enum values for feature_flag.evaluation.reason +var ( + // The resolved value is static (no dynamic evaluation). + // Stability: development + FeatureFlagEvaluationReasonStatic = FeatureFlagEvaluationReasonKey.String("static") + // The resolved value fell back to a pre-configured value (no dynamic + // evaluation occurred or dynamic evaluation yielded no result). + // Stability: development + FeatureFlagEvaluationReasonDefault = FeatureFlagEvaluationReasonKey.String("default") + // The resolved value was the result of a dynamic evaluation, such as a rule + // or specific user-targeting. + // Stability: development + FeatureFlagEvaluationReasonTargetingMatch = FeatureFlagEvaluationReasonKey.String("targeting_match") + // The resolved value was the result of pseudorandom assignment. + // Stability: development + FeatureFlagEvaluationReasonSplit = FeatureFlagEvaluationReasonKey.String("split") + // The resolved value was retrieved from cache. + // Stability: development + FeatureFlagEvaluationReasonCached = FeatureFlagEvaluationReasonKey.String("cached") + // The resolved value was the result of the flag being disabled in the + // management system. + // Stability: development + FeatureFlagEvaluationReasonDisabled = FeatureFlagEvaluationReasonKey.String("disabled") + // The reason for the resolved value could not be determined. + // Stability: development + FeatureFlagEvaluationReasonUnknown = FeatureFlagEvaluationReasonKey.String("unknown") + // The resolved value is non-authoritative or possibly out of date + // Stability: development + FeatureFlagEvaluationReasonStale = FeatureFlagEvaluationReasonKey.String("stale") + // The resolved value was the result of an error. + // Stability: development + FeatureFlagEvaluationReasonError = FeatureFlagEvaluationReasonKey.String("error") +) + +// Namespace: file const ( + // FileAccessedKey is the attribute Key conforming to the "file.accessed" + // semantic conventions. It represents the time when the file was last + // accessed, in ISO 8601 format. + // + // Stability: Development + // Type: string + // + // Examples: + // "2021-01-01T12:00:00Z", + // + // Note: This attribute might not be supported by some file systems — NFS, + // FAT32, in embedded OS, etc + FileAccessedKey = attribute.Key("file.accessed") + + // FileAttributesKey is the attribute Key conforming to the "file.attributes" + // semantic conventions. It represents the array of file attributes. + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "readonly", + // "hidden", + // ], + // + // Note: Attributes names depend on the OS or file system. Here’s a + // non-exhaustive list of values expected for this attribute: `archive`, + // `compressed`, `directory`, `encrypted`, `execute`, `hidden`, `immutable`, + // `journaled`, `read`, `readonly`, `symbolic link`, `system`, `temporary`, + // `write` + FileAttributesKey = attribute.Key("file.attributes") + + // FileChangedKey is the attribute Key conforming to the "file.changed" + // semantic conventions. It represents the time when the file attributes or + // metadata was last changed, in ISO 8601 format. + // + // Stability: Development + // Type: string + // + // Examples: + // "2021-01-01T12:00:00Z", + // + // Note: `file.changed` captures the time when any of the file's properties or + // attributes (including the content) are changed, while `file.modified` + // captures the timestamp when the file content is modified + FileChangedKey = attribute.Key("file.changed") + + // FileCreatedKey is the attribute Key conforming to the "file.created" + // semantic conventions. It represents the time when the file was created, in + // ISO 8601 format. + // + // Stability: Development + // Type: string + // + // Examples: + // "2021-01-01T12:00:00Z", + // + // Note: This attribute might not be supported by some file systems — NFS, + // FAT32, in embedded OS, etc + FileCreatedKey = attribute.Key("file.created") + // FileDirectoryKey is the attribute Key conforming to the "file.directory" // semantic conventions. It represents the directory where the file is // located. It should include the drive letter, when appropriate. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/home/user', 'C:\\Program Files\\MyApp' + // + // Examples: + // "/home/user", + // "C:\Program Files\MyApp", FileDirectoryKey = attribute.Key("file.directory") // FileExtensionKey is the attribute Key conforming to the "file.extension" // semantic conventions. It represents the file extension, excluding the // leading dot. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'png', 'gz' - // Note: When the file name has multiple extensions (example.tar.gz), only - // the last one should be captured ("gz", not "tar.gz"). + // + // Examples: + // "png", + // "gz", + // + // Note: When the file name has multiple extensions (example.tar.gz), only the + // last one should be captured ("gz", not "tar.gz") FileExtensionKey = attribute.Key("file.extension") + // FileForkNameKey is the attribute Key conforming to the "file.fork_name" + // semantic conventions. It represents the name of the fork. A fork is + // additional data associated with a filesystem object. + // + // Stability: Development + // Type: string + // + // Examples: + // "Zone.Identifer", + // + // Note: On Linux, a resource fork is used to store additional data with a + // filesystem object. A file always has at least one fork for the data + // portion, and additional forks may exist. + // On NTFS, this is analogous to an Alternate Data Stream (ADS), and the + // default data stream for a file is just called $DATA. Zone.Identifier is + // commonly used by Windows to track contents downloaded from the Internet. An + // ADS is typically of the form: C:\path\to\filename.extension:some_fork_name, + // and some_fork_name is the value that should populate `fork_name`. + // `filename.extension` should populate `file.name`, and `extension` should + // populate `file.extension`. The full path, `file.path`, will include the + // fork name + FileForkNameKey = attribute.Key("file.fork_name") + + // FileGroupIDKey is the attribute Key conforming to the "file.group.id" + // semantic conventions. It represents the primary Group ID (GID) of the file. + // + // Stability: Development + // Type: string + // + // Examples: + // "1000", + FileGroupIDKey = attribute.Key("file.group.id") + + // FileGroupNameKey is the attribute Key conforming to the "file.group.name" + // semantic conventions. It represents the primary group name of the file. + // + // Stability: Development + // Type: string + // + // Examples: + // "users", + FileGroupNameKey = attribute.Key("file.group.name") + + // FileInodeKey is the attribute Key conforming to the "file.inode" semantic + // conventions. It represents the inode representing the file in the + // filesystem. + // + // Stability: Development + // Type: string + // + // Examples: + // "256383", + FileInodeKey = attribute.Key("file.inode") + + // FileModeKey is the attribute Key conforming to the "file.mode" semantic + // conventions. It represents the mode of the file in octal representation. + // + // Stability: Development + // Type: string + // + // Examples: + // "0640", + FileModeKey = attribute.Key("file.mode") + + // FileModifiedKey is the attribute Key conforming to the "file.modified" + // semantic conventions. It represents the time when the file content was last + // modified, in ISO 8601 format. + // + // Stability: Development + // Type: string + // + // Examples: + // "2021-01-01T12:00:00Z", + FileModifiedKey = attribute.Key("file.modified") + // FileNameKey is the attribute Key conforming to the "file.name" semantic // conventions. It represents the name of the file including the extension, // without the directory. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'example.png' + // + // Examples: + // "example.png", FileNameKey = attribute.Key("file.name") + // FileOwnerIDKey is the attribute Key conforming to the "file.owner.id" + // semantic conventions. It represents the user ID (UID) or security + // identifier (SID) of the file owner. + // + // Stability: Development + // Type: string + // + // Examples: + // "1000", + FileOwnerIDKey = attribute.Key("file.owner.id") + + // FileOwnerNameKey is the attribute Key conforming to the "file.owner.name" + // semantic conventions. It represents the username of the file owner. + // + // Stability: Development + // Type: string + // + // Examples: + // "root", + FileOwnerNameKey = attribute.Key("file.owner.name") + // FilePathKey is the attribute Key conforming to the "file.path" semantic // conventions. It represents the full path to the file, including the file // name. It should include the drive letter, when appropriate. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/home/alice/example.png', 'C:\\Program - // Files\\MyApp\\myapp.exe' + // + // Examples: + // "/home/alice/example.png", + // "C:\Program Files\MyApp\myapp.exe", FilePathKey = attribute.Key("file.path") // FileSizeKey is the attribute Key conforming to the "file.size" semantic // conventions. It represents the file size in bytes. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined FileSizeKey = attribute.Key("file.size") + + // FileSymbolicLinkTargetPathKey is the attribute Key conforming to the + // "file.symbolic_link.target_path" semantic conventions. It represents the + // path to the target of a symbolic link. + // + // Stability: Development + // Type: string + // + // Examples: + // "/usr/bin/python3", + // + // Note: This attribute is only applicable to symbolic links + FileSymbolicLinkTargetPathKey = attribute.Key("file.symbolic_link.target_path") ) +// FileAccessed returns an attribute KeyValue conforming to the "file.accessed" +// semantic conventions. It represents the time when the file was last +// accessed, in ISO 8601 format +func FileAccessed(val string) attribute.KeyValue { + return FileAccessedKey.String(val) +} + +// FileAttributes returns an attribute KeyValue conforming to the +// "file.attributes" semantic conventions. It represents the array of file +// attributes +func FileAttributes(val ...string) attribute.KeyValue { + return FileAttributesKey.StringSlice(val) +} + +// FileChanged returns an attribute KeyValue conforming to the "file.changed" +// semantic conventions. It represents the time when the file attributes or +// metadata was last changed, in ISO 8601 format +func FileChanged(val string) attribute.KeyValue { + return FileChangedKey.String(val) +} + +// FileCreated returns an attribute KeyValue conforming to the "file.created" +// semantic conventions. It represents the time when the file was created, in +// ISO 8601 format +func FileCreated(val string) attribute.KeyValue { + return FileCreatedKey.String(val) +} + // FileDirectory returns an attribute KeyValue conforming to the // "file.directory" semantic conventions. It represents the directory where the -// file is located. It should include the drive letter, when appropriate. +// file is located. It should include the drive letter, when appropriate func FileDirectory(val string) attribute.KeyValue { return FileDirectoryKey.String(val) } // FileExtension returns an attribute KeyValue conforming to the // "file.extension" semantic conventions. It represents the file extension, -// excluding the leading dot. +// excluding the leading dot func FileExtension(val string) attribute.KeyValue { return FileExtensionKey.String(val) } +// FileForkName returns an attribute KeyValue conforming to the +// "file.fork_name" semantic conventions. It represents the name of the fork. A +// fork is additional data associated with a filesystem object +func FileForkName(val string) attribute.KeyValue { + return FileForkNameKey.String(val) +} + +// FileGroupID returns an attribute KeyValue conforming to the "file.group.id" +// semantic conventions. It represents the primary Group ID (GID) of the file +func FileGroupID(val string) attribute.KeyValue { + return FileGroupIDKey.String(val) +} + +// FileGroupName returns an attribute KeyValue conforming to the +// "file.group.name" semantic conventions. It represents the primary group name +// of the file +func FileGroupName(val string) attribute.KeyValue { + return FileGroupNameKey.String(val) +} + +// FileInode returns an attribute KeyValue conforming to the "file.inode" +// semantic conventions. It represents the inode representing the file in the +// filesystem +func FileInode(val string) attribute.KeyValue { + return FileInodeKey.String(val) +} + +// FileMode returns an attribute KeyValue conforming to the "file.mode" +// semantic conventions. It represents the mode of the file in octal +// representation +func FileMode(val string) attribute.KeyValue { + return FileModeKey.String(val) +} + +// FileModified returns an attribute KeyValue conforming to the "file.modified" +// semantic conventions. It represents the time when the file content was last +// modified, in ISO 8601 format +func FileModified(val string) attribute.KeyValue { + return FileModifiedKey.String(val) +} + // FileName returns an attribute KeyValue conforming to the "file.name" // semantic conventions. It represents the name of the file including the -// extension, without the directory. +// extension, without the directory func FileName(val string) attribute.KeyValue { return FileNameKey.String(val) } +// FileOwnerID returns an attribute KeyValue conforming to the "file.owner.id" +// semantic conventions. It represents the user ID (UID) or security identifier +// (SID) of the file owner +func FileOwnerID(val string) attribute.KeyValue { + return FileOwnerIDKey.String(val) +} + +// FileOwnerName returns an attribute KeyValue conforming to the +// "file.owner.name" semantic conventions. It represents the username of the +// file owner +func FileOwnerName(val string) attribute.KeyValue { + return FileOwnerNameKey.String(val) +} + // FilePath returns an attribute KeyValue conforming to the "file.path" // semantic conventions. It represents the full path to the file, including the -// file name. It should include the drive letter, when appropriate. +// file name. It should include the drive letter, when appropriate func FilePath(val string) attribute.KeyValue { return FilePathKey.String(val) } // FileSize returns an attribute KeyValue conforming to the "file.size" -// semantic conventions. It represents the file size in bytes. +// semantic conventions. It represents the file size in bytes func FileSize(val int) attribute.KeyValue { return FileSizeKey.Int(val) } -// Attributes for Google Cloud client libraries. +// FileSymbolicLinkTargetPath returns an attribute KeyValue conforming to the +// "file.symbolic_link.target_path" semantic conventions. It represents the +// path to the target of a symbolic link +func FileSymbolicLinkTargetPath(val string) attribute.KeyValue { + return FileSymbolicLinkTargetPathKey.String(val) +} + +// Namespace: gcp const ( // GCPClientServiceKey is the attribute Key conforming to the - // "gcp.client.service" semantic conventions. It represents the identifies - // the Google Cloud service for which the official client library is - // intended. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'appengine', 'run', 'firestore', 'alloydb', 'spanner' - // Note: Intended to be a stable identifier for Google Cloud client - // libraries that is uniform across implementation languages. The value - // should be derived from the canonical service domain for the service; for - // example, 'foo.googleapis.com' should result in a value of 'foo'. + // "gcp.client.service" semantic conventions. It represents the identifies the + // Google Cloud service for which the official client library is intended. + // Stability: Development + // Type: string + // + // Examples: + // "appengine", + // "run", + // "firestore", + // "alloydb", + // "spanner", + // + // Note: Intended to be a stable identifier for Google Cloud client libraries + // that is uniform across implementation languages. The value should be + // derived from the canonical service domain for the service; for example, + // 'foo.googleapis.com' should result in a value of 'foo' GCPClientServiceKey = attribute.Key("gcp.client.service") -) - -// GCPClientService returns an attribute KeyValue conforming to the -// "gcp.client.service" semantic conventions. It represents the identifies the -// Google Cloud service for which the official client library is intended. -func GCPClientService(val string) attribute.KeyValue { - return GCPClientServiceKey.String(val) -} -// Attributes for Google Cloud Run. -const ( // GCPCloudRunJobExecutionKey is the attribute Key conforming to the - // "gcp.cloud_run.job.execution" semantic conventions. It represents the - // name of the Cloud Run - // [execution](https://cloud.google.com/run/docs/managing/job-executions) - // being run for the Job, as set by the - // [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) - // environment variable. + // "gcp.cloud_run.job.execution" semantic conventions. It represents the name + // of the Cloud Run [execution] being run for the Job, as set by the + // [`CLOUD_RUN_EXECUTION`] environment variable. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'job-name-xxxx', 'sample-job-mdw84' + // + // Examples: + // "job-name-xxxx", + // "sample-job-mdw84", + // + // [execution]: https://cloud.google.com/run/docs/managing/job-executions + // [`CLOUD_RUN_EXECUTION`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars GCPCloudRunJobExecutionKey = attribute.Key("gcp.cloud_run.job.execution") // GCPCloudRunJobTaskIndexKey is the attribute Key conforming to the // "gcp.cloud_run.job.task_index" semantic conventions. It represents the // index for a task within an execution as provided by the - // [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) - // environment variable. + // [`CLOUD_RUN_TASK_INDEX`] environment variable. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 0, 1 + // + // Examples: + // 0, + // 1, + // + // [`CLOUD_RUN_TASK_INDEX`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars GCPCloudRunJobTaskIndexKey = attribute.Key("gcp.cloud_run.job.task_index") -) - -// GCPCloudRunJobExecution returns an attribute KeyValue conforming to the -// "gcp.cloud_run.job.execution" semantic conventions. It represents the name -// of the Cloud Run -// [execution](https://cloud.google.com/run/docs/managing/job-executions) being -// run for the Job, as set by the -// [`CLOUD_RUN_EXECUTION`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) -// environment variable. -func GCPCloudRunJobExecution(val string) attribute.KeyValue { - return GCPCloudRunJobExecutionKey.String(val) -} - -// GCPCloudRunJobTaskIndex returns an attribute KeyValue conforming to the -// "gcp.cloud_run.job.task_index" semantic conventions. It represents the index -// for a task within an execution as provided by the -// [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) -// environment variable. -func GCPCloudRunJobTaskIndex(val int) attribute.KeyValue { - return GCPCloudRunJobTaskIndexKey.Int(val) -} -// Attributes for Google Compute Engine (GCE). -const ( // GCPGceInstanceHostnameKey is the attribute Key conforming to the // "gcp.gce.instance.hostname" semantic conventions. It represents the // hostname of a GCE instance. This is the full value of the default or - // [custom - // hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). + // [custom hostname]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'my-host1234.example.com', - // 'sample-vm.us-west1-b.c.my-project.internal' + // + // Examples: + // "my-host1234.example.com", + // "sample-vm.us-west1-b.c.my-project.internal", + // + // [custom hostname]: https://cloud.google.com/compute/docs/instances/custom-hostname-vm GCPGceInstanceHostnameKey = attribute.Key("gcp.gce.instance.hostname") // GCPGceInstanceNameKey is the attribute Key conforming to the // "gcp.gce.instance.name" semantic conventions. It represents the instance // name of a GCE instance. This is the value provided by `host.name`, the // visible name of the instance in the Cloud Console UI, and the prefix for - // the default hostname of the instance as defined by the [default internal - // DNS - // name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). + // the default hostname of the instance as defined by the + // [default internal DNS name]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'instance-1', 'my-vm-name' + // + // Examples: + // "instance-1", + // "my-vm-name", + // + // [default internal DNS name]: https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names GCPGceInstanceNameKey = attribute.Key("gcp.gce.instance.name") ) +// GCPClientService returns an attribute KeyValue conforming to the +// "gcp.client.service" semantic conventions. It represents the identifies the +// Google Cloud service for which the official client library is intended +func GCPClientService(val string) attribute.KeyValue { + return GCPClientServiceKey.String(val) +} + +// GCPCloudRunJobExecution returns an attribute KeyValue conforming to the +// "gcp.cloud_run.job.execution" semantic conventions. It represents the name +// of the Cloud Run [execution] being run for the Job, as set by the +// [`CLOUD_RUN_EXECUTION`] environment variable +// +// [execution]: https://cloud.google.com/run/docs/managing/job-executions +// [`CLOUD_RUN_EXECUTION`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars +func GCPCloudRunJobExecution(val string) attribute.KeyValue { + return GCPCloudRunJobExecutionKey.String(val) +} + +// GCPCloudRunJobTaskIndex returns an attribute KeyValue conforming to the +// "gcp.cloud_run.job.task_index" semantic conventions. It represents the index +// for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`] +// environment variable +// +// [`CLOUD_RUN_TASK_INDEX`]: https://cloud.google.com/run/docs/container-contract#jobs-env-vars +func GCPCloudRunJobTaskIndex(val int) attribute.KeyValue { + return GCPCloudRunJobTaskIndexKey.Int(val) +} + // GCPGceInstanceHostname returns an attribute KeyValue conforming to the // "gcp.gce.instance.hostname" semantic conventions. It represents the hostname -// of a GCE instance. This is the full value of the default or [custom -// hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). +// of a GCE instance. This is the full value of the default or +// [custom hostname] +// +// [custom hostname]: https://cloud.google.com/compute/docs/instances/custom-hostname-vm func GCPGceInstanceHostname(val string) attribute.KeyValue { return GCPGceInstanceHostnameKey.String(val) } @@ -3887,467 +5431,843 @@ func GCPGceInstanceHostname(val string) attribute.KeyValue { // "gcp.gce.instance.name" semantic conventions. It represents the instance // name of a GCE instance. This is the value provided by `host.name`, the // visible name of the instance in the Cloud Console UI, and the prefix for the -// default hostname of the instance as defined by the [default internal DNS -// name](https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names). +// default hostname of the instance as defined by the +// [default internal DNS name] +// +// [default internal DNS name]: https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names func GCPGceInstanceName(val string) attribute.KeyValue { return GCPGceInstanceNameKey.String(val) } -// The attributes used to describe telemetry in the context of Generative -// Artificial Intelligence (GenAI) Models requests and responses. +// Namespace: gen_ai const ( - // GenAICompletionKey is the attribute Key conforming to the - // "gen_ai.completion" semantic conventions. It represents the full - // response received from the GenAI model. + // GenAIOpenaiRequestResponseFormatKey is the attribute Key conforming to the + // "gen_ai.openai.request.response_format" semantic conventions. It represents + // the response format that is requested. + // Stability: Development + // Type: Enum + // + // Examples: + // "json", + GenAIOpenaiRequestResponseFormatKey = attribute.Key("gen_ai.openai.request.response_format") + + // GenAIOpenaiRequestServiceTierKey is the attribute Key conforming to the + // "gen_ai.openai.request.service_tier" semantic conventions. It represents + // the service tier requested. May be a specific tier, default, or auto. + // Stability: Development + // Type: Enum // + // Examples: + // "auto", + // "default", + GenAIOpenaiRequestServiceTierKey = attribute.Key("gen_ai.openai.request.service_tier") + + // GenAIOpenaiResponseServiceTierKey is the attribute Key conforming to the + // "gen_ai.openai.response.service_tier" semantic conventions. It represents + // the service tier used for the response. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: "[{'role': 'assistant', 'content': 'The capital of France is - // Paris.'}]" - // Note: It's RECOMMENDED to format completions as JSON string matching - // [OpenAI messages - // format](https://platform.openai.com/docs/guides/text-generation) - GenAICompletionKey = attribute.Key("gen_ai.completion") + // + // Examples: + // "scale", + // "default", + GenAIOpenaiResponseServiceTierKey = attribute.Key("gen_ai.openai.response.service_tier") - // GenAIOperationNameKey is the attribute Key conforming to the - // "gen_ai.operation.name" semantic conventions. It represents the name of - // the operation being performed. + // GenAIOpenaiResponseSystemFingerprintKey is the attribute Key conforming to + // the "gen_ai.openai.response.system_fingerprint" semantic conventions. It + // represents a fingerprint to track any eventual change in the Generative AI + // environment. + // Stability: Development + // Type: string // + // Examples: + // "fp_44709d6fcb", + GenAIOpenaiResponseSystemFingerprintKey = attribute.Key("gen_ai.openai.response.system_fingerprint") + + // GenAIOperationNameKey is the attribute Key conforming to the + // "gen_ai.operation.name" semantic conventions. It represents the name of the + // operation being performed. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Note: If one of the predefined values applies, but specific system uses - // a different name it's RECOMMENDED to document it in the semantic - // conventions for specific GenAI system and use system-specific name in - // the instrumentation. If a different name is not documented, - // instrumentation libraries SHOULD use applicable predefined value. + // + // Examples: undefined + // Note: If one of the predefined values applies, but specific system uses a + // different name it's RECOMMENDED to document it in the semantic conventions + // for specific GenAI system and use system-specific name in the + // instrumentation. If a different name is not documented, instrumentation + // libraries SHOULD use applicable predefined value GenAIOperationNameKey = attribute.Key("gen_ai.operation.name") - // GenAIPromptKey is the attribute Key conforming to the "gen_ai.prompt" - // semantic conventions. It represents the full prompt sent to the GenAI - // model. + // GenAIRequestEncodingFormatsKey is the attribute Key conforming to the + // "gen_ai.request.encoding_formats" semantic conventions. It represents the + // encoding formats requested in an embeddings operation, if specified. + // Stability: Development + // Type: string[] // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: "[{'role': 'user', 'content': 'What is the capital of - // France?'}]" - // Note: It's RECOMMENDED to format prompts as JSON string matching [OpenAI - // messages - // format](https://platform.openai.com/docs/guides/text-generation) - GenAIPromptKey = attribute.Key("gen_ai.prompt") + // Examples: + // [ + // "base64", + // ], + // [ + // "float", + // "binary", + // ], + // + // Note: In some GenAI systems the encoding formats are called embedding + // types. Also, some GenAI systems only accept a single format per request + GenAIRequestEncodingFormatsKey = attribute.Key("gen_ai.request.encoding_formats") // GenAIRequestFrequencyPenaltyKey is the attribute Key conforming to the - // "gen_ai.request.frequency_penalty" semantic conventions. It represents - // the frequency penalty setting for the GenAI request. - // + // "gen_ai.request.frequency_penalty" semantic conventions. It represents the + // frequency penalty setting for the GenAI request. + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 0.1 + // + // Examples: + // 0.1, GenAIRequestFrequencyPenaltyKey = attribute.Key("gen_ai.request.frequency_penalty") // GenAIRequestMaxTokensKey is the attribute Key conforming to the - // "gen_ai.request.max_tokens" semantic conventions. It represents the - // maximum number of tokens the model generates for a request. - // + // "gen_ai.request.max_tokens" semantic conventions. It represents the maximum + // number of tokens the model generates for a request. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 100 + // + // Examples: + // 100, GenAIRequestMaxTokensKey = attribute.Key("gen_ai.request.max_tokens") // GenAIRequestModelKey is the attribute Key conforming to the - // "gen_ai.request.model" semantic conventions. It represents the name of - // the GenAI model a request is being made to. - // + // "gen_ai.request.model" semantic conventions. It represents the name of the + // GenAI model a request is being made to. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'gpt-4' + // + // Examples: "gpt-4" GenAIRequestModelKey = attribute.Key("gen_ai.request.model") // GenAIRequestPresencePenaltyKey is the attribute Key conforming to the - // "gen_ai.request.presence_penalty" semantic conventions. It represents - // the presence penalty setting for the GenAI request. - // + // "gen_ai.request.presence_penalty" semantic conventions. It represents the + // presence penalty setting for the GenAI request. + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 0.1 + // + // Examples: + // 0.1, GenAIRequestPresencePenaltyKey = attribute.Key("gen_ai.request.presence_penalty") + // GenAIRequestSeedKey is the attribute Key conforming to the + // "gen_ai.request.seed" semantic conventions. It represents the requests with + // same seed value more likely to return same result. + // Stability: Development + // Type: int + // + // Examples: + // 100, + GenAIRequestSeedKey = attribute.Key("gen_ai.request.seed") + // GenAIRequestStopSequencesKey is the attribute Key conforming to the // "gen_ai.request.stop_sequences" semantic conventions. It represents the // list of sequences that the model will use to stop generating further // tokens. - // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'forest', 'lived' + // + // Examples: + // [ + // "forest", + // "lived", + // ], GenAIRequestStopSequencesKey = attribute.Key("gen_ai.request.stop_sequences") // GenAIRequestTemperatureKey is the attribute Key conforming to the // "gen_ai.request.temperature" semantic conventions. It represents the // temperature setting for the GenAI request. - // + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 0.0 + // + // Examples: + // 0.0, GenAIRequestTemperatureKey = attribute.Key("gen_ai.request.temperature") // GenAIRequestTopKKey is the attribute Key conforming to the // "gen_ai.request.top_k" semantic conventions. It represents the top_k // sampling setting for the GenAI request. - // + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1.0 + // + // Examples: + // 1.0, GenAIRequestTopKKey = attribute.Key("gen_ai.request.top_k") // GenAIRequestTopPKey is the attribute Key conforming to the // "gen_ai.request.top_p" semantic conventions. It represents the top_p // sampling setting for the GenAI request. - // + // Stability: Development // Type: double - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1.0 + // + // Examples: + // 1.0, GenAIRequestTopPKey = attribute.Key("gen_ai.request.top_p") // GenAIResponseFinishReasonsKey is the attribute Key conforming to the // "gen_ai.response.finish_reasons" semantic conventions. It represents the - // array of reasons the model stopped generating tokens, corresponding to - // each generation received. - // + // array of reasons the model stopped generating tokens, corresponding to each + // generation received. + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'stop' + // + // Examples: + // [ + // "stop", + // ], + // [ + // "stop", + // "length", + // ], GenAIResponseFinishReasonsKey = attribute.Key("gen_ai.response.finish_reasons") // GenAIResponseIDKey is the attribute Key conforming to the // "gen_ai.response.id" semantic conventions. It represents the unique // identifier for the completion. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'chatcmpl-123' + // + // Examples: + // "chatcmpl-123", GenAIResponseIDKey = attribute.Key("gen_ai.response.id") // GenAIResponseModelKey is the attribute Key conforming to the - // "gen_ai.response.model" semantic conventions. It represents the name of - // the model that generated the response. - // + // "gen_ai.response.model" semantic conventions. It represents the name of the + // model that generated the response. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'gpt-4-0613' + // + // Examples: + // "gpt-4-0613", GenAIResponseModelKey = attribute.Key("gen_ai.response.model") // GenAISystemKey is the attribute Key conforming to the "gen_ai.system" - // semantic conventions. It represents the Generative AI product as - // identified by the client or server instrumentation. - // + // semantic conventions. It represents the Generative AI product as identified + // by the client or server instrumentation. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'openai' - // Note: The `gen_ai.system` describes a family of GenAI models with - // specific model identified + // + // Examples: "openai" + // Note: The `gen_ai.system` describes a family of GenAI models with specific + // model identified // by `gen_ai.request.model` and `gen_ai.response.model` attributes. // - // The actual GenAI product may differ from the one identified by the - // client. - // For example, when using OpenAI client libraries to communicate with - // Mistral, the `gen_ai.system` - // is set to `openai` based on the instrumentation's best knowledge. + // The actual GenAI product may differ from the one identified by the client. + // Multiple systems, including Azure OpenAI and Gemini, are accessible by + // OpenAI client + // libraries. In such cases, the `gen_ai.system` is set to `openai` based on + // the + // instrumentation's best knowledge, instead of the actual system. The + // `server.address` + // attribute may help identify the actual system in use for `openai`. // // For custom model, a custom friendly name SHOULD be used. // If none of these options apply, the `gen_ai.system` SHOULD be set to - // `_OTHER`. + // `_OTHER` GenAISystemKey = attribute.Key("gen_ai.system") // GenAITokenTypeKey is the attribute Key conforming to the - // "gen_ai.token.type" semantic conventions. It represents the type of - // token being counted. - // + // "gen_ai.token.type" semantic conventions. It represents the type of token + // being counted. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'input', 'output' + // + // Examples: + // "input", + // "output", GenAITokenTypeKey = attribute.Key("gen_ai.token.type") // GenAIUsageInputTokensKey is the attribute Key conforming to the - // "gen_ai.usage.input_tokens" semantic conventions. It represents the - // number of tokens used in the GenAI input (prompt). - // + // "gen_ai.usage.input_tokens" semantic conventions. It represents the number + // of tokens used in the GenAI input (prompt). + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 100 + // + // Examples: + // 100, GenAIUsageInputTokensKey = attribute.Key("gen_ai.usage.input_tokens") // GenAIUsageOutputTokensKey is the attribute Key conforming to the - // "gen_ai.usage.output_tokens" semantic conventions. It represents the - // number of tokens used in the GenAI response (completion). - // + // "gen_ai.usage.output_tokens" semantic conventions. It represents the number + // of tokens used in the GenAI response (completion). + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 180 - GenAIUsageOutputTokensKey = attribute.Key("gen_ai.usage.output_tokens") -) - -var ( - // Chat completion operation such as [OpenAI Chat API](https://platform.openai.com/docs/api-reference/chat) - GenAIOperationNameChat = GenAIOperationNameKey.String("chat") - // Text completions operation such as [OpenAI Completions API (Legacy)](https://platform.openai.com/docs/api-reference/completions) - GenAIOperationNameTextCompletion = GenAIOperationNameKey.String("text_completion") -) - -var ( - // OpenAI - GenAISystemOpenai = GenAISystemKey.String("openai") - // Vertex AI - GenAISystemVertexAI = GenAISystemKey.String("vertex_ai") - // Anthropic - GenAISystemAnthropic = GenAISystemKey.String("anthropic") - // Cohere - GenAISystemCohere = GenAISystemKey.String("cohere") -) - -var ( - // Input tokens (prompt, input, etc.) - GenAITokenTypeInput = GenAITokenTypeKey.String("input") - // Output tokens (completion, response, etc.) - GenAITokenTypeCompletion = GenAITokenTypeKey.String("output") + // + // Examples: + // 180, + GenAIUsageOutputTokensKey = attribute.Key("gen_ai.usage.output_tokens") ) -// GenAICompletion returns an attribute KeyValue conforming to the -// "gen_ai.completion" semantic conventions. It represents the full response -// received from the GenAI model. -func GenAICompletion(val string) attribute.KeyValue { - return GenAICompletionKey.String(val) +// GenAIOpenaiRequestResponseFormat returns an attribute KeyValue conforming to +// the "gen_ai.openai.request.response_format" semantic conventions. It +// represents the response format that is requested +func GenAIOpenaiRequestResponseFormat(val string) attribute.KeyValue { + return GenAIOpenaiRequestResponseFormatKey.String(val) +} + +// GenAIOpenaiRequestServiceTier returns an attribute KeyValue conforming to +// the "gen_ai.openai.request.service_tier" semantic conventions. It represents +// the service tier requested. May be a specific tier, default, or auto +func GenAIOpenaiRequestServiceTier(val string) attribute.KeyValue { + return GenAIOpenaiRequestServiceTierKey.String(val) +} + +// GenAIOpenaiResponseServiceTier returns an attribute KeyValue conforming to +// the "gen_ai.openai.response.service_tier" semantic conventions. It +// represents the service tier used for the response +func GenAIOpenaiResponseServiceTier(val string) attribute.KeyValue { + return GenAIOpenaiResponseServiceTierKey.String(val) +} + +// GenAIOpenaiResponseSystemFingerprint returns an attribute KeyValue +// conforming to the "gen_ai.openai.response.system_fingerprint" semantic +// conventions. It represents a fingerprint to track any eventual change in the +// Generative AI environment +func GenAIOpenaiResponseSystemFingerprint(val string) attribute.KeyValue { + return GenAIOpenaiResponseSystemFingerprintKey.String(val) } -// GenAIPrompt returns an attribute KeyValue conforming to the -// "gen_ai.prompt" semantic conventions. It represents the full prompt sent to -// the GenAI model. -func GenAIPrompt(val string) attribute.KeyValue { - return GenAIPromptKey.String(val) +// GenAIOperationName returns an attribute KeyValue conforming to the +// "gen_ai.operation.name" semantic conventions. It represents the name of the +// operation being performed +func GenAIOperationName(val string) attribute.KeyValue { + return GenAIOperationNameKey.String(val) } -// GenAIRequestFrequencyPenalty returns an attribute KeyValue conforming to -// the "gen_ai.request.frequency_penalty" semantic conventions. It represents -// the frequency penalty setting for the GenAI request. +// GenAIRequestEncodingFormats returns an attribute KeyValue conforming to the +// "gen_ai.request.encoding_formats" semantic conventions. It represents the +// encoding formats requested in an embeddings operation, if specified +func GenAIRequestEncodingFormats(val ...string) attribute.KeyValue { + return GenAIRequestEncodingFormatsKey.StringSlice(val) +} + +// GenAIRequestFrequencyPenalty returns an attribute KeyValue conforming to the +// "gen_ai.request.frequency_penalty" semantic conventions. It represents the +// frequency penalty setting for the GenAI request func GenAIRequestFrequencyPenalty(val float64) attribute.KeyValue { return GenAIRequestFrequencyPenaltyKey.Float64(val) } // GenAIRequestMaxTokens returns an attribute KeyValue conforming to the // "gen_ai.request.max_tokens" semantic conventions. It represents the maximum -// number of tokens the model generates for a request. +// number of tokens the model generates for a request func GenAIRequestMaxTokens(val int) attribute.KeyValue { return GenAIRequestMaxTokensKey.Int(val) } // GenAIRequestModel returns an attribute KeyValue conforming to the // "gen_ai.request.model" semantic conventions. It represents the name of the -// GenAI model a request is being made to. +// GenAI model a request is being made to func GenAIRequestModel(val string) attribute.KeyValue { return GenAIRequestModelKey.String(val) } -// GenAIRequestPresencePenalty returns an attribute KeyValue conforming to -// the "gen_ai.request.presence_penalty" semantic conventions. It represents -// the presence penalty setting for the GenAI request. +// GenAIRequestPresencePenalty returns an attribute KeyValue conforming to the +// "gen_ai.request.presence_penalty" semantic conventions. It represents the +// presence penalty setting for the GenAI request func GenAIRequestPresencePenalty(val float64) attribute.KeyValue { return GenAIRequestPresencePenaltyKey.Float64(val) } +// GenAIRequestSeed returns an attribute KeyValue conforming to the +// "gen_ai.request.seed" semantic conventions. It represents the requests with +// same seed value more likely to return same result +func GenAIRequestSeed(val int) attribute.KeyValue { + return GenAIRequestSeedKey.Int(val) +} + // GenAIRequestStopSequences returns an attribute KeyValue conforming to the // "gen_ai.request.stop_sequences" semantic conventions. It represents the list -// of sequences that the model will use to stop generating further tokens. +// of sequences that the model will use to stop generating further tokens func GenAIRequestStopSequences(val ...string) attribute.KeyValue { return GenAIRequestStopSequencesKey.StringSlice(val) } // GenAIRequestTemperature returns an attribute KeyValue conforming to the // "gen_ai.request.temperature" semantic conventions. It represents the -// temperature setting for the GenAI request. +// temperature setting for the GenAI request func GenAIRequestTemperature(val float64) attribute.KeyValue { return GenAIRequestTemperatureKey.Float64(val) } // GenAIRequestTopK returns an attribute KeyValue conforming to the // "gen_ai.request.top_k" semantic conventions. It represents the top_k -// sampling setting for the GenAI request. +// sampling setting for the GenAI request func GenAIRequestTopK(val float64) attribute.KeyValue { return GenAIRequestTopKKey.Float64(val) } // GenAIRequestTopP returns an attribute KeyValue conforming to the // "gen_ai.request.top_p" semantic conventions. It represents the top_p -// sampling setting for the GenAI request. +// sampling setting for the GenAI request func GenAIRequestTopP(val float64) attribute.KeyValue { return GenAIRequestTopPKey.Float64(val) } -// GenAIResponseFinishReasons returns an attribute KeyValue conforming to -// the "gen_ai.response.finish_reasons" semantic conventions. It represents the +// GenAIResponseFinishReasons returns an attribute KeyValue conforming to the +// "gen_ai.response.finish_reasons" semantic conventions. It represents the // array of reasons the model stopped generating tokens, corresponding to each -// generation received. +// generation received func GenAIResponseFinishReasons(val ...string) attribute.KeyValue { return GenAIResponseFinishReasonsKey.StringSlice(val) } // GenAIResponseID returns an attribute KeyValue conforming to the // "gen_ai.response.id" semantic conventions. It represents the unique -// identifier for the completion. +// identifier for the completion func GenAIResponseID(val string) attribute.KeyValue { return GenAIResponseIDKey.String(val) } // GenAIResponseModel returns an attribute KeyValue conforming to the // "gen_ai.response.model" semantic conventions. It represents the name of the -// model that generated the response. +// model that generated the response func GenAIResponseModel(val string) attribute.KeyValue { return GenAIResponseModelKey.String(val) } +// GenAISystem returns an attribute KeyValue conforming to the "gen_ai.system" +// semantic conventions. It represents the Generative AI product as identified +// by the client or server instrumentation +func GenAISystem(val string) attribute.KeyValue { + return GenAISystemKey.String(val) +} + +// GenAITokenType returns an attribute KeyValue conforming to the +// "gen_ai.token.type" semantic conventions. It represents the type of token +// being counted +func GenAITokenType(val string) attribute.KeyValue { + return GenAITokenTypeKey.String(val) +} + // GenAIUsageInputTokens returns an attribute KeyValue conforming to the // "gen_ai.usage.input_tokens" semantic conventions. It represents the number -// of tokens used in the GenAI input (prompt). +// of tokens used in the GenAI input (prompt) func GenAIUsageInputTokens(val int) attribute.KeyValue { return GenAIUsageInputTokensKey.Int(val) } // GenAIUsageOutputTokens returns an attribute KeyValue conforming to the // "gen_ai.usage.output_tokens" semantic conventions. It represents the number -// of tokens used in the GenAI response (completion). +// of tokens used in the GenAI response (completion) func GenAIUsageOutputTokens(val int) attribute.KeyValue { return GenAIUsageOutputTokensKey.Int(val) } -// Go related attributes. +// Enum values for gen_ai.openai.request.response_format +var ( + // Text response format + // Stability: development + GenAIOpenaiRequestResponseFormatText = GenAIOpenaiRequestResponseFormatKey.String("text") + // JSON object response format + // Stability: development + GenAIOpenaiRequestResponseFormatJSONObject = GenAIOpenaiRequestResponseFormatKey.String("json_object") + // JSON schema response format + // Stability: development + GenAIOpenaiRequestResponseFormatJSONSchema = GenAIOpenaiRequestResponseFormatKey.String("json_schema") +) + +// Enum values for gen_ai.openai.request.service_tier +var ( + // The system will utilize scale tier credits until they are exhausted. + // Stability: development + GenAIOpenaiRequestServiceTierAuto = GenAIOpenaiRequestServiceTierKey.String("auto") + // The system will utilize the default scale tier. + // Stability: development + GenAIOpenaiRequestServiceTierDefault = GenAIOpenaiRequestServiceTierKey.String("default") +) + +// Enum values for gen_ai.operation.name +var ( + // Chat completion operation such as [OpenAI Chat API] + // Stability: development + // + // [OpenAI Chat API]: https://platform.openai.com/docs/api-reference/chat + GenAIOperationNameChat = GenAIOperationNameKey.String("chat") + // Text completions operation such as [OpenAI Completions API (Legacy)] + // Stability: development + // + // [OpenAI Completions API (Legacy)]: https://platform.openai.com/docs/api-reference/completions + GenAIOperationNameTextCompletion = GenAIOperationNameKey.String("text_completion") + // Embeddings operation such as [OpenAI Create embeddings API] + // Stability: development + // + // [OpenAI Create embeddings API]: https://platform.openai.com/docs/api-reference/embeddings/create + GenAIOperationNameEmbeddings = GenAIOperationNameKey.String("embeddings") +) + +// Enum values for gen_ai.system +var ( + // OpenAI + // Stability: development + GenAISystemOpenai = GenAISystemKey.String("openai") + // Vertex AI + // Stability: development + GenAISystemVertexAI = GenAISystemKey.String("vertex_ai") + // Gemini + // Stability: development + GenAISystemGemini = GenAISystemKey.String("gemini") + // Anthropic + // Stability: development + GenAISystemAnthropic = GenAISystemKey.String("anthropic") + // Cohere + // Stability: development + GenAISystemCohere = GenAISystemKey.String("cohere") + // Azure AI Inference + // Stability: development + GenAISystemAzAIInference = GenAISystemKey.String("az.ai.inference") + // Azure OpenAI + // Stability: development + GenAISystemAzAIOpenai = GenAISystemKey.String("az.ai.openai") + // IBM Watsonx AI + // Stability: development + GenAISystemIbmWatsonxAI = GenAISystemKey.String("ibm.watsonx.ai") + // AWS Bedrock + // Stability: development + GenAISystemAWSBedrock = GenAISystemKey.String("aws.bedrock") + // Perplexity + // Stability: development + GenAISystemPerplexity = GenAISystemKey.String("perplexity") + // xAI + // Stability: development + GenAISystemXai = GenAISystemKey.String("xai") + // DeepSeek + // Stability: development + GenAISystemDeepseek = GenAISystemKey.String("deepseek") + // Groq + // Stability: development + GenAISystemGroq = GenAISystemKey.String("groq") + // Mistral AI + // Stability: development + GenAISystemMistralAI = GenAISystemKey.String("mistral_ai") +) + +// Enum values for gen_ai.token.type +var ( + // Input tokens (prompt, input, etc.) + // Stability: development + GenAITokenTypeInput = GenAITokenTypeKey.String("input") + // Output tokens (completion, response, etc.) + // Stability: development + GenAITokenTypeCompletion = GenAITokenTypeKey.String("output") +) + +// Namespace: geo +const ( + // GeoContinentCodeKey is the attribute Key conforming to the + // "geo.continent.code" semantic conventions. It represents the two-letter + // code representing continent’s name. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + GeoContinentCodeKey = attribute.Key("geo.continent.code") + + // GeoCountryIsoCodeKey is the attribute Key conforming to the + // "geo.country.iso_code" semantic conventions. It represents the two-letter + // ISO Country Code ([ISO 3166-1 alpha2]). + // + // Stability: Development + // Type: string + // + // Examples: + // "CA", + // + // [ISO 3166-1 alpha2]: https://wikipedia.org/wiki/ISO_3166-1#Codes + GeoCountryIsoCodeKey = attribute.Key("geo.country.iso_code") + + // GeoLocalityNameKey is the attribute Key conforming to the + // "geo.locality.name" semantic conventions. It represents the locality name. + // Represents the name of a city, town, village, or similar populated place. + // + // Stability: Development + // Type: string + // + // Examples: + // "Montreal", + // "Berlin", + GeoLocalityNameKey = attribute.Key("geo.locality.name") + + // GeoLocationLatKey is the attribute Key conforming to the "geo.location.lat" + // semantic conventions. It represents the latitude of the geo location in + // [WGS84]. + // + // Stability: Development + // Type: double + // + // Examples: + // 45.505918, + // + // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84 + GeoLocationLatKey = attribute.Key("geo.location.lat") + + // GeoLocationLonKey is the attribute Key conforming to the "geo.location.lon" + // semantic conventions. It represents the longitude of the geo location in + // [WGS84]. + // + // Stability: Development + // Type: double + // + // Examples: + // -73.61483, + // + // [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84 + GeoLocationLonKey = attribute.Key("geo.location.lon") + + // GeoPostalCodeKey is the attribute Key conforming to the "geo.postal_code" + // semantic conventions. It represents the postal code associated with the + // location. Values appropriate for this field may also be known as a postcode + // or ZIP code and will vary widely from country to country. + // + // Stability: Development + // Type: string + // + // Examples: + // "94040", + GeoPostalCodeKey = attribute.Key("geo.postal_code") + + // GeoRegionIsoCodeKey is the attribute Key conforming to the + // "geo.region.iso_code" semantic conventions. It represents the region ISO + // code ([ISO 3166-2]). + // + // Stability: Development + // Type: string + // + // Examples: + // "CA-QC", + // + // [ISO 3166-2]: https://wikipedia.org/wiki/ISO_3166-2 + GeoRegionIsoCodeKey = attribute.Key("geo.region.iso_code") +) + +// GeoContinentCode returns an attribute KeyValue conforming to the +// "geo.continent.code" semantic conventions. It represents the two-letter code +// representing continent’s name +func GeoContinentCode(val string) attribute.KeyValue { + return GeoContinentCodeKey.String(val) +} + +// GeoCountryIsoCode returns an attribute KeyValue conforming to the +// "geo.country.iso_code" semantic conventions. It represents the two-letter +// ISO Country Code ([ISO 3166-1 alpha2]) +// +// [ISO 3166-1 alpha2]: https://wikipedia.org/wiki/ISO_3166-1#Codes +func GeoCountryIsoCode(val string) attribute.KeyValue { + return GeoCountryIsoCodeKey.String(val) +} + +// GeoLocalityName returns an attribute KeyValue conforming to the +// "geo.locality.name" semantic conventions. It represents the locality name. +// Represents the name of a city, town, village, or similar populated place +func GeoLocalityName(val string) attribute.KeyValue { + return GeoLocalityNameKey.String(val) +} + +// GeoLocationLat returns an attribute KeyValue conforming to the +// "geo.location.lat" semantic conventions. It represents the latitude of the +// geo location in [WGS84] +// +// [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84 +func GeoLocationLat(val float64) attribute.KeyValue { + return GeoLocationLatKey.Float64(val) +} + +// GeoLocationLon returns an attribute KeyValue conforming to the +// "geo.location.lon" semantic conventions. It represents the longitude of the +// geo location in [WGS84] +// +// [WGS84]: https://wikipedia.org/wiki/World_Geodetic_System#WGS84 +func GeoLocationLon(val float64) attribute.KeyValue { + return GeoLocationLonKey.Float64(val) +} + +// GeoPostalCode returns an attribute KeyValue conforming to the +// "geo.postal_code" semantic conventions. It represents the postal code +// associated with the location. Values appropriate for this field may also be +// known as a postcode or ZIP code and will vary widely from country to country +func GeoPostalCode(val string) attribute.KeyValue { + return GeoPostalCodeKey.String(val) +} + +// GeoRegionIsoCode returns an attribute KeyValue conforming to the +// "geo.region.iso_code" semantic conventions. It represents the region ISO +// code ([ISO 3166-2]) +// +// [ISO 3166-2]: https://wikipedia.org/wiki/ISO_3166-2 +func GeoRegionIsoCode(val string) attribute.KeyValue { + return GeoRegionIsoCodeKey.String(val) +} + +// Enum values for geo.continent.code +var ( + // Africa + // Stability: development + GeoContinentCodeAf = GeoContinentCodeKey.String("AF") + // Antarctica + // Stability: development + GeoContinentCodeAn = GeoContinentCodeKey.String("AN") + // Asia + // Stability: development + GeoContinentCodeAs = GeoContinentCodeKey.String("AS") + // Europe + // Stability: development + GeoContinentCodeEu = GeoContinentCodeKey.String("EU") + // North America + // Stability: development + GeoContinentCodeNa = GeoContinentCodeKey.String("NA") + // Oceania + // Stability: development + GeoContinentCodeOc = GeoContinentCodeKey.String("OC") + // South America + // Stability: development + GeoContinentCodeSa = GeoContinentCodeKey.String("SA") +) + +// Namespace: go const ( // GoMemoryTypeKey is the attribute Key conforming to the "go.memory.type" // semantic conventions. It represents the type of memory. - // + // Stability: Development // Type: Enum - // RequirementLevel: Recommended - // Stability: experimental - // Examples: 'other', 'stack' + // + // Examples: + // "other", + // "stack", GoMemoryTypeKey = attribute.Key("go.memory.type") ) +// GoMemoryType returns an attribute KeyValue conforming to the +// "go.memory.type" semantic conventions. It represents the type of memory +func GoMemoryType(val string) attribute.KeyValue { + return GoMemoryTypeKey.String(val) +} + +// Enum values for go.memory.type var ( - // Memory allocated from the heap that is reserved for stack space, whether or not it is currently in-use + // Memory allocated from the heap that is reserved for stack space, whether or + // not it is currently in-use. + // Stability: development GoMemoryTypeStack = GoMemoryTypeKey.String("stack") - // Memory used by the Go runtime, excluding other categories of memory usage described in this enumeration + // Memory used by the Go runtime, excluding other categories of memory usage + // described in this enumeration. + // Stability: development GoMemoryTypeOther = GoMemoryTypeKey.String("other") ) -// Attributes for GraphQL. +// Namespace: graphql const ( // GraphqlDocumentKey is the attribute Key conforming to the - // "graphql.document" semantic conventions. It represents the GraphQL - // document being executed. - // + // "graphql.document" semantic conventions. It represents the GraphQL document + // being executed. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'query findBookByID { bookByID(id: ?) { name } }' - // Note: The value may be sanitized to exclude sensitive information. + // + // Examples: "query findBookById { bookById(id: ?) { name } }" + // Note: The value may be sanitized to exclude sensitive information GraphqlDocumentKey = attribute.Key("graphql.document") // GraphqlOperationNameKey is the attribute Key conforming to the // "graphql.operation.name" semantic conventions. It represents the name of // the operation being executed. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'findBookByID' + // + // Examples: "findBookById" GraphqlOperationNameKey = attribute.Key("graphql.operation.name") // GraphqlOperationTypeKey is the attribute Key conforming to the // "graphql.operation.type" semantic conventions. It represents the type of // the operation being executed. - // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'query', 'mutation', 'subscription' + // + // Examples: + // "query", + // "mutation", + // "subscription", GraphqlOperationTypeKey = attribute.Key("graphql.operation.type") ) -var ( - // GraphQL query - GraphqlOperationTypeQuery = GraphqlOperationTypeKey.String("query") - // GraphQL mutation - GraphqlOperationTypeMutation = GraphqlOperationTypeKey.String("mutation") - // GraphQL subscription - GraphqlOperationTypeSubscription = GraphqlOperationTypeKey.String("subscription") -) - // GraphqlDocument returns an attribute KeyValue conforming to the // "graphql.document" semantic conventions. It represents the GraphQL document -// being executed. +// being executed func GraphqlDocument(val string) attribute.KeyValue { return GraphqlDocumentKey.String(val) } // GraphqlOperationName returns an attribute KeyValue conforming to the // "graphql.operation.name" semantic conventions. It represents the name of the -// operation being executed. +// operation being executed func GraphqlOperationName(val string) attribute.KeyValue { return GraphqlOperationNameKey.String(val) } -// Attributes for the Android platform on which the Android application is -// running. +// GraphqlOperationType returns an attribute KeyValue conforming to the +// "graphql.operation.type" semantic conventions. It represents the type of the +// operation being executed +func GraphqlOperationType(val string) attribute.KeyValue { + return GraphqlOperationTypeKey.String(val) +} + +// Enum values for graphql.operation.type +var ( + // GraphQL query + // Stability: development + GraphqlOperationTypeQuery = GraphqlOperationTypeKey.String("query") + // GraphQL mutation + // Stability: development + GraphqlOperationTypeMutation = GraphqlOperationTypeKey.String("mutation") + // GraphQL subscription + // Stability: development + GraphqlOperationTypeSubscription = GraphqlOperationTypeKey.String("subscription") +) + +// Namespace: heroku const ( // HerokuAppIDKey is the attribute Key conforming to the "heroku.app.id" // semantic conventions. It represents the unique identifier for the // application // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2daa2797-e42b-4624-9322-ec3f968df4da' + // + // Examples: + // "2daa2797-e42b-4624-9322-ec3f968df4da", HerokuAppIDKey = attribute.Key("heroku.app.id") // HerokuReleaseCommitKey is the attribute Key conforming to the - // "heroku.release.commit" semantic conventions. It represents the commit - // hash for the current release + // "heroku.release.commit" semantic conventions. It represents the commit hash + // for the current release // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'e6134959463efd8966b20e75b913cafe3f5ec' + // + // Examples: + // "e6134959463efd8966b20e75b913cafe3f5ec", HerokuReleaseCommitKey = attribute.Key("heroku.release.commit") // HerokuReleaseCreationTimestampKey is the attribute Key conforming to the - // "heroku.release.creation_timestamp" semantic conventions. It represents - // the time and date the release was created + // "heroku.release.creation_timestamp" semantic conventions. It represents the + // time and date the release was created // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2022-10-23T18:00:42Z' + // + // Examples: + // "2022-10-23T18:00:42Z", HerokuReleaseCreationTimestampKey = attribute.Key("heroku.release.creation_timestamp") ) -// HerokuAppID returns an attribute KeyValue conforming to the -// "heroku.app.id" semantic conventions. It represents the unique identifier -// for the application +// HerokuAppID returns an attribute KeyValue conforming to the "heroku.app.id" +// semantic conventions. It represents the unique identifier for the +// application func HerokuAppID(val string) attribute.KeyValue { return HerokuAppIDKey.String(val) } @@ -4359,43 +6279,45 @@ func HerokuReleaseCommit(val string) attribute.KeyValue { return HerokuReleaseCommitKey.String(val) } -// HerokuReleaseCreationTimestamp returns an attribute KeyValue conforming -// to the "heroku.release.creation_timestamp" semantic conventions. It -// represents the time and date the release was created +// HerokuReleaseCreationTimestamp returns an attribute KeyValue conforming to +// the "heroku.release.creation_timestamp" semantic conventions. It represents +// the time and date the release was created func HerokuReleaseCreationTimestamp(val string) attribute.KeyValue { return HerokuReleaseCreationTimestampKey.String(val) } -// A host is defined as a computing instance. For example, physical servers, -// virtual machines, switches or disk array. +// Namespace: host const ( // HostArchKey is the attribute Key conforming to the "host.arch" semantic - // conventions. It represents the CPU architecture the host system is - // running on. + // conventions. It represents the CPU architecture the host system is running + // on. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined HostArchKey = attribute.Key("host.arch") // HostCPUCacheL2SizeKey is the attribute Key conforming to the - // "host.cpu.cache.l2.size" semantic conventions. It represents the amount - // of level 2 memory cache available to the processor (in Bytes). + // "host.cpu.cache.l2.size" semantic conventions. It represents the amount of + // level 2 memory cache available to the processor (in Bytes). // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 12288000 + // + // Examples: + // 12288000, HostCPUCacheL2SizeKey = attribute.Key("host.cpu.cache.l2.size") - // HostCPUFamilyKey is the attribute Key conforming to the - // "host.cpu.family" semantic conventions. It represents the family or - // generation of the CPU. + // HostCPUFamilyKey is the attribute Key conforming to the "host.cpu.family" + // semantic conventions. It represents the family or generation of the CPU. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '6', 'PA-RISC 1.1e' + // + // Examples: + // "6", + // "PA-RISC 1.1e", HostCPUFamilyKey = attribute.Key("host.cpu.family") // HostCPUModelIDKey is the attribute Key conforming to the @@ -4403,166 +6325,183 @@ const ( // identifier. It provides more granular information about the CPU, // distinguishing it from other CPUs within the same family. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '6', '9000/778/B180L' + // + // Examples: + // "6", + // "9000/778/B180L", HostCPUModelIDKey = attribute.Key("host.cpu.model.id") // HostCPUModelNameKey is the attribute Key conforming to the // "host.cpu.model.name" semantic conventions. It represents the model // designation of the processor. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz' + // + // Examples: + // "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", HostCPUModelNameKey = attribute.Key("host.cpu.model.name") // HostCPUSteppingKey is the attribute Key conforming to the // "host.cpu.stepping" semantic conventions. It represents the stepping or // core revisions. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1', 'r1p1' + // + // Examples: + // "1", + // "r1p1", HostCPUSteppingKey = attribute.Key("host.cpu.stepping") // HostCPUVendorIDKey is the attribute Key conforming to the // "host.cpu.vendor.id" semantic conventions. It represents the processor // manufacturer identifier. A maximum 12-character string. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'GenuineIntel' - // Note: [CPUID](https://wiki.osdev.org/CPUID) command returns the vendor - // ID string in EBX, EDX and ECX registers. Writing these to memory in this - // order results in a 12-character string. + // + // Examples: + // "GenuineIntel", + // + // Note: [CPUID] command returns the vendor ID string in EBX, EDX and ECX + // registers. Writing these to memory in this order results in a 12-character + // string + // + // [CPUID]: https://wiki.osdev.org/CPUID HostCPUVendorIDKey = attribute.Key("host.cpu.vendor.id") // HostIDKey is the attribute Key conforming to the "host.id" semantic - // conventions. It represents the unique host ID. For Cloud, this must be - // the instance_id assigned by the cloud provider. For non-containerized - // systems, this should be the `machine-id`. See the table below for the - // sources to use to determine the `machine-id` based on operating system. + // conventions. It represents the unique host ID. For Cloud, this must be the + // instance_id assigned by the cloud provider. For non-containerized systems, + // this should be the `machine-id`. See the table below for the sources to use + // to determine the `machine-id` based on operating system. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'fdbf79e8af94cb7f9e8df36789187052' + // + // Examples: + // "fdbf79e8af94cb7f9e8df36789187052", HostIDKey = attribute.Key("host.id") // HostImageIDKey is the attribute Key conforming to the "host.image.id" // semantic conventions. It represents the vM image ID or host OS image ID. // For Cloud, this value is from the provider. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'ami-07b06b442921831e5' + // + // Examples: + // "ami-07b06b442921831e5", HostImageIDKey = attribute.Key("host.image.id") - // HostImageNameKey is the attribute Key conforming to the - // "host.image.name" semantic conventions. It represents the name of the VM - // image or OS install the host was instantiated from. + // HostImageNameKey is the attribute Key conforming to the "host.image.name" + // semantic conventions. It represents the name of the VM image or OS install + // the host was instantiated from. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905' + // + // Examples: + // "infra-ami-eks-worker-node-7d4ec78312", + // "CentOS-8-x86_64-1905", HostImageNameKey = attribute.Key("host.image.name") // HostImageVersionKey is the attribute Key conforming to the - // "host.image.version" semantic conventions. It represents the version - // string of the VM image or host OS as defined in [Version - // Attributes](/docs/resource/README.md#version-attributes). + // "host.image.version" semantic conventions. It represents the version string + // of the VM image or host OS as defined in [Version Attributes]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '0.1' + // + // Examples: + // "0.1", + // + // [Version Attributes]: /docs/resource/README.md#version-attributes HostImageVersionKey = attribute.Key("host.image.version") // HostIPKey is the attribute Key conforming to the "host.ip" semantic // conventions. It represents the available IP addresses of the host, // excluding loopback interfaces. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: '192.168.1.140', 'fe80::abc2:4a28:737a:609e' + // + // Examples: + // [ + // "192.168.1.140", + // "fe80::abc2:4a28:737a:609e", + // ], + // // Note: IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 - // addresses MUST be specified in the [RFC - // 5952](https://www.rfc-editor.org/rfc/rfc5952.html) format. + // addresses MUST be specified in the [RFC 5952] format + // + // [RFC 5952]: https://www.rfc-editor.org/rfc/rfc5952.html HostIPKey = attribute.Key("host.ip") // HostMacKey is the attribute Key conforming to the "host.mac" semantic // conventions. It represents the available MAC addresses of the host, // excluding loopback interfaces. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'AC-DE-48-23-45-67', 'AC-DE-48-23-45-67-01-9F' - // Note: MAC Addresses MUST be represented in [IEEE RA hexadecimal - // form](https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf): - // as hyphen-separated octets in uppercase hexadecimal form from most to - // least significant. + // + // Examples: + // [ + // "AC-DE-48-23-45-67", + // "AC-DE-48-23-45-67-01-9F", + // ], + // + // Note: MAC Addresses MUST be represented in [IEEE RA hexadecimal form]: as + // hyphen-separated octets in uppercase hexadecimal form from most to least + // significant + // + // [IEEE RA hexadecimal form]: https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf HostMacKey = attribute.Key("host.mac") // HostNameKey is the attribute Key conforming to the "host.name" semantic // conventions. It represents the name of the host. On Unix systems, it may - // contain what the hostname command returns, or the fully qualified - // hostname, or another name specified by the user. + // contain what the hostname command returns, or the fully qualified hostname, + // or another name specified by the user. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry-test' + // + // Examples: + // "opentelemetry-test", HostNameKey = attribute.Key("host.name") // HostTypeKey is the attribute Key conforming to the "host.type" semantic // conventions. It represents the type of host. For Cloud, this must be the // machine type. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'n1-standard-1' + // + // Examples: + // "n1-standard-1", HostTypeKey = attribute.Key("host.type") ) -var ( - // AMD64 - HostArchAMD64 = HostArchKey.String("amd64") - // ARM32 - HostArchARM32 = HostArchKey.String("arm32") - // ARM64 - HostArchARM64 = HostArchKey.String("arm64") - // Itanium - HostArchIA64 = HostArchKey.String("ia64") - // 32-bit PowerPC - HostArchPPC32 = HostArchKey.String("ppc32") - // 64-bit PowerPC - HostArchPPC64 = HostArchKey.String("ppc64") - // IBM z/Architecture - HostArchS390x = HostArchKey.String("s390x") - // 32-bit x86 - HostArchX86 = HostArchKey.String("x86") -) +// HostArch returns an attribute KeyValue conforming to the "host.arch" +// semantic conventions. It represents the CPU architecture the host system is +// running on +func HostArch(val string) attribute.KeyValue { + return HostArchKey.String(val) +} // HostCPUCacheL2Size returns an attribute KeyValue conforming to the // "host.cpu.cache.l2.size" semantic conventions. It represents the amount of -// level 2 memory cache available to the processor (in Bytes). +// level 2 memory cache available to the processor (in Bytes) func HostCPUCacheL2Size(val int) attribute.KeyValue { return HostCPUCacheL2SizeKey.Int(val) } // HostCPUFamily returns an attribute KeyValue conforming to the // "host.cpu.family" semantic conventions. It represents the family or -// generation of the CPU. +// generation of the CPU func HostCPUFamily(val string) attribute.KeyValue { return HostCPUFamilyKey.String(val) } @@ -4570,28 +6509,28 @@ func HostCPUFamily(val string) attribute.KeyValue { // HostCPUModelID returns an attribute KeyValue conforming to the // "host.cpu.model.id" semantic conventions. It represents the model // identifier. It provides more granular information about the CPU, -// distinguishing it from other CPUs within the same family. +// distinguishing it from other CPUs within the same family func HostCPUModelID(val string) attribute.KeyValue { return HostCPUModelIDKey.String(val) } // HostCPUModelName returns an attribute KeyValue conforming to the // "host.cpu.model.name" semantic conventions. It represents the model -// designation of the processor. +// designation of the processor func HostCPUModelName(val string) attribute.KeyValue { return HostCPUModelNameKey.String(val) } // HostCPUStepping returns an attribute KeyValue conforming to the // "host.cpu.stepping" semantic conventions. It represents the stepping or core -// revisions. +// revisions func HostCPUStepping(val string) attribute.KeyValue { return HostCPUSteppingKey.String(val) } // HostCPUVendorID returns an attribute KeyValue conforming to the // "host.cpu.vendor.id" semantic conventions. It represents the processor -// manufacturer identifier. A maximum 12-character string. +// manufacturer identifier. A maximum 12-character string func HostCPUVendorID(val string) attribute.KeyValue { return HostCPUVendorIDKey.String(val) } @@ -4600,43 +6539,44 @@ func HostCPUVendorID(val string) attribute.KeyValue { // conventions. It represents the unique host ID. For Cloud, this must be the // instance_id assigned by the cloud provider. For non-containerized systems, // this should be the `machine-id`. See the table below for the sources to use -// to determine the `machine-id` based on operating system. +// to determine the `machine-id` based on operating system func HostID(val string) attribute.KeyValue { return HostIDKey.String(val) } -// HostImageID returns an attribute KeyValue conforming to the -// "host.image.id" semantic conventions. It represents the vM image ID or host -// OS image ID. For Cloud, this value is from the provider. +// HostImageID returns an attribute KeyValue conforming to the "host.image.id" +// semantic conventions. It represents the vM image ID or host OS image ID. For +// Cloud, this value is from the provider func HostImageID(val string) attribute.KeyValue { return HostImageIDKey.String(val) } // HostImageName returns an attribute KeyValue conforming to the // "host.image.name" semantic conventions. It represents the name of the VM -// image or OS install the host was instantiated from. +// image or OS install the host was instantiated from func HostImageName(val string) attribute.KeyValue { return HostImageNameKey.String(val) } // HostImageVersion returns an attribute KeyValue conforming to the // "host.image.version" semantic conventions. It represents the version string -// of the VM image or host OS as defined in [Version -// Attributes](/docs/resource/README.md#version-attributes). +// of the VM image or host OS as defined in [Version Attributes] +// +// [Version Attributes]: /docs/resource/README.md#version-attributes func HostImageVersion(val string) attribute.KeyValue { return HostImageVersionKey.String(val) } // HostIP returns an attribute KeyValue conforming to the "host.ip" semantic // conventions. It represents the available IP addresses of the host, excluding -// loopback interfaces. +// loopback interfaces func HostIP(val ...string) attribute.KeyValue { return HostIPKey.StringSlice(val) } -// HostMac returns an attribute KeyValue conforming to the "host.mac" -// semantic conventions. It represents the available MAC addresses of the host, -// excluding loopback interfaces. +// HostMac returns an attribute KeyValue conforming to the "host.mac" semantic +// conventions. It represents the available MAC addresses of the host, +// excluding loopback interfaces func HostMac(val ...string) attribute.KeyValue { return HostMacKey.StringSlice(val) } @@ -4644,222 +6584,237 @@ func HostMac(val ...string) attribute.KeyValue { // HostName returns an attribute KeyValue conforming to the "host.name" // semantic conventions. It represents the name of the host. On Unix systems, // it may contain what the hostname command returns, or the fully qualified -// hostname, or another name specified by the user. +// hostname, or another name specified by the user func HostName(val string) attribute.KeyValue { return HostNameKey.String(val) } // HostType returns an attribute KeyValue conforming to the "host.type" // semantic conventions. It represents the type of host. For Cloud, this must -// be the machine type. +// be the machine type func HostType(val string) attribute.KeyValue { return HostTypeKey.String(val) } -// Semantic convention attributes in the HTTP namespace. +// Enum values for host.arch +var ( + // AMD64 + // Stability: development + HostArchAMD64 = HostArchKey.String("amd64") + // ARM32 + // Stability: development + HostArchARM32 = HostArchKey.String("arm32") + // ARM64 + // Stability: development + HostArchARM64 = HostArchKey.String("arm64") + // Itanium + // Stability: development + HostArchIA64 = HostArchKey.String("ia64") + // 32-bit PowerPC + // Stability: development + HostArchPPC32 = HostArchKey.String("ppc32") + // 64-bit PowerPC + // Stability: development + HostArchPPC64 = HostArchKey.String("ppc64") + // IBM z/Architecture + // Stability: development + HostArchS390x = HostArchKey.String("s390x") + // 32-bit x86 + // Stability: development + HostArchX86 = HostArchKey.String("x86") +) + +// Namespace: http const ( // HTTPConnectionStateKey is the attribute Key conforming to the // "http.connection.state" semantic conventions. It represents the state of // the HTTP connection in the HTTP connection pool. - // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'active', 'idle' + // + // Examples: + // "active", + // "idle", HTTPConnectionStateKey = attribute.Key("http.connection.state") // HTTPRequestBodySizeKey is the attribute Key conforming to the // "http.request.body.size" semantic conventions. It represents the size of - // the request payload body in bytes. This is the number of bytes - // transferred excluding headers and is often, but not always, present as - // the - // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) - // header. For requests using transport encoding, this should be the - // compressed size. + // the request payload body in bytes. This is the number of bytes transferred + // excluding headers and is often, but not always, present as the + // [Content-Length] header. For requests using transport encoding, this should + // be the compressed size. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 3495 + // + // [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length HTTPRequestBodySizeKey = attribute.Key("http.request.body.size") // HTTPRequestMethodKey is the attribute Key conforming to the - // "http.request.method" semantic conventions. It represents the hTTP - // request method. - // + // "http.request.method" semantic conventions. It represents the hTTP request + // method. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'GET', 'POST', 'HEAD' - // Note: HTTP request method value SHOULD be "known" to the - // instrumentation. - // By default, this convention defines "known" methods as the ones listed - // in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods) - // and the PATCH method defined in - // [RFC5789](https://www.rfc-editor.org/rfc/rfc5789.html). // - // If the HTTP request method is not known to instrumentation, it MUST set - // the `http.request.method` attribute to `_OTHER`. + // Examples: + // "GET", + // "POST", + // "HEAD", + // + // Note: HTTP request method value SHOULD be "known" to the instrumentation. + // By default, this convention defines "known" methods as the ones listed in + // [RFC9110] + // and the PATCH method defined in [RFC5789]. + // + // If the HTTP request method is not known to instrumentation, it MUST set the + // `http.request.method` attribute to `_OTHER`. // // If the HTTP instrumentation could end up converting valid HTTP request // methods to `_OTHER`, then it MUST provide a way to override // the list of known HTTP methods. If this override is done via environment // variable, then the environment variable MUST be named - // OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated - // list of case-sensitive known HTTP methods - // (this list MUST be a full override of the default known method, it is - // not a list of known methods in addition to the defaults). + // OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list + // of case-sensitive known HTTP methods + // (this list MUST be a full override of the default known method, it is not a + // list of known methods in addition to the defaults). // // HTTP method names are case-sensitive and `http.request.method` attribute // value MUST match a known HTTP method name exactly. - // Instrumentations for specific web frameworks that consider HTTP methods - // to be case insensitive, SHOULD populate a canonical equivalent. + // Instrumentations for specific web frameworks that consider HTTP methods to + // be case insensitive, SHOULD populate a canonical equivalent. // Tracing instrumentations that do so, MUST also set - // `http.request.method_original` to the original value. + // `http.request.method_original` to the original value + // + // [RFC9110]: https://www.rfc-editor.org/rfc/rfc9110.html#name-methods + // [RFC5789]: https://www.rfc-editor.org/rfc/rfc5789.html HTTPRequestMethodKey = attribute.Key("http.request.method") // HTTPRequestMethodOriginalKey is the attribute Key conforming to the // "http.request.method_original" semantic conventions. It represents the // original HTTP method sent by the client in the request line. - // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'GeT', 'ACL', 'foo' + // + // Examples: + // "GeT", + // "ACL", + // "foo", HTTPRequestMethodOriginalKey = attribute.Key("http.request.method_original") // HTTPRequestResendCountKey is the attribute Key conforming to the - // "http.request.resend_count" semantic conventions. It represents the - // ordinal number of request resending attempt (for any reason, including - // redirects). + // "http.request.resend_count" semantic conventions. It represents the ordinal + // number of request resending attempt (for any reason, including redirects). // + // Stability: Stable // Type: int - // RequirementLevel: Optional - // Stability: stable - // Examples: 3 + // // Note: The resend count SHOULD be updated each time an HTTP request gets // resent by the client, regardless of what was the cause of the resending - // (e.g. redirection, authorization failure, 503 Server Unavailable, - // network issues, or any other). + // (e.g. redirection, authorization failure, 503 Server Unavailable, network + // issues, or any other) HTTPRequestResendCountKey = attribute.Key("http.request.resend_count") // HTTPRequestSizeKey is the attribute Key conforming to the - // "http.request.size" semantic conventions. It represents the total size - // of the request in bytes. This should be the total number of bytes sent - // over the wire, including the request line (HTTP/1.1), framing (HTTP/2 - // and HTTP/3), headers, and request body if any. + // "http.request.size" semantic conventions. It represents the total size of + // the request in bytes. This should be the total number of bytes sent over + // the wire, including the request line (HTTP/1.1), framing (HTTP/2 and + // HTTP/3), headers, and request body if any. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1437 HTTPRequestSizeKey = attribute.Key("http.request.size") // HTTPResponseBodySizeKey is the attribute Key conforming to the - // "http.response.body.size" semantic conventions. It represents the size - // of the response payload body in bytes. This is the number of bytes - // transferred excluding headers and is often, but not always, present as - // the - // [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) - // header. For requests using transport encoding, this should be the - // compressed size. + // "http.response.body.size" semantic conventions. It represents the size of + // the response payload body in bytes. This is the number of bytes transferred + // excluding headers and is often, but not always, present as the + // [Content-Length] header. For requests using transport encoding, this should + // be the compressed size. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 3495 + // + // [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length HTTPResponseBodySizeKey = attribute.Key("http.response.body.size") // HTTPResponseSizeKey is the attribute Key conforming to the - // "http.response.size" semantic conventions. It represents the total size - // of the response in bytes. This should be the total number of bytes sent - // over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and + // "http.response.size" semantic conventions. It represents the total size of + // the response in bytes. This should be the total number of bytes sent over + // the wire, including the status line (HTTP/1.1), framing (HTTP/2 and // HTTP/3), headers, and response body and trailers if any. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1437 HTTPResponseSizeKey = attribute.Key("http.response.size") // HTTPResponseStatusCodeKey is the attribute Key conforming to the // "http.response.status_code" semantic conventions. It represents the - // [HTTP response status - // code](https://tools.ietf.org/html/rfc7231#section-6). - // + // [HTTP response status code]. + // Stability: Stable // Type: int - // RequirementLevel: Optional - // Stability: stable - // Examples: 200 + // + // Examples: + // 200, + // + // [HTTP response status code]: https://tools.ietf.org/html/rfc7231#section-6 HTTPResponseStatusCodeKey = attribute.Key("http.response.status_code") - // HTTPRouteKey is the attribute Key conforming to the "http.route" - // semantic conventions. It represents the matched route, that is, the path - // template in the format used by the respective server framework. + // HTTPRouteKey is the attribute Key conforming to the "http.route" semantic + // conventions. It represents the matched route, that is, the path template in + // the format used by the respective server framework. // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '/users/:userID?', '{controller}/{action}/{id?}' - // Note: MUST NOT be populated when this is not supported by the HTTP - // server framework as the route attribute should have low-cardinality and - // the URI path can NOT substitute it. - // SHOULD include the [application - // root](/docs/http/http-spans.md#http-server-definitions) if there is one. - HTTPRouteKey = attribute.Key("http.route") -) - -var ( - // active state - HTTPConnectionStateActive = HTTPConnectionStateKey.String("active") - // idle state - HTTPConnectionStateIdle = HTTPConnectionStateKey.String("idle") -) - -var ( - // CONNECT method - HTTPRequestMethodConnect = HTTPRequestMethodKey.String("CONNECT") - // DELETE method - HTTPRequestMethodDelete = HTTPRequestMethodKey.String("DELETE") - // GET method - HTTPRequestMethodGet = HTTPRequestMethodKey.String("GET") - // HEAD method - HTTPRequestMethodHead = HTTPRequestMethodKey.String("HEAD") - // OPTIONS method - HTTPRequestMethodOptions = HTTPRequestMethodKey.String("OPTIONS") - // PATCH method - HTTPRequestMethodPatch = HTTPRequestMethodKey.String("PATCH") - // POST method - HTTPRequestMethodPost = HTTPRequestMethodKey.String("POST") - // PUT method - HTTPRequestMethodPut = HTTPRequestMethodKey.String("PUT") - // TRACE method - HTTPRequestMethodTrace = HTTPRequestMethodKey.String("TRACE") - // Any HTTP method that the instrumentation has no prior knowledge of - HTTPRequestMethodOther = HTTPRequestMethodKey.String("_OTHER") + // + // Examples: + // "/users/:userID?", + // "{controller}/{action}/{id?}", + // + // Note: MUST NOT be populated when this is not supported by the HTTP server + // framework as the route attribute should have low-cardinality and the URI + // path can NOT substitute it. + // SHOULD include the [application root] if there is one + // + // [application root]: /docs/http/http-spans.md#http-server-definitions + HTTPRouteKey = attribute.Key("http.route") ) +// HTTPConnectionState returns an attribute KeyValue conforming to the +// "http.connection.state" semantic conventions. It represents the state of the +// HTTP connection in the HTTP connection pool +func HTTPConnectionState(val string) attribute.KeyValue { + return HTTPConnectionStateKey.String(val) +} + // HTTPRequestBodySize returns an attribute KeyValue conforming to the // "http.request.body.size" semantic conventions. It represents the size of the // request payload body in bytes. This is the number of bytes transferred // excluding headers and is often, but not always, present as the -// [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) -// header. For requests using transport encoding, this should be the compressed -// size. +// [Content-Length] header. For requests using transport encoding, this should +// be the compressed size +// +// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length func HTTPRequestBodySize(val int) attribute.KeyValue { return HTTPRequestBodySizeKey.Int(val) } +// HTTPRequestMethod returns an attribute KeyValue conforming to the +// "http.request.method" semantic conventions. It represents the hTTP request +// method +func HTTPRequestMethod(val string) attribute.KeyValue { + return HTTPRequestMethodKey.String(val) +} + // HTTPRequestMethodOriginal returns an attribute KeyValue conforming to the // "http.request.method_original" semantic conventions. It represents the -// original HTTP method sent by the client in the request line. +// original HTTP method sent by the client in the request line func HTTPRequestMethodOriginal(val string) attribute.KeyValue { return HTTPRequestMethodOriginalKey.String(val) } // HTTPRequestResendCount returns an attribute KeyValue conforming to the // "http.request.resend_count" semantic conventions. It represents the ordinal -// number of request resending attempt (for any reason, including redirects). +// number of request resending attempt (for any reason, including redirects) func HTTPRequestResendCount(val int) attribute.KeyValue { return HTTPRequestResendCountKey.Int(val) } @@ -4868,7 +6823,7 @@ func HTTPRequestResendCount(val int) attribute.KeyValue { // "http.request.size" semantic conventions. It represents the total size of // the request in bytes. This should be the total number of bytes sent over the // wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), -// headers, and request body if any. +// headers, and request body if any func HTTPRequestSize(val int) attribute.KeyValue { return HTTPRequestSizeKey.Int(val) } @@ -4877,9 +6832,10 @@ func HTTPRequestSize(val int) attribute.KeyValue { // "http.response.body.size" semantic conventions. It represents the size of // the response payload body in bytes. This is the number of bytes transferred // excluding headers and is often, but not always, present as the -// [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) -// header. For requests using transport encoding, this should be the compressed -// size. +// [Content-Length] header. For requests using transport encoding, this should +// be the compressed size +// +// [Content-Length]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length func HTTPResponseBodySize(val int) attribute.KeyValue { return HTTPResponseBodySizeKey.Int(val) } @@ -4888,204 +6844,442 @@ func HTTPResponseBodySize(val int) attribute.KeyValue { // "http.response.size" semantic conventions. It represents the total size of // the response in bytes. This should be the total number of bytes sent over // the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), -// headers, and response body and trailers if any. +// headers, and response body and trailers if any func HTTPResponseSize(val int) attribute.KeyValue { return HTTPResponseSizeKey.Int(val) } // HTTPResponseStatusCode returns an attribute KeyValue conforming to the -// "http.response.status_code" semantic conventions. It represents the [HTTP -// response status code](https://tools.ietf.org/html/rfc7231#section-6). +// "http.response.status_code" semantic conventions. It represents the +// [HTTP response status code] +// +// [HTTP response status code]: https://tools.ietf.org/html/rfc7231#section-6 func HTTPResponseStatusCode(val int) attribute.KeyValue { return HTTPResponseStatusCodeKey.Int(val) } // HTTPRoute returns an attribute KeyValue conforming to the "http.route" // semantic conventions. It represents the matched route, that is, the path -// template in the format used by the respective server framework. +// template in the format used by the respective server framework func HTTPRoute(val string) attribute.KeyValue { return HTTPRouteKey.String(val) } -// Java Virtual machine related attributes. +// Enum values for http.connection.state +var ( + // active state. + // Stability: development + HTTPConnectionStateActive = HTTPConnectionStateKey.String("active") + // idle state. + // Stability: development + HTTPConnectionStateIdle = HTTPConnectionStateKey.String("idle") +) + +// Enum values for http.request.method +var ( + // CONNECT method. + // Stability: stable + HTTPRequestMethodConnect = HTTPRequestMethodKey.String("CONNECT") + // DELETE method. + // Stability: stable + HTTPRequestMethodDelete = HTTPRequestMethodKey.String("DELETE") + // GET method. + // Stability: stable + HTTPRequestMethodGet = HTTPRequestMethodKey.String("GET") + // HEAD method. + // Stability: stable + HTTPRequestMethodHead = HTTPRequestMethodKey.String("HEAD") + // OPTIONS method. + // Stability: stable + HTTPRequestMethodOptions = HTTPRequestMethodKey.String("OPTIONS") + // PATCH method. + // Stability: stable + HTTPRequestMethodPatch = HTTPRequestMethodKey.String("PATCH") + // POST method. + // Stability: stable + HTTPRequestMethodPost = HTTPRequestMethodKey.String("POST") + // PUT method. + // Stability: stable + HTTPRequestMethodPut = HTTPRequestMethodKey.String("PUT") + // TRACE method. + // Stability: stable + HTTPRequestMethodTrace = HTTPRequestMethodKey.String("TRACE") + // Any HTTP method that the instrumentation has no prior knowledge of. + // Stability: stable + HTTPRequestMethodOther = HTTPRequestMethodKey.String("_OTHER") +) + +// Namespace: hw const ( - // JVMBufferPoolNameKey is the attribute Key conforming to the - // "jvm.buffer.pool.name" semantic conventions. It represents the name of - // the buffer pool. + // HwIDKey is the attribute Key conforming to the "hw.id" semantic + // conventions. It represents an identifier for the hardware component, unique + // within the monitored host + // + // Stability: Development + // Type: string + // + // Examples: + // "win32battery_battery_testsysa33_1", + HwIDKey = attribute.Key("hw.id") + + // HwNameKey is the attribute Key conforming to the "hw.name" semantic + // conventions. It represents an easily-recognizable name for the hardware + // component + // + // Stability: Development + // Type: string + // + // Examples: + // "eth0", + HwNameKey = attribute.Key("hw.name") + + // HwParentKey is the attribute Key conforming to the "hw.parent" semantic + // conventions. It represents the unique identifier of the parent component + // (typically the `hw.id` attribute of the enclosure, or disk controller) + // + // Stability: Development + // Type: string + // + // Examples: + // "dellStorage_perc_0", + HwParentKey = attribute.Key("hw.parent") + + // HwStateKey is the attribute Key conforming to the "hw.state" semantic + // conventions. It represents the current state of the component + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + HwStateKey = attribute.Key("hw.state") + + // HwTypeKey is the attribute Key conforming to the "hw.type" semantic + // conventions. It represents the type of the component // + // Stability: Development + // Type: Enum + // + // Examples: undefined + // Note: Describes the category of the hardware component for which `hw.state` + // is being reported. For example, `hw.type=temperature` along with + // `hw.state=degraded` would indicate that the temperature of the hardware + // component has been reported as `degraded` + HwTypeKey = attribute.Key("hw.type") +) + +// HwID returns an attribute KeyValue conforming to the "hw.id" semantic +// conventions. It represents an identifier for the hardware component, unique +// within the monitored host +func HwID(val string) attribute.KeyValue { + return HwIDKey.String(val) +} + +// HwName returns an attribute KeyValue conforming to the "hw.name" semantic +// conventions. It represents an easily-recognizable name for the hardware +// component +func HwName(val string) attribute.KeyValue { + return HwNameKey.String(val) +} + +// HwParent returns an attribute KeyValue conforming to the "hw.parent" +// semantic conventions. It represents the unique identifier of the parent +// component (typically the `hw.id` attribute of the enclosure, or disk +// controller) +func HwParent(val string) attribute.KeyValue { + return HwParentKey.String(val) +} + +// HwState returns an attribute KeyValue conforming to the "hw.state" semantic +// conventions. It represents the current state of the component +func HwState(val string) attribute.KeyValue { + return HwStateKey.String(val) +} + +// HwType returns an attribute KeyValue conforming to the "hw.type" semantic +// conventions. It represents the type of the component +func HwType(val string) attribute.KeyValue { + return HwTypeKey.String(val) +} + +// Enum values for hw.state +var ( + // Ok + // Stability: development + HwStateOk = HwStateKey.String("ok") + // Degraded + // Stability: development + HwStateDegraded = HwStateKey.String("degraded") + // Failed + // Stability: development + HwStateFailed = HwStateKey.String("failed") +) + +// Enum values for hw.type +var ( + // Battery + // Stability: development + HwTypeBattery = HwTypeKey.String("battery") + // CPU + // Stability: development + HwTypeCPU = HwTypeKey.String("cpu") + // Disk controller + // Stability: development + HwTypeDiskController = HwTypeKey.String("disk_controller") + // Enclosure + // Stability: development + HwTypeEnclosure = HwTypeKey.String("enclosure") + // Fan + // Stability: development + HwTypeFan = HwTypeKey.String("fan") + // GPU + // Stability: development + HwTypeGpu = HwTypeKey.String("gpu") + // Logical disk + // Stability: development + HwTypeLogicalDisk = HwTypeKey.String("logical_disk") + // Memory + // Stability: development + HwTypeMemory = HwTypeKey.String("memory") + // Network + // Stability: development + HwTypeNetwork = HwTypeKey.String("network") + // Physical disk + // Stability: development + HwTypePhysicalDisk = HwTypeKey.String("physical_disk") + // Power supply + // Stability: development + HwTypePowerSupply = HwTypeKey.String("power_supply") + // Tape drive + // Stability: development + HwTypeTapeDrive = HwTypeKey.String("tape_drive") + // Temperature + // Stability: development + HwTypeTemperature = HwTypeKey.String("temperature") + // Voltage + // Stability: development + HwTypeVoltage = HwTypeKey.String("voltage") +) + +// Namespace: jvm +const ( + // JVMBufferPoolNameKey is the attribute Key conforming to the + // "jvm.buffer.pool.name" semantic conventions. It represents the name of the + // buffer pool. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'mapped', 'direct' - // Note: Pool names are generally obtained via - // [BufferPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName()). + // + // Examples: + // "mapped", + // "direct", + // + // Note: Pool names are generally obtained via [BufferPoolMXBean#getName()] + // + // [BufferPoolMXBean#getName()]: https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName() JVMBufferPoolNameKey = attribute.Key("jvm.buffer.pool.name") // JVMGCActionKey is the attribute Key conforming to the "jvm.gc.action" // semantic conventions. It represents the name of the garbage collector // action. - // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'end of minor GC', 'end of major GC' + // + // Examples: + // "end of minor GC", + // "end of major GC", + // // Note: Garbage collector action is generally obtained via - // [GarbageCollectionNotificationInfo#getGCAction()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGCAction()). + // [GarbageCollectionNotificationInfo#getGcAction()] + // + // [GarbageCollectionNotificationInfo#getGcAction()]: https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction() JVMGCActionKey = attribute.Key("jvm.gc.action") - // JVMGCNameKey is the attribute Key conforming to the "jvm.gc.name" - // semantic conventions. It represents the name of the garbage collector. - // + // JVMGCNameKey is the attribute Key conforming to the "jvm.gc.name" semantic + // conventions. It represents the name of the garbage collector. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'G1 Young Generation', 'G1 Old Generation' + // + // Examples: + // "G1 Young Generation", + // "G1 Old Generation", + // // Note: Garbage collector name is generally obtained via - // [GarbageCollectionNotificationInfo#getGCName()](https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGCName()). + // [GarbageCollectionNotificationInfo#getGcName()] + // + // [GarbageCollectionNotificationInfo#getGcName()]: https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName() JVMGCNameKey = attribute.Key("jvm.gc.name") // JVMMemoryPoolNameKey is the attribute Key conforming to the - // "jvm.memory.pool.name" semantic conventions. It represents the name of - // the memory pool. - // + // "jvm.memory.pool.name" semantic conventions. It represents the name of the + // memory pool. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'G1 Old Gen', 'G1 Eden space', 'G1 Survivor Space' - // Note: Pool names are generally obtained via - // [MemoryPoolMXBean#getName()](https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()). + // + // Examples: + // "G1 Old Gen", + // "G1 Eden space", + // "G1 Survivor Space", + // + // Note: Pool names are generally obtained via [MemoryPoolMXBean#getName()] + // + // [MemoryPoolMXBean#getName()]: https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName() JVMMemoryPoolNameKey = attribute.Key("jvm.memory.pool.name") - // JVMMemoryTypeKey is the attribute Key conforming to the - // "jvm.memory.type" semantic conventions. It represents the type of - // memory. - // + // JVMMemoryTypeKey is the attribute Key conforming to the "jvm.memory.type" + // semantic conventions. It represents the type of memory. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'heap', 'non_heap' + // + // Examples: + // "heap", + // "non_heap", JVMMemoryTypeKey = attribute.Key("jvm.memory.type") // JVMThreadDaemonKey is the attribute Key conforming to the // "jvm.thread.daemon" semantic conventions. It represents the whether the // thread is daemon or not. - // + // Stability: Stable // Type: boolean - // RequirementLevel: Optional - // Stability: stable + // + // Examples: undefined JVMThreadDaemonKey = attribute.Key("jvm.thread.daemon") - // JVMThreadStateKey is the attribute Key conforming to the - // "jvm.thread.state" semantic conventions. It represents the state of the - // thread. - // + // JVMThreadStateKey is the attribute Key conforming to the "jvm.thread.state" + // semantic conventions. It represents the state of the thread. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'runnable', 'blocked' + // + // Examples: + // "runnable", + // "blocked", JVMThreadStateKey = attribute.Key("jvm.thread.state") ) -var ( - // Heap memory - JVMMemoryTypeHeap = JVMMemoryTypeKey.String("heap") - // Non-heap memory - JVMMemoryTypeNonHeap = JVMMemoryTypeKey.String("non_heap") -) - -var ( - // A thread that has not yet started is in this state - JVMThreadStateNew = JVMThreadStateKey.String("new") - // A thread executing in the Java virtual machine is in this state - JVMThreadStateRunnable = JVMThreadStateKey.String("runnable") - // A thread that is blocked waiting for a monitor lock is in this state - JVMThreadStateBlocked = JVMThreadStateKey.String("blocked") - // A thread that is waiting indefinitely for another thread to perform a particular action is in this state - JVMThreadStateWaiting = JVMThreadStateKey.String("waiting") - // A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state - JVMThreadStateTimedWaiting = JVMThreadStateKey.String("timed_waiting") - // A thread that has exited is in this state - JVMThreadStateTerminated = JVMThreadStateKey.String("terminated") -) - // JVMBufferPoolName returns an attribute KeyValue conforming to the // "jvm.buffer.pool.name" semantic conventions. It represents the name of the -// buffer pool. +// buffer pool func JVMBufferPoolName(val string) attribute.KeyValue { return JVMBufferPoolNameKey.String(val) } -// JVMGCAction returns an attribute KeyValue conforming to the -// "jvm.gc.action" semantic conventions. It represents the name of the garbage -// collector action. +// JVMGCAction returns an attribute KeyValue conforming to the "jvm.gc.action" +// semantic conventions. It represents the name of the garbage collector action func JVMGCAction(val string) attribute.KeyValue { return JVMGCActionKey.String(val) } // JVMGCName returns an attribute KeyValue conforming to the "jvm.gc.name" -// semantic conventions. It represents the name of the garbage collector. +// semantic conventions. It represents the name of the garbage collector func JVMGCName(val string) attribute.KeyValue { return JVMGCNameKey.String(val) } // JVMMemoryPoolName returns an attribute KeyValue conforming to the // "jvm.memory.pool.name" semantic conventions. It represents the name of the -// memory pool. +// memory pool func JVMMemoryPoolName(val string) attribute.KeyValue { return JVMMemoryPoolNameKey.String(val) } +// JVMMemoryType returns an attribute KeyValue conforming to the +// "jvm.memory.type" semantic conventions. It represents the type of memory +func JVMMemoryType(val string) attribute.KeyValue { + return JVMMemoryTypeKey.String(val) +} + // JVMThreadDaemon returns an attribute KeyValue conforming to the // "jvm.thread.daemon" semantic conventions. It represents the whether the -// thread is daemon or not. +// thread is daemon or not func JVMThreadDaemon(val bool) attribute.KeyValue { return JVMThreadDaemonKey.Bool(val) } -// Kubernetes resource attributes. +// JVMThreadState returns an attribute KeyValue conforming to the +// "jvm.thread.state" semantic conventions. It represents the state of the +// thread +func JVMThreadState(val string) attribute.KeyValue { + return JVMThreadStateKey.String(val) +} + +// Enum values for jvm.memory.type +var ( + // Heap memory. + // Stability: stable + JVMMemoryTypeHeap = JVMMemoryTypeKey.String("heap") + // Non-heap memory + // Stability: stable + JVMMemoryTypeNonHeap = JVMMemoryTypeKey.String("non_heap") +) + +// Enum values for jvm.thread.state +var ( + // A thread that has not yet started is in this state. + // Stability: stable + JVMThreadStateNew = JVMThreadStateKey.String("new") + // A thread executing in the Java virtual machine is in this state. + // Stability: stable + JVMThreadStateRunnable = JVMThreadStateKey.String("runnable") + // A thread that is blocked waiting for a monitor lock is in this state. + // Stability: stable + JVMThreadStateBlocked = JVMThreadStateKey.String("blocked") + // A thread that is waiting indefinitely for another thread to perform a + // particular action is in this state. + // Stability: stable + JVMThreadStateWaiting = JVMThreadStateKey.String("waiting") + // A thread that is waiting for another thread to perform an action for up to + // a specified waiting time is in this state. + // Stability: stable + JVMThreadStateTimedWaiting = JVMThreadStateKey.String("timed_waiting") + // A thread that has exited is in this state. + // Stability: stable + JVMThreadStateTerminated = JVMThreadStateKey.String("terminated") +) + +// Namespace: k8s const ( - // K8SClusterNameKey is the attribute Key conforming to the - // "k8s.cluster.name" semantic conventions. It represents the name of the - // cluster. + // K8SClusterNameKey is the attribute Key conforming to the "k8s.cluster.name" + // semantic conventions. It represents the name of the cluster. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry-cluster' + // + // Examples: + // "opentelemetry-cluster", K8SClusterNameKey = attribute.Key("k8s.cluster.name") - // K8SClusterUIDKey is the attribute Key conforming to the - // "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for - // the cluster, set to the UID of the `kube-system` namespace. + // K8SClusterUIDKey is the attribute Key conforming to the "k8s.cluster.uid" + // semantic conventions. It represents a pseudo-ID for the cluster, set to the + // UID of the `kube-system` namespace. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '218fc5a9-a5f1-4b54-aa05-46717d0ab26d' - // Note: K8S doesn't have support for obtaining a cluster ID. If this is - // ever + // + // Examples: + // "218fc5a9-a5f1-4b54-aa05-46717d0ab26d", + // + // Note: K8s doesn't have support for obtaining a cluster ID. If this is ever // added, we will recommend collecting the `k8s.cluster.uid` through the // official APIs. In the meantime, we are able to use the `uid` of the // `kube-system` namespace as a proxy for cluster ID. Read on for the // rationale. // - // Every object created in a K8S cluster is assigned a distinct UID. The + // Every object created in a K8s cluster is assigned a distinct UID. The // `kube-system` namespace is used by Kubernetes itself and will exist // for the lifetime of the cluster. Using the `uid` of the `kube-system` - // namespace is a reasonable proxy for the K8S ClusterID as it will only + // namespace is a reasonable proxy for the K8s ClusterID as it will only // change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are // UUIDs as standardized by - // [ISO/IEC 9834-8 and ITU-T - // X.667](https://www.itu.int/ITU-T/studygroups/com17/oid.html). + // [ISO/IEC 9834-8 and ITU-T X.667]. // Which states: // // > If generated according to one of the mechanisms defined in Rec. - // ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be - // different from all other UUIDs generated before 3603 A.D., or is - // extremely likely to be different (depending on the mechanism chosen). + // > ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be + // > different from all other UUIDs generated before 3603 A.D., or is + // > extremely likely to be different (depending on the mechanism chosen). // // Therefore, UIDs between clusters should be extremely unlikely to - // conflict. + // conflict + // + // [ISO/IEC 9834-8 and ITU-T X.667]: https://www.itu.int/ITU-T/studygroups/com17/oid.html K8SClusterUIDKey = attribute.Key("k8s.cluster.uid") // K8SContainerNameKey is the attribute Key conforming to the @@ -5093,208 +7287,265 @@ const ( // Container from Pod specification, must be unique within a Pod. Container // runtime usually uses different globally unique name (`container.name`). // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'redis' + // + // Examples: + // "redis", K8SContainerNameKey = attribute.Key("k8s.container.name") // K8SContainerRestartCountKey is the attribute Key conforming to the // "k8s.container.restart_count" semantic conventions. It represents the - // number of times the container was restarted. This attribute can be used - // to identify a particular container (running or stopped) within a - // container spec. + // number of times the container was restarted. This attribute can be used to + // identify a particular container (running or stopped) within a container + // spec. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count") - // K8SContainerStatusLastTerminatedReasonKey is the attribute Key - // conforming to the "k8s.container.status.last_terminated_reason" semantic - // conventions. It represents the last terminated reason of the Container. + // K8SContainerStatusLastTerminatedReasonKey is the attribute Key conforming + // to the "k8s.container.status.last_terminated_reason" semantic conventions. + // It represents the last terminated reason of the Container. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Evicted', 'Error' + // + // Examples: + // "Evicted", + // "Error", K8SContainerStatusLastTerminatedReasonKey = attribute.Key("k8s.container.status.last_terminated_reason") - // K8SCronJobNameKey is the attribute Key conforming to the - // "k8s.cronjob.name" semantic conventions. It represents the name of the - // CronJob. + // K8SCronJobNameKey is the attribute Key conforming to the "k8s.cronjob.name" + // semantic conventions. It represents the name of the CronJob. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry' + // + // Examples: + // "opentelemetry", K8SCronJobNameKey = attribute.Key("k8s.cronjob.name") - // K8SCronJobUIDKey is the attribute Key conforming to the - // "k8s.cronjob.uid" semantic conventions. It represents the UID of the - // CronJob. + // K8SCronJobUIDKey is the attribute Key conforming to the "k8s.cronjob.uid" + // semantic conventions. It represents the UID of the CronJob. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid") // K8SDaemonSetNameKey is the attribute Key conforming to the // "k8s.daemonset.name" semantic conventions. It represents the name of the // DaemonSet. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry' + // + // Examples: + // "opentelemetry", K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name") // K8SDaemonSetUIDKey is the attribute Key conforming to the // "k8s.daemonset.uid" semantic conventions. It represents the UID of the // DaemonSet. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid") // K8SDeploymentNameKey is the attribute Key conforming to the - // "k8s.deployment.name" semantic conventions. It represents the name of - // the Deployment. + // "k8s.deployment.name" semantic conventions. It represents the name of the + // Deployment. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry' + // + // Examples: + // "opentelemetry", K8SDeploymentNameKey = attribute.Key("k8s.deployment.name") // K8SDeploymentUIDKey is the attribute Key conforming to the // "k8s.deployment.uid" semantic conventions. It represents the UID of the // Deployment. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") // K8SJobNameKey is the attribute Key conforming to the "k8s.job.name" // semantic conventions. It represents the name of the Job. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry' + // + // Examples: + // "opentelemetry", K8SJobNameKey = attribute.Key("k8s.job.name") - // K8SJobUIDKey is the attribute Key conforming to the "k8s.job.uid" - // semantic conventions. It represents the UID of the Job. + // K8SJobUIDKey is the attribute Key conforming to the "k8s.job.uid" semantic + // conventions. It represents the UID of the Job. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SJobUIDKey = attribute.Key("k8s.job.uid") // K8SNamespaceNameKey is the attribute Key conforming to the // "k8s.namespace.name" semantic conventions. It represents the name of the // namespace that the pod is running in. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'default' + // + // Examples: + // "default", K8SNamespaceNameKey = attribute.Key("k8s.namespace.name") + // K8SNamespacePhaseKey is the attribute Key conforming to the + // "k8s.namespace.phase" semantic conventions. It represents the phase of the + // K8s namespace. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "active", + // "terminating", + // + // Note: This attribute aligns with the `phase` field of the + // [K8s NamespaceStatus] + // + // [K8s NamespaceStatus]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#namespacestatus-v1-core + K8SNamespacePhaseKey = attribute.Key("k8s.namespace.phase") + // K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name" // semantic conventions. It represents the name of the Node. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'node-1' + // + // Examples: + // "node-1", K8SNodeNameKey = attribute.Key("k8s.node.name") // K8SNodeUIDKey is the attribute Key conforming to the "k8s.node.uid" // semantic conventions. It represents the UID of the Node. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2' + // + // Examples: + // "1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2", K8SNodeUIDKey = attribute.Key("k8s.node.uid") // K8SPodNameKey is the attribute Key conforming to the "k8s.pod.name" // semantic conventions. It represents the name of the Pod. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry-pod-autoconf' + // + // Examples: + // "opentelemetry-pod-autoconf", K8SPodNameKey = attribute.Key("k8s.pod.name") - // K8SPodUIDKey is the attribute Key conforming to the "k8s.pod.uid" - // semantic conventions. It represents the UID of the Pod. + // K8SPodUIDKey is the attribute Key conforming to the "k8s.pod.uid" semantic + // conventions. It represents the UID of the Pod. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SPodUIDKey = attribute.Key("k8s.pod.uid") // K8SReplicaSetNameKey is the attribute Key conforming to the - // "k8s.replicaset.name" semantic conventions. It represents the name of - // the ReplicaSet. + // "k8s.replicaset.name" semantic conventions. It represents the name of the + // ReplicaSet. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry' + // + // Examples: + // "opentelemetry", K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name") // K8SReplicaSetUIDKey is the attribute Key conforming to the // "k8s.replicaset.uid" semantic conventions. It represents the UID of the // ReplicaSet. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid") // K8SStatefulSetNameKey is the attribute Key conforming to the - // "k8s.statefulset.name" semantic conventions. It represents the name of - // the StatefulSet. + // "k8s.statefulset.name" semantic conventions. It represents the name of the + // StatefulSet. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'opentelemetry' + // + // Examples: + // "opentelemetry", K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name") // K8SStatefulSetUIDKey is the attribute Key conforming to the // "k8s.statefulset.uid" semantic conventions. It represents the UID of the // StatefulSet. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' + // + // Examples: + // "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff", K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") + + // K8SVolumeNameKey is the attribute Key conforming to the "k8s.volume.name" + // semantic conventions. It represents the name of the K8s volume. + // + // Stability: Development + // Type: string + // + // Examples: + // "volume0", + K8SVolumeNameKey = attribute.Key("k8s.volume.name") + + // K8SVolumeTypeKey is the attribute Key conforming to the "k8s.volume.type" + // semantic conventions. It represents the type of the K8s volume. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "emptyDir", + // "persistentVolumeClaim", + K8SVolumeTypeKey = attribute.Key("k8s.volume.type") ) // K8SClusterName returns an attribute KeyValue conforming to the // "k8s.cluster.name" semantic conventions. It represents the name of the -// cluster. +// cluster func K8SClusterName(val string) attribute.KeyValue { return K8SClusterNameKey.String(val) } // K8SClusterUID returns an attribute KeyValue conforming to the // "k8s.cluster.uid" semantic conventions. It represents a pseudo-ID for the -// cluster, set to the UID of the `kube-system` namespace. +// cluster, set to the UID of the `kube-system` namespace func K8SClusterUID(val string) attribute.KeyValue { return K8SClusterUIDKey.String(val) } @@ -5302,7 +7553,7 @@ func K8SClusterUID(val string) attribute.KeyValue { // K8SContainerName returns an attribute KeyValue conforming to the // "k8s.container.name" semantic conventions. It represents the name of the // Container from Pod specification, must be unique within a Pod. Container -// runtime usually uses different globally unique name (`container.name`). +// runtime usually uses different globally unique name (`container.name`) func K8SContainerName(val string) attribute.KeyValue { return K8SContainerNameKey.String(val) } @@ -5310,543 +7561,819 @@ func K8SContainerName(val string) attribute.KeyValue { // K8SContainerRestartCount returns an attribute KeyValue conforming to the // "k8s.container.restart_count" semantic conventions. It represents the number // of times the container was restarted. This attribute can be used to identify -// a particular container (running or stopped) within a container spec. +// a particular container (running or stopped) within a container spec func K8SContainerRestartCount(val int) attribute.KeyValue { return K8SContainerRestartCountKey.Int(val) } // K8SContainerStatusLastTerminatedReason returns an attribute KeyValue // conforming to the "k8s.container.status.last_terminated_reason" semantic -// conventions. It represents the last terminated reason of the Container. +// conventions. It represents the last terminated reason of the Container func K8SContainerStatusLastTerminatedReason(val string) attribute.KeyValue { return K8SContainerStatusLastTerminatedReasonKey.String(val) } // K8SCronJobName returns an attribute KeyValue conforming to the // "k8s.cronjob.name" semantic conventions. It represents the name of the -// CronJob. +// CronJob func K8SCronJobName(val string) attribute.KeyValue { return K8SCronJobNameKey.String(val) } // K8SCronJobUID returns an attribute KeyValue conforming to the -// "k8s.cronjob.uid" semantic conventions. It represents the UID of the -// CronJob. +// "k8s.cronjob.uid" semantic conventions. It represents the UID of the CronJob func K8SCronJobUID(val string) attribute.KeyValue { return K8SCronJobUIDKey.String(val) } // K8SDaemonSetName returns an attribute KeyValue conforming to the // "k8s.daemonset.name" semantic conventions. It represents the name of the -// DaemonSet. +// DaemonSet func K8SDaemonSetName(val string) attribute.KeyValue { return K8SDaemonSetNameKey.String(val) } // K8SDaemonSetUID returns an attribute KeyValue conforming to the // "k8s.daemonset.uid" semantic conventions. It represents the UID of the -// DaemonSet. +// DaemonSet func K8SDaemonSetUID(val string) attribute.KeyValue { return K8SDaemonSetUIDKey.String(val) } // K8SDeploymentName returns an attribute KeyValue conforming to the // "k8s.deployment.name" semantic conventions. It represents the name of the -// Deployment. +// Deployment func K8SDeploymentName(val string) attribute.KeyValue { return K8SDeploymentNameKey.String(val) } // K8SDeploymentUID returns an attribute KeyValue conforming to the // "k8s.deployment.uid" semantic conventions. It represents the UID of the -// Deployment. +// Deployment func K8SDeploymentUID(val string) attribute.KeyValue { return K8SDeploymentUIDKey.String(val) } // K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name" -// semantic conventions. It represents the name of the Job. +// semantic conventions. It represents the name of the Job func K8SJobName(val string) attribute.KeyValue { return K8SJobNameKey.String(val) } // K8SJobUID returns an attribute KeyValue conforming to the "k8s.job.uid" -// semantic conventions. It represents the UID of the Job. +// semantic conventions. It represents the UID of the Job func K8SJobUID(val string) attribute.KeyValue { return K8SJobUIDKey.String(val) } // K8SNamespaceName returns an attribute KeyValue conforming to the // "k8s.namespace.name" semantic conventions. It represents the name of the -// namespace that the pod is running in. +// namespace that the pod is running in func K8SNamespaceName(val string) attribute.KeyValue { return K8SNamespaceNameKey.String(val) } -// K8SNodeName returns an attribute KeyValue conforming to the -// "k8s.node.name" semantic conventions. It represents the name of the Node. +// K8SNamespacePhase returns an attribute KeyValue conforming to the +// "k8s.namespace.phase" semantic conventions. It represents the phase of the +// K8s namespace +func K8SNamespacePhase(val string) attribute.KeyValue { + return K8SNamespacePhaseKey.String(val) +} + +// K8SNodeName returns an attribute KeyValue conforming to the "k8s.node.name" +// semantic conventions. It represents the name of the Node func K8SNodeName(val string) attribute.KeyValue { return K8SNodeNameKey.String(val) } // K8SNodeUID returns an attribute KeyValue conforming to the "k8s.node.uid" -// semantic conventions. It represents the UID of the Node. +// semantic conventions. It represents the UID of the Node func K8SNodeUID(val string) attribute.KeyValue { return K8SNodeUIDKey.String(val) } // K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name" -// semantic conventions. It represents the name of the Pod. +// semantic conventions. It represents the name of the Pod func K8SPodName(val string) attribute.KeyValue { return K8SPodNameKey.String(val) } // K8SPodUID returns an attribute KeyValue conforming to the "k8s.pod.uid" -// semantic conventions. It represents the UID of the Pod. +// semantic conventions. It represents the UID of the Pod func K8SPodUID(val string) attribute.KeyValue { return K8SPodUIDKey.String(val) } // K8SReplicaSetName returns an attribute KeyValue conforming to the // "k8s.replicaset.name" semantic conventions. It represents the name of the -// ReplicaSet. +// ReplicaSet func K8SReplicaSetName(val string) attribute.KeyValue { return K8SReplicaSetNameKey.String(val) } // K8SReplicaSetUID returns an attribute KeyValue conforming to the // "k8s.replicaset.uid" semantic conventions. It represents the UID of the -// ReplicaSet. +// ReplicaSet func K8SReplicaSetUID(val string) attribute.KeyValue { return K8SReplicaSetUIDKey.String(val) } // K8SStatefulSetName returns an attribute KeyValue conforming to the // "k8s.statefulset.name" semantic conventions. It represents the name of the -// StatefulSet. +// StatefulSet func K8SStatefulSetName(val string) attribute.KeyValue { return K8SStatefulSetNameKey.String(val) } // K8SStatefulSetUID returns an attribute KeyValue conforming to the // "k8s.statefulset.uid" semantic conventions. It represents the UID of the -// StatefulSet. +// StatefulSet func K8SStatefulSetUID(val string) attribute.KeyValue { return K8SStatefulSetUIDKey.String(val) } -// Describes Linux Memory attributes -const ( - // LinuxMemorySlabStateKey is the attribute Key conforming to the - // "linux.memory.slab.state" semantic conventions. It represents the Linux - // Slab memory state +// K8SVolumeName returns an attribute KeyValue conforming to the +// "k8s.volume.name" semantic conventions. It represents the name of the K8s +// volume +func K8SVolumeName(val string) attribute.KeyValue { + return K8SVolumeNameKey.String(val) +} + +// K8SVolumeType returns an attribute KeyValue conforming to the +// "k8s.volume.type" semantic conventions. It represents the type of the K8s +// volume +func K8SVolumeType(val string) attribute.KeyValue { + return K8SVolumeTypeKey.String(val) +} + +// Enum values for k8s.namespace.phase +var ( + // Active namespace phase as described by [K8s API] + // Stability: development // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'reclaimable', 'unreclaimable' - LinuxMemorySlabStateKey = attribute.Key("linux.memory.slab.state") + // [K8s API]: https://pkg.go.dev/k8s.io/api@v0.31.3/core/v1#NamespacePhase + K8SNamespacePhaseActive = K8SNamespacePhaseKey.String("active") + // Terminating namespace phase as described by [K8s API] + // Stability: development + // + // [K8s API]: https://pkg.go.dev/k8s.io/api@v0.31.3/core/v1#NamespacePhase + K8SNamespacePhaseTerminating = K8SNamespacePhaseKey.String("terminating") ) +// Enum values for k8s.volume.type var ( - // reclaimable - LinuxMemorySlabStateReclaimable = LinuxMemorySlabStateKey.String("reclaimable") - // unreclaimable - LinuxMemorySlabStateUnreclaimable = LinuxMemorySlabStateKey.String("unreclaimable") + // A [persistentVolumeClaim] volume + // Stability: development + // + // [persistentVolumeClaim]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim + K8SVolumeTypePersistentVolumeClaim = K8SVolumeTypeKey.String("persistentVolumeClaim") + // A [configMap] volume + // Stability: development + // + // [configMap]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#configmap + K8SVolumeTypeConfigMap = K8SVolumeTypeKey.String("configMap") + // A [downwardAPI] volume + // Stability: development + // + // [downwardAPI]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#downwardapi + K8SVolumeTypeDownwardAPI = K8SVolumeTypeKey.String("downwardAPI") + // An [emptyDir] volume + // Stability: development + // + // [emptyDir]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#emptydir + K8SVolumeTypeEmptyDir = K8SVolumeTypeKey.String("emptyDir") + // A [secret] volume + // Stability: development + // + // [secret]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#secret + K8SVolumeTypeSecret = K8SVolumeTypeKey.String("secret") + // A [local] volume + // Stability: development + // + // [local]: https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#local + K8SVolumeTypeLocal = K8SVolumeTypeKey.String("local") ) -// Log attributes +// Namespace: linux const ( - // LogIostreamKey is the attribute Key conforming to the "log.iostream" - // semantic conventions. It represents the stream associated with the log. - // See below for a list of well-known values. - // + // LinuxMemorySlabStateKey is the attribute Key conforming to the + // "linux.memory.slab.state" semantic conventions. It represents the Linux + // Slab memory state + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - LogIostreamKey = attribute.Key("log.iostream") + // + // Examples: + // "reclaimable", + // "unreclaimable", + LinuxMemorySlabStateKey = attribute.Key("linux.memory.slab.state") ) +// LinuxMemorySlabState returns an attribute KeyValue conforming to the +// "linux.memory.slab.state" semantic conventions. It represents the Linux Slab +// memory state +func LinuxMemorySlabState(val string) attribute.KeyValue { + return LinuxMemorySlabStateKey.String(val) +} + +// Enum values for linux.memory.slab.state var ( - // Logs from stdout stream - LogIostreamStdout = LogIostreamKey.String("stdout") - // Events from stderr stream - LogIostreamStderr = LogIostreamKey.String("stderr") + // reclaimable + // Stability: development + LinuxMemorySlabStateReclaimable = LinuxMemorySlabStateKey.String("reclaimable") + // unreclaimable + // Stability: development + LinuxMemorySlabStateUnreclaimable = LinuxMemorySlabStateKey.String("unreclaimable") ) -// Attributes for a file to which log was emitted. +// Namespace: log const ( // LogFileNameKey is the attribute Key conforming to the "log.file.name" // semantic conventions. It represents the basename of the file. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'audit.log' + // + // Examples: + // "audit.log", LogFileNameKey = attribute.Key("log.file.name") // LogFileNameResolvedKey is the attribute Key conforming to the - // "log.file.name_resolved" semantic conventions. It represents the - // basename of the file, with symlinks resolved. + // "log.file.name_resolved" semantic conventions. It represents the basename + // of the file, with symlinks resolved. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'uuid.log' + // + // Examples: + // "uuid.log", LogFileNameResolvedKey = attribute.Key("log.file.name_resolved") // LogFilePathKey is the attribute Key conforming to the "log.file.path" // semantic conventions. It represents the full path to the file. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/var/log/mysql/audit.log' + // + // Examples: + // "/var/log/mysql/audit.log", LogFilePathKey = attribute.Key("log.file.path") // LogFilePathResolvedKey is the attribute Key conforming to the - // "log.file.path_resolved" semantic conventions. It represents the full - // path to the file, with symlinks resolved. + // "log.file.path_resolved" semantic conventions. It represents the full path + // to the file, with symlinks resolved. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/var/lib/docker/uuid.log' + // + // Examples: + // "/var/lib/docker/uuid.log", LogFilePathResolvedKey = attribute.Key("log.file.path_resolved") + + // LogIostreamKey is the attribute Key conforming to the "log.iostream" + // semantic conventions. It represents the stream associated with the log. See + // below for a list of well-known values. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + LogIostreamKey = attribute.Key("log.iostream") + + // LogRecordOriginalKey is the attribute Key conforming to the + // "log.record.original" semantic conventions. It represents the complete + // original Log Record. + // + // Stability: Development + // Type: string + // + // Examples: + // "77 <86>1 2015-08-06T21:58:59.694Z 192.168.2.133 inactive - - - Something + // happened", + // "[INFO] 8/3/24 12:34:56 Something happened", + // + // Note: This value MAY be added when processing a Log Record which was + // originally transmitted as a string or equivalent data type AND the Body + // field of the Log Record does not contain the same value. (e.g. a syslog or + // a log record read from a file.) + LogRecordOriginalKey = attribute.Key("log.record.original") + + // LogRecordUIDKey is the attribute Key conforming to the "log.record.uid" + // semantic conventions. It represents a unique identifier for the Log Record. + // + // Stability: Development + // Type: string + // + // Examples: + // "01ARZ3NDEKTSV4RRFFQ69G5FAV", + // + // Note: If an id is provided, other log records with the same id will be + // considered duplicates and can be removed safely. This means, that two + // distinguishable log records MUST have different values. + // The id MAY be an + // [Universally Unique Lexicographically Sortable Identifier (ULID)], but + // other identifiers (e.g. UUID) may be used as needed + // + // [Universally Unique Lexicographically Sortable Identifier (ULID)]: https://github.com/ulid/spec + LogRecordUIDKey = attribute.Key("log.record.uid") ) -// LogFileName returns an attribute KeyValue conforming to the -// "log.file.name" semantic conventions. It represents the basename of the -// file. +// LogFileName returns an attribute KeyValue conforming to the "log.file.name" +// semantic conventions. It represents the basename of the file func LogFileName(val string) attribute.KeyValue { return LogFileNameKey.String(val) } // LogFileNameResolved returns an attribute KeyValue conforming to the // "log.file.name_resolved" semantic conventions. It represents the basename of -// the file, with symlinks resolved. +// the file, with symlinks resolved func LogFileNameResolved(val string) attribute.KeyValue { return LogFileNameResolvedKey.String(val) } -// LogFilePath returns an attribute KeyValue conforming to the -// "log.file.path" semantic conventions. It represents the full path to the -// file. +// LogFilePath returns an attribute KeyValue conforming to the "log.file.path" +// semantic conventions. It represents the full path to the file func LogFilePath(val string) attribute.KeyValue { return LogFilePathKey.String(val) } // LogFilePathResolved returns an attribute KeyValue conforming to the // "log.file.path_resolved" semantic conventions. It represents the full path -// to the file, with symlinks resolved. +// to the file, with symlinks resolved func LogFilePathResolved(val string) attribute.KeyValue { return LogFilePathResolvedKey.String(val) } -// The generic attributes that may be used in any Log Record. -const ( - // LogRecordOriginalKey is the attribute Key conforming to the - // "log.record.original" semantic conventions. It represents the complete - // orignal Log Record. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '77 <86>1 2015-08-06T21:58:59.694Z 192.168.2.133 inactive - - - // - Something happened', '[INFO] 8/3/24 12:34:56 Something happened' - // Note: This value MAY be added when processing a Log Record which was - // originally transmitted as a string or equivalent data type AND the Body - // field of the Log Record does not contain the same value. (e.g. a syslog - // or a log record read from a file.) - LogRecordOriginalKey = attribute.Key("log.record.original") - - // LogRecordUIDKey is the attribute Key conforming to the "log.record.uid" - // semantic conventions. It represents a unique identifier for the Log - // Record. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '01ARZ3NDEKTSV4RRFFQ69G5FAV' - // Note: If an id is provided, other log records with the same id will be - // considered duplicates and can be removed safely. This means, that two - // distinguishable log records MUST have different values. - // The id MAY be an [Universally Unique Lexicographically Sortable - // Identifier (ULID)](https://github.com/ulid/spec), but other identifiers - // (e.g. UUID) may be used as needed. - LogRecordUIDKey = attribute.Key("log.record.uid") -) +// LogIostream returns an attribute KeyValue conforming to the "log.iostream" +// semantic conventions. It represents the stream associated with the log. See +// below for a list of well-known values +func LogIostream(val string) attribute.KeyValue { + return LogIostreamKey.String(val) +} // LogRecordOriginal returns an attribute KeyValue conforming to the // "log.record.original" semantic conventions. It represents the complete -// orignal Log Record. +// original Log Record func LogRecordOriginal(val string) attribute.KeyValue { return LogRecordOriginalKey.String(val) } // LogRecordUID returns an attribute KeyValue conforming to the // "log.record.uid" semantic conventions. It represents a unique identifier for -// the Log Record. +// the Log Record func LogRecordUID(val string) attribute.KeyValue { return LogRecordUIDKey.String(val) } -// Attributes describing telemetry around messaging systems and messaging -// activities. +// Enum values for log.iostream +var ( + // Logs from stdout stream + // Stability: development + LogIostreamStdout = LogIostreamKey.String("stdout") + // Events from stderr stream + // Stability: development + LogIostreamStderr = LogIostreamKey.String("stderr") +) + +// Namespace: messaging const ( // MessagingBatchMessageCountKey is the attribute Key conforming to the // "messaging.batch.message_count" semantic conventions. It represents the // number of messages sent, received, or processed in the scope of the // batching operation. - // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 0, 1, 2 + // + // Examples: + // 0, + // 1, + // 2, + // // Note: Instrumentations SHOULD NOT set `messaging.batch.message_count` on - // spans that operate with a single message. When a messaging client - // library supports both batch and single-message API for the same - // operation, instrumentations SHOULD use `messaging.batch.message_count` - // for batching APIs and SHOULD NOT use it for single-message APIs. + // spans that operate with a single message. When a messaging client library + // supports both batch and single-message API for the same operation, + // instrumentations SHOULD use `messaging.batch.message_count` for batching + // APIs and SHOULD NOT use it for single-message APIs MessagingBatchMessageCountKey = attribute.Key("messaging.batch.message_count") // MessagingClientIDKey is the attribute Key conforming to the // "messaging.client.id" semantic conventions. It represents a unique // identifier for the client that consumes or produces a message. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'client-5', 'myhost@8742@s8083jm' + // + // Examples: + // "client-5", + // "myhost@8742@s8083jm", MessagingClientIDKey = attribute.Key("messaging.client.id") // MessagingConsumerGroupNameKey is the attribute Key conforming to the // "messaging.consumer.group.name" semantic conventions. It represents the // name of the consumer group with which a consumer is associated. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'my-group', 'indexer' - // Note: Semantic conventions for individual messaging systems SHOULD - // document whether `messaging.consumer.group.name` is applicable and what - // it means in the context of that system. + // + // Examples: + // "my-group", + // "indexer", + // + // Note: Semantic conventions for individual messaging systems SHOULD document + // whether `messaging.consumer.group.name` is applicable and what it means in + // the context of that system MessagingConsumerGroupNameKey = attribute.Key("messaging.consumer.group.name") // MessagingDestinationAnonymousKey is the attribute Key conforming to the // "messaging.destination.anonymous" semantic conventions. It represents a // boolean that is true if the message destination is anonymous (could be // unnamed or have auto-generated name). - // + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined MessagingDestinationAnonymousKey = attribute.Key("messaging.destination.anonymous") // MessagingDestinationNameKey is the attribute Key conforming to the // "messaging.destination.name" semantic conventions. It represents the // message destination name - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'MyQueue', 'MyTopic' - // Note: Destination name SHOULD uniquely identify a specific queue, topic - // or other entity within the broker. If - // the broker doesn't have such notion, the destination name SHOULD - // uniquely identify the broker. + // + // Examples: + // "MyQueue", + // "MyTopic", + // + // Note: Destination name SHOULD uniquely identify a specific queue, topic or + // other entity within the broker. If + // the broker doesn't have such notion, the destination name SHOULD uniquely + // identify the broker MessagingDestinationNameKey = attribute.Key("messaging.destination.name") - // MessagingDestinationPartitionIDKey is the attribute Key conforming to - // the "messaging.destination.partition.id" semantic conventions. It - // represents the identifier of the partition messages are sent to or - // received from, unique within the `messaging.destination.name`. + // MessagingDestinationPartitionIDKey is the attribute Key conforming to the + // "messaging.destination.partition.id" semantic conventions. It represents + // the identifier of the partition messages are sent to or received from, + // unique within the `messaging.destination.name`. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1' + // + // Examples: "1" MessagingDestinationPartitionIDKey = attribute.Key("messaging.destination.partition.id") - // MessagingDestinationSubscriptionNameKey is the attribute Key conforming - // to the "messaging.destination.subscription.name" semantic conventions. - // It represents the name of the destination subscription from which a - // message is consumed. - // + // MessagingDestinationSubscriptionNameKey is the attribute Key conforming to + // the "messaging.destination.subscription.name" semantic conventions. It + // represents the name of the destination subscription from which a message is + // consumed. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'subscription-a' - // Note: Semantic conventions for individual messaging systems SHOULD - // document whether `messaging.destination.subscription.name` is applicable - // and what it means in the context of that system. + // + // Examples: + // "subscription-a", + // + // Note: Semantic conventions for individual messaging systems SHOULD document + // whether `messaging.destination.subscription.name` is applicable and what it + // means in the context of that system MessagingDestinationSubscriptionNameKey = attribute.Key("messaging.destination.subscription.name") // MessagingDestinationTemplateKey is the attribute Key conforming to the // "messaging.destination.template" semantic conventions. It represents the // low cardinality representation of the messaging destination name - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/customers/{customerID}' + // + // Examples: + // "/customers/{customerId}", + // // Note: Destination names could be constructed from templates. An example - // would be a destination name involving a user name or product id. - // Although the destination name in this case is of high cardinality, the - // underlying template is of low cardinality and can be effectively used - // for grouping and aggregation. + // would be a destination name involving a user name or product id. Although + // the destination name in this case is of high cardinality, the underlying + // template is of low cardinality and can be effectively used for grouping and + // aggregation MessagingDestinationTemplateKey = attribute.Key("messaging.destination.template") // MessagingDestinationTemporaryKey is the attribute Key conforming to the // "messaging.destination.temporary" semantic conventions. It represents a - // boolean that is true if the message destination is temporary and might - // not exist anymore after messages are processed. - // + // boolean that is true if the message destination is temporary and might not + // exist anymore after messages are processed. + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined MessagingDestinationTemporaryKey = attribute.Key("messaging.destination.temporary") + // MessagingEventhubsMessageEnqueuedTimeKey is the attribute Key conforming to + // the "messaging.eventhubs.message.enqueued_time" semantic conventions. It + // represents the UTC epoch seconds at which the message has been accepted and + // stored in the entity. + // + // Stability: Development + // Type: int + MessagingEventhubsMessageEnqueuedTimeKey = attribute.Key("messaging.eventhubs.message.enqueued_time") + + // MessagingGCPPubsubMessageAckDeadlineKey is the attribute Key conforming to + // the "messaging.gcp_pubsub.message.ack_deadline" semantic conventions. It + // represents the ack deadline in seconds set for the modify ack deadline + // request. + // + // Stability: Development + // Type: int + MessagingGCPPubsubMessageAckDeadlineKey = attribute.Key("messaging.gcp_pubsub.message.ack_deadline") + + // MessagingGCPPubsubMessageAckIDKey is the attribute Key conforming to the + // "messaging.gcp_pubsub.message.ack_id" semantic conventions. It represents + // the ack id for a given message. + // + // Stability: Development + // Type: string + // + // Examples: "ack_id" + MessagingGCPPubsubMessageAckIDKey = attribute.Key("messaging.gcp_pubsub.message.ack_id") + + // MessagingGCPPubsubMessageDeliveryAttemptKey is the attribute Key conforming + // to the "messaging.gcp_pubsub.message.delivery_attempt" semantic + // conventions. It represents the delivery attempt for a given message. + // + // Stability: Development + // Type: int + MessagingGCPPubsubMessageDeliveryAttemptKey = attribute.Key("messaging.gcp_pubsub.message.delivery_attempt") + + // MessagingGCPPubsubMessageOrderingKeyKey is the attribute Key conforming to + // the "messaging.gcp_pubsub.message.ordering_key" semantic conventions. It + // represents the ordering key for a given message. If the attribute is not + // present, the message does not have an ordering key. + // + // Stability: Development + // Type: string + // + // Examples: "ordering_key" + MessagingGCPPubsubMessageOrderingKeyKey = attribute.Key("messaging.gcp_pubsub.message.ordering_key") + + // MessagingKafkaMessageKeyKey is the attribute Key conforming to the + // "messaging.kafka.message.key" semantic conventions. It represents the + // message keys in Kafka are used for grouping alike messages to ensure + // they're processed on the same partition. They differ from + // `messaging.message.id` in that they're not unique. If the key is `null`, + // the attribute MUST NOT be set. + // + // Stability: Development + // Type: string + // + // Examples: "myKey" + // Note: If the key type is not string, it's string representation has to be + // supplied for the attribute. If the key has no unambiguous, canonical string + // form, don't include its value + MessagingKafkaMessageKeyKey = attribute.Key("messaging.kafka.message.key") + + // MessagingKafkaMessageTombstoneKey is the attribute Key conforming to the + // "messaging.kafka.message.tombstone" semantic conventions. It represents a + // boolean that is true if the message is a tombstone. + // Stability: Development + // Type: boolean + // + // Examples: undefined + MessagingKafkaMessageTombstoneKey = attribute.Key("messaging.kafka.message.tombstone") + + // MessagingKafkaOffsetKey is the attribute Key conforming to the + // "messaging.kafka.offset" semantic conventions. It represents the offset of + // a record in the corresponding Kafka partition. + // + // Stability: Development + // Type: int + MessagingKafkaOffsetKey = attribute.Key("messaging.kafka.offset") + // MessagingMessageBodySizeKey is the attribute Key conforming to the - // "messaging.message.body.size" semantic conventions. It represents the - // size of the message body in bytes. + // "messaging.message.body.size" semantic conventions. It represents the size + // of the message body in bytes. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1439 - // Note: This can refer to both the compressed or uncompressed body size. - // If both sizes are known, the uncompressed - // body size should be used. + // + // Note: This can refer to both the compressed or uncompressed body size. If + // both sizes are known, the uncompressed + // body size should be used MessagingMessageBodySizeKey = attribute.Key("messaging.message.body.size") // MessagingMessageConversationIDKey is the attribute Key conforming to the - // "messaging.message.conversation_id" semantic conventions. It represents - // the conversation ID identifying the conversation to which the message - // belongs, represented as a string. Sometimes called "Correlation ID". + // "messaging.message.conversation_id" semantic conventions. It represents the + // conversation ID identifying the conversation to which the message belongs, + // represented as a string. Sometimes called "Correlation ID". // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'MyConversationID' + // + // Examples: "MyConversationId" MessagingMessageConversationIDKey = attribute.Key("messaging.message.conversation_id") // MessagingMessageEnvelopeSizeKey is the attribute Key conforming to the - // "messaging.message.envelope.size" semantic conventions. It represents - // the size of the message body and metadata in bytes. + // "messaging.message.envelope.size" semantic conventions. It represents the + // size of the message body and metadata in bytes. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 2738 - // Note: This can refer to both the compressed or uncompressed size. If - // both sizes are known, the uncompressed - // size should be used. + // + // Note: This can refer to both the compressed or uncompressed size. If both + // sizes are known, the uncompressed + // size should be used MessagingMessageEnvelopeSizeKey = attribute.Key("messaging.message.envelope.size") // MessagingMessageIDKey is the attribute Key conforming to the - // "messaging.message.id" semantic conventions. It represents a value used - // by the messaging system as an identifier for the message, represented as - // a string. - // + // "messaging.message.id" semantic conventions. It represents a value used by + // the messaging system as an identifier for the message, represented as a + // string. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '452a7c7c7c7048c2f887f61572b18fc2' + // + // Examples: "452a7c7c7c7048c2f887f61572b18fc2" MessagingMessageIDKey = attribute.Key("messaging.message.id") // MessagingOperationNameKey is the attribute Key conforming to the // "messaging.operation.name" semantic conventions. It represents the // system-specific name of the messaging operation. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'ack', 'nack', 'send' + // + // Examples: + // "ack", + // "nack", + // "send", MessagingOperationNameKey = attribute.Key("messaging.operation.name") // MessagingOperationTypeKey is the attribute Key conforming to the // "messaging.operation.type" semantic conventions. It represents a string // identifying the type of the messaging operation. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Note: If a custom value is used, it MUST be of low cardinality. + // + // Examples: undefined + // Note: If a custom value is used, it MUST be of low cardinality MessagingOperationTypeKey = attribute.Key("messaging.operation.type") - // MessagingSystemKey is the attribute Key conforming to the - // "messaging.system" semantic conventions. It represents the messaging - // system as identified by the client instrumentation. + // MessagingRabbitmqDestinationRoutingKeyKey is the attribute Key conforming + // to the "messaging.rabbitmq.destination.routing_key" semantic conventions. + // It represents the rabbitMQ message routing key. + // + // Stability: Development + // Type: string + // + // Examples: "myKey" + MessagingRabbitmqDestinationRoutingKeyKey = attribute.Key("messaging.rabbitmq.destination.routing_key") + + // MessagingRabbitmqMessageDeliveryTagKey is the attribute Key conforming to + // the "messaging.rabbitmq.message.delivery_tag" semantic conventions. It + // represents the rabbitMQ message delivery tag + // + // Stability: Development + // Type: int + MessagingRabbitmqMessageDeliveryTagKey = attribute.Key("messaging.rabbitmq.message.delivery_tag") + + // MessagingRocketmqConsumptionModelKey is the attribute Key conforming to the + // "messaging.rocketmq.consumption_model" semantic conventions. It represents + // the model of message consumption. This only applies to consumer spans. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Note: The actual messaging system may differ from the one known by the - // client. For example, when using Kafka client libraries to communicate - // with Azure Event Hubs, the `messaging.system` is set to `kafka` based on - // the instrumentation's best knowledge. - MessagingSystemKey = attribute.Key("messaging.system") -) + // + // Examples: undefined + MessagingRocketmqConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model") -var ( - // One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created - MessagingOperationTypePublish = MessagingOperationTypeKey.String("publish") - // A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios - MessagingOperationTypeCreate = MessagingOperationTypeKey.String("create") - // One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages - MessagingOperationTypeReceive = MessagingOperationTypeKey.String("receive") - // One or more messages are processed by a consumer - MessagingOperationTypeProcess = MessagingOperationTypeKey.String("process") - // One or more messages are settled - MessagingOperationTypeSettle = MessagingOperationTypeKey.String("settle") - // Deprecated. Use `process` instead - MessagingOperationTypeDeliver = MessagingOperationTypeKey.String("deliver") -) + // MessagingRocketmqMessageDelayTimeLevelKey is the attribute Key conforming + // to the "messaging.rocketmq.message.delay_time_level" semantic conventions. + // It represents the delay time level for delay message, which determines the + // message delay time. + // + // Stability: Development + // Type: int + MessagingRocketmqMessageDelayTimeLevelKey = attribute.Key("messaging.rocketmq.message.delay_time_level") -var ( - // Apache ActiveMQ - MessagingSystemActivemq = MessagingSystemKey.String("activemq") - // Amazon Simple Queue Service (SQS) - MessagingSystemAWSSqs = MessagingSystemKey.String("aws_sqs") - // Azure Event Grid - MessagingSystemEventgrid = MessagingSystemKey.String("eventgrid") - // Azure Event Hubs - MessagingSystemEventhubs = MessagingSystemKey.String("eventhubs") - // Azure Service Bus - MessagingSystemServicebus = MessagingSystemKey.String("servicebus") - // Google Cloud Pub/Sub - MessagingSystemGCPPubsub = MessagingSystemKey.String("gcp_pubsub") - // Java Message Service - MessagingSystemJms = MessagingSystemKey.String("jms") - // Apache Kafka - MessagingSystemKafka = MessagingSystemKey.String("kafka") - // RabbitMQ - MessagingSystemRabbitmq = MessagingSystemKey.String("rabbitmq") - // Apache RocketMQ - MessagingSystemRocketmq = MessagingSystemKey.String("rocketmq") - // Apache Pulsar - MessagingSystemPulsar = MessagingSystemKey.String("pulsar") + // MessagingRocketmqMessageDeliveryTimestampKey is the attribute Key + // conforming to the "messaging.rocketmq.message.delivery_timestamp" semantic + // conventions. It represents the timestamp in milliseconds that the delay + // message is expected to be delivered to consumer. + // + // Stability: Development + // Type: int + MessagingRocketmqMessageDeliveryTimestampKey = attribute.Key("messaging.rocketmq.message.delivery_timestamp") + + // MessagingRocketmqMessageGroupKey is the attribute Key conforming to the + // "messaging.rocketmq.message.group" semantic conventions. It represents the + // it is essential for FIFO message. Messages that belong to the same message + // group are always processed one by one within the same consumer group. + // + // Stability: Development + // Type: string + // + // Examples: "myMessageGroup" + MessagingRocketmqMessageGroupKey = attribute.Key("messaging.rocketmq.message.group") + + // MessagingRocketmqMessageKeysKey is the attribute Key conforming to the + // "messaging.rocketmq.message.keys" semantic conventions. It represents the + // key(s) of message, another way to mark message besides message id. + // + // Stability: Development + // Type: string[] + // + // Examples: + // [ + // "keyA", + // "keyB", + // ], + MessagingRocketmqMessageKeysKey = attribute.Key("messaging.rocketmq.message.keys") + + // MessagingRocketmqMessageTagKey is the attribute Key conforming to the + // "messaging.rocketmq.message.tag" semantic conventions. It represents the + // secondary classifier of message besides topic. + // + // Stability: Development + // Type: string + // + // Examples: "tagA" + MessagingRocketmqMessageTagKey = attribute.Key("messaging.rocketmq.message.tag") + + // MessagingRocketmqMessageTypeKey is the attribute Key conforming to the + // "messaging.rocketmq.message.type" semantic conventions. It represents the + // type of message. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + MessagingRocketmqMessageTypeKey = attribute.Key("messaging.rocketmq.message.type") + + // MessagingRocketmqNamespaceKey is the attribute Key conforming to the + // "messaging.rocketmq.namespace" semantic conventions. It represents the + // namespace of RocketMQ resources, resources in different namespaces are + // individual. + // + // Stability: Development + // Type: string + // + // Examples: "myNamespace" + MessagingRocketmqNamespaceKey = attribute.Key("messaging.rocketmq.namespace") + + // MessagingServicebusDispositionStatusKey is the attribute Key conforming to + // the "messaging.servicebus.disposition_status" semantic conventions. It + // represents the describes the [settlement type]. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + // + // [settlement type]: https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock + MessagingServicebusDispositionStatusKey = attribute.Key("messaging.servicebus.disposition_status") + + // MessagingServicebusMessageDeliveryCountKey is the attribute Key conforming + // to the "messaging.servicebus.message.delivery_count" semantic conventions. + // It represents the number of deliveries that have been attempted for this + // message. + // + // Stability: Development + // Type: int + MessagingServicebusMessageDeliveryCountKey = attribute.Key("messaging.servicebus.message.delivery_count") + + // MessagingServicebusMessageEnqueuedTimeKey is the attribute Key conforming + // to the "messaging.servicebus.message.enqueued_time" semantic conventions. + // It represents the UTC epoch seconds at which the message has been accepted + // and stored in the entity. + // + // Stability: Development + // Type: int + MessagingServicebusMessageEnqueuedTimeKey = attribute.Key("messaging.servicebus.message.enqueued_time") + + // MessagingSystemKey is the attribute Key conforming to the + // "messaging.system" semantic conventions. It represents the messaging system + // as identified by the client instrumentation. + // Stability: Development + // Type: Enum + // + // Examples: undefined + // Note: The actual messaging system may differ from the one known by the + // client. For example, when using Kafka client libraries to communicate with + // Azure Event Hubs, the `messaging.system` is set to `kafka` based on the + // instrumentation's best knowledge + MessagingSystemKey = attribute.Key("messaging.system") ) -// MessagingBatchMessageCount returns an attribute KeyValue conforming to -// the "messaging.batch.message_count" semantic conventions. It represents the +// MessagingBatchMessageCount returns an attribute KeyValue conforming to the +// "messaging.batch.message_count" semantic conventions. It represents the // number of messages sent, received, or processed in the scope of the batching -// operation. +// operation func MessagingBatchMessageCount(val int) attribute.KeyValue { return MessagingBatchMessageCountKey.Int(val) } // MessagingClientID returns an attribute KeyValue conforming to the // "messaging.client.id" semantic conventions. It represents a unique -// identifier for the client that consumes or produces a message. +// identifier for the client that consumes or produces a message func MessagingClientID(val string) attribute.KeyValue { return MessagingClientIDKey.String(val) } -// MessagingConsumerGroupName returns an attribute KeyValue conforming to -// the "messaging.consumer.group.name" semantic conventions. It represents the -// name of the consumer group with which a consumer is associated. +// MessagingConsumerGroupName returns an attribute KeyValue conforming to the +// "messaging.consumer.group.name" semantic conventions. It represents the name +// of the consumer group with which a consumer is associated func MessagingConsumerGroupName(val string) attribute.KeyValue { return MessagingConsumerGroupNameKey.String(val) } @@ -5854,7 +8381,7 @@ func MessagingConsumerGroupName(val string) attribute.KeyValue { // MessagingDestinationAnonymous returns an attribute KeyValue conforming to // the "messaging.destination.anonymous" semantic conventions. It represents a // boolean that is true if the message destination is anonymous (could be -// unnamed or have auto-generated name). +// unnamed or have auto-generated name) func MessagingDestinationAnonymous(val bool) attribute.KeyValue { return MessagingDestinationAnonymousKey.Bool(val) } @@ -5866,10 +8393,10 @@ func MessagingDestinationName(val string) attribute.KeyValue { return MessagingDestinationNameKey.String(val) } -// MessagingDestinationPartitionID returns an attribute KeyValue conforming -// to the "messaging.destination.partition.id" semantic conventions. It -// represents the identifier of the partition messages are sent to or received -// from, unique within the `messaging.destination.name`. +// MessagingDestinationPartitionID returns an attribute KeyValue conforming to +// the "messaging.destination.partition.id" semantic conventions. It represents +// the identifier of the partition messages are sent to or received from, +// unique within the `messaging.destination.name` func MessagingDestinationPartitionID(val string) attribute.KeyValue { return MessagingDestinationPartitionIDKey.String(val) } @@ -5877,14 +8404,14 @@ func MessagingDestinationPartitionID(val string) attribute.KeyValue { // MessagingDestinationSubscriptionName returns an attribute KeyValue // conforming to the "messaging.destination.subscription.name" semantic // conventions. It represents the name of the destination subscription from -// which a message is consumed. +// which a message is consumed func MessagingDestinationSubscriptionName(val string) attribute.KeyValue { return MessagingDestinationSubscriptionNameKey.String(val) } -// MessagingDestinationTemplate returns an attribute KeyValue conforming to -// the "messaging.destination.template" semantic conventions. It represents the -// low cardinality representation of the messaging destination name +// MessagingDestinationTemplate returns an attribute KeyValue conforming to the +// "messaging.destination.template" semantic conventions. It represents the low +// cardinality representation of the messaging destination name func MessagingDestinationTemplate(val string) attribute.KeyValue { return MessagingDestinationTemplateKey.String(val) } @@ -5892,256 +8419,142 @@ func MessagingDestinationTemplate(val string) attribute.KeyValue { // MessagingDestinationTemporary returns an attribute KeyValue conforming to // the "messaging.destination.temporary" semantic conventions. It represents a // boolean that is true if the message destination is temporary and might not -// exist anymore after messages are processed. +// exist anymore after messages are processed func MessagingDestinationTemporary(val bool) attribute.KeyValue { return MessagingDestinationTemporaryKey.Bool(val) } -// MessagingMessageBodySize returns an attribute KeyValue conforming to the -// "messaging.message.body.size" semantic conventions. It represents the size -// of the message body in bytes. -func MessagingMessageBodySize(val int) attribute.KeyValue { - return MessagingMessageBodySizeKey.Int(val) +// MessagingEventhubsMessageEnqueuedTime returns an attribute KeyValue +// conforming to the "messaging.eventhubs.message.enqueued_time" semantic +// conventions. It represents the UTC epoch seconds at which the message has +// been accepted and stored in the entity +func MessagingEventhubsMessageEnqueuedTime(val int) attribute.KeyValue { + return MessagingEventhubsMessageEnqueuedTimeKey.Int(val) } -// MessagingMessageConversationID returns an attribute KeyValue conforming -// to the "messaging.message.conversation_id" semantic conventions. It -// represents the conversation ID identifying the conversation to which the -// message belongs, represented as a string. Sometimes called "Correlation ID". -func MessagingMessageConversationID(val string) attribute.KeyValue { - return MessagingMessageConversationIDKey.String(val) +// MessagingGCPPubsubMessageAckDeadline returns an attribute KeyValue +// conforming to the "messaging.gcp_pubsub.message.ack_deadline" semantic +// conventions. It represents the ack deadline in seconds set for the modify +// ack deadline request +func MessagingGCPPubsubMessageAckDeadline(val int) attribute.KeyValue { + return MessagingGCPPubsubMessageAckDeadlineKey.Int(val) } -// MessagingMessageEnvelopeSize returns an attribute KeyValue conforming to -// the "messaging.message.envelope.size" semantic conventions. It represents -// the size of the message body and metadata in bytes. -func MessagingMessageEnvelopeSize(val int) attribute.KeyValue { - return MessagingMessageEnvelopeSizeKey.Int(val) +// MessagingGCPPubsubMessageAckID returns an attribute KeyValue conforming to +// the "messaging.gcp_pubsub.message.ack_id" semantic conventions. It +// represents the ack id for a given message +func MessagingGCPPubsubMessageAckID(val string) attribute.KeyValue { + return MessagingGCPPubsubMessageAckIDKey.String(val) } -// MessagingMessageID returns an attribute KeyValue conforming to the -// "messaging.message.id" semantic conventions. It represents a value used by -// the messaging system as an identifier for the message, represented as a -// string. -func MessagingMessageID(val string) attribute.KeyValue { - return MessagingMessageIDKey.String(val) +// MessagingGCPPubsubMessageDeliveryAttempt returns an attribute KeyValue +// conforming to the "messaging.gcp_pubsub.message.delivery_attempt" semantic +// conventions. It represents the delivery attempt for a given message +func MessagingGCPPubsubMessageDeliveryAttempt(val int) attribute.KeyValue { + return MessagingGCPPubsubMessageDeliveryAttemptKey.Int(val) } -// MessagingOperationName returns an attribute KeyValue conforming to the -// "messaging.operation.name" semantic conventions. It represents the -// system-specific name of the messaging operation. -func MessagingOperationName(val string) attribute.KeyValue { - return MessagingOperationNameKey.String(val) +// MessagingGCPPubsubMessageOrderingKey returns an attribute KeyValue +// conforming to the "messaging.gcp_pubsub.message.ordering_key" semantic +// conventions. It represents the ordering key for a given message. If the +// attribute is not present, the message does not have an ordering key +func MessagingGCPPubsubMessageOrderingKey(val string) attribute.KeyValue { + return MessagingGCPPubsubMessageOrderingKeyKey.String(val) } -// This group describes attributes specific to Apache Kafka. -const ( - // MessagingKafkaMessageKeyKey is the attribute Key conforming to the - // "messaging.kafka.message.key" semantic conventions. It represents the - // message keys in Kafka are used for grouping alike messages to ensure - // they're processed on the same partition. They differ from - // `messaging.message.id` in that they're not unique. If the key is `null`, - // the attribute MUST NOT be set. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myKey' - // Note: If the key type is not string, it's string representation has to - // be supplied for the attribute. If the key has no unambiguous, canonical - // string form, don't include its value. - MessagingKafkaMessageKeyKey = attribute.Key("messaging.kafka.message.key") - - // MessagingKafkaMessageTombstoneKey is the attribute Key conforming to the - // "messaging.kafka.message.tombstone" semantic conventions. It represents - // a boolean that is true if the message is a tombstone. - // - // Type: boolean - // RequirementLevel: Optional - // Stability: experimental - MessagingKafkaMessageTombstoneKey = attribute.Key("messaging.kafka.message.tombstone") - - // MessagingKafkaOffsetKey is the attribute Key conforming to the - // "messaging.kafka.offset" semantic conventions. It represents the offset - // of a record in the corresponding Kafka partition. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 42 - MessagingKafkaOffsetKey = attribute.Key("messaging.kafka.offset") -) - // MessagingKafkaMessageKey returns an attribute KeyValue conforming to the // "messaging.kafka.message.key" semantic conventions. It represents the // message keys in Kafka are used for grouping alike messages to ensure they're // processed on the same partition. They differ from `messaging.message.id` in -// that they're not unique. If the key is `null`, the attribute MUST NOT be -// set. +// that they're not unique. If the key is `null`, the attribute MUST NOT be set func MessagingKafkaMessageKey(val string) attribute.KeyValue { return MessagingKafkaMessageKeyKey.String(val) } -// MessagingKafkaMessageTombstone returns an attribute KeyValue conforming -// to the "messaging.kafka.message.tombstone" semantic conventions. It -// represents a boolean that is true if the message is a tombstone. +// MessagingKafkaMessageTombstone returns an attribute KeyValue conforming to +// the "messaging.kafka.message.tombstone" semantic conventions. It represents +// a boolean that is true if the message is a tombstone func MessagingKafkaMessageTombstone(val bool) attribute.KeyValue { return MessagingKafkaMessageTombstoneKey.Bool(val) } // MessagingKafkaOffset returns an attribute KeyValue conforming to the // "messaging.kafka.offset" semantic conventions. It represents the offset of a -// record in the corresponding Kafka partition. +// record in the corresponding Kafka partition func MessagingKafkaOffset(val int) attribute.KeyValue { return MessagingKafkaOffsetKey.Int(val) } -// This group describes attributes specific to RabbitMQ. -const ( - // MessagingRabbitmqDestinationRoutingKeyKey is the attribute Key - // conforming to the "messaging.rabbitmq.destination.routing_key" semantic - // conventions. It represents the rabbitMQ message routing key. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myKey' - MessagingRabbitmqDestinationRoutingKeyKey = attribute.Key("messaging.rabbitmq.destination.routing_key") +// MessagingMessageBodySize returns an attribute KeyValue conforming to the +// "messaging.message.body.size" semantic conventions. It represents the size +// of the message body in bytes +func MessagingMessageBodySize(val int) attribute.KeyValue { + return MessagingMessageBodySizeKey.Int(val) +} - // MessagingRabbitmqMessageDeliveryTagKey is the attribute Key conforming - // to the "messaging.rabbitmq.message.delivery_tag" semantic conventions. - // It represents the rabbitMQ message delivery tag - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 123 - MessagingRabbitmqMessageDeliveryTagKey = attribute.Key("messaging.rabbitmq.message.delivery_tag") -) +// MessagingMessageConversationID returns an attribute KeyValue conforming to +// the "messaging.message.conversation_id" semantic conventions. It represents +// the conversation ID identifying the conversation to which the message +// belongs, represented as a string. Sometimes called "Correlation ID" +func MessagingMessageConversationID(val string) attribute.KeyValue { + return MessagingMessageConversationIDKey.String(val) +} + +// MessagingMessageEnvelopeSize returns an attribute KeyValue conforming to the +// "messaging.message.envelope.size" semantic conventions. It represents the +// size of the message body and metadata in bytes +func MessagingMessageEnvelopeSize(val int) attribute.KeyValue { + return MessagingMessageEnvelopeSizeKey.Int(val) +} + +// MessagingMessageID returns an attribute KeyValue conforming to the +// "messaging.message.id" semantic conventions. It represents a value used by +// the messaging system as an identifier for the message, represented as a +// string +func MessagingMessageID(val string) attribute.KeyValue { + return MessagingMessageIDKey.String(val) +} + +// MessagingOperationName returns an attribute KeyValue conforming to the +// "messaging.operation.name" semantic conventions. It represents the +// system-specific name of the messaging operation +func MessagingOperationName(val string) attribute.KeyValue { + return MessagingOperationNameKey.String(val) +} + +// MessagingOperationType returns an attribute KeyValue conforming to the +// "messaging.operation.type" semantic conventions. It represents a string +// identifying the type of the messaging operation +func MessagingOperationType(val string) attribute.KeyValue { + return MessagingOperationTypeKey.String(val) +} // MessagingRabbitmqDestinationRoutingKey returns an attribute KeyValue // conforming to the "messaging.rabbitmq.destination.routing_key" semantic -// conventions. It represents the rabbitMQ message routing key. +// conventions. It represents the rabbitMQ message routing key func MessagingRabbitmqDestinationRoutingKey(val string) attribute.KeyValue { return MessagingRabbitmqDestinationRoutingKeyKey.String(val) } -// MessagingRabbitmqMessageDeliveryTag returns an attribute KeyValue -// conforming to the "messaging.rabbitmq.message.delivery_tag" semantic -// conventions. It represents the rabbitMQ message delivery tag +// MessagingRabbitmqMessageDeliveryTag returns an attribute KeyValue conforming +// to the "messaging.rabbitmq.message.delivery_tag" semantic conventions. It +// represents the rabbitMQ message delivery tag func MessagingRabbitmqMessageDeliveryTag(val int) attribute.KeyValue { return MessagingRabbitmqMessageDeliveryTagKey.Int(val) } -// This group describes attributes specific to RocketMQ. -const ( - // MessagingRocketmqConsumptionModelKey is the attribute Key conforming to - // the "messaging.rocketmq.consumption_model" semantic conventions. It - // represents the model of message consumption. This only applies to - // consumer spans. - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - MessagingRocketmqConsumptionModelKey = attribute.Key("messaging.rocketmq.consumption_model") - - // MessagingRocketmqMessageDelayTimeLevelKey is the attribute Key - // conforming to the "messaging.rocketmq.message.delay_time_level" semantic - // conventions. It represents the delay time level for delay message, which - // determines the message delay time. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 3 - MessagingRocketmqMessageDelayTimeLevelKey = attribute.Key("messaging.rocketmq.message.delay_time_level") - - // MessagingRocketmqMessageDeliveryTimestampKey is the attribute Key - // conforming to the "messaging.rocketmq.message.delivery_timestamp" - // semantic conventions. It represents the timestamp in milliseconds that - // the delay message is expected to be delivered to consumer. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1665987217045 - MessagingRocketmqMessageDeliveryTimestampKey = attribute.Key("messaging.rocketmq.message.delivery_timestamp") - - // MessagingRocketmqMessageGroupKey is the attribute Key conforming to the - // "messaging.rocketmq.message.group" semantic conventions. It represents - // the it is essential for FIFO message. Messages that belong to the same - // message group are always processed one by one within the same consumer - // group. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myMessageGroup' - MessagingRocketmqMessageGroupKey = attribute.Key("messaging.rocketmq.message.group") - - // MessagingRocketmqMessageKeysKey is the attribute Key conforming to the - // "messaging.rocketmq.message.keys" semantic conventions. It represents - // the key(s) of message, another way to mark message besides message id. - // - // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'keyA', 'keyB' - MessagingRocketmqMessageKeysKey = attribute.Key("messaging.rocketmq.message.keys") - - // MessagingRocketmqMessageTagKey is the attribute Key conforming to the - // "messaging.rocketmq.message.tag" semantic conventions. It represents the - // secondary classifier of message besides topic. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'tagA' - MessagingRocketmqMessageTagKey = attribute.Key("messaging.rocketmq.message.tag") - - // MessagingRocketmqMessageTypeKey is the attribute Key conforming to the - // "messaging.rocketmq.message.type" semantic conventions. It represents - // the type of message. - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - MessagingRocketmqMessageTypeKey = attribute.Key("messaging.rocketmq.message.type") - - // MessagingRocketmqNamespaceKey is the attribute Key conforming to the - // "messaging.rocketmq.namespace" semantic conventions. It represents the - // namespace of RocketMQ resources, resources in different namespaces are - // individual. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myNamespace' - MessagingRocketmqNamespaceKey = attribute.Key("messaging.rocketmq.namespace") -) - -var ( - // Clustering consumption model - MessagingRocketmqConsumptionModelClustering = MessagingRocketmqConsumptionModelKey.String("clustering") - // Broadcasting consumption model - MessagingRocketmqConsumptionModelBroadcasting = MessagingRocketmqConsumptionModelKey.String("broadcasting") -) - -var ( - // Normal message - MessagingRocketmqMessageTypeNormal = MessagingRocketmqMessageTypeKey.String("normal") - // FIFO message - MessagingRocketmqMessageTypeFifo = MessagingRocketmqMessageTypeKey.String("fifo") - // Delay message - MessagingRocketmqMessageTypeDelay = MessagingRocketmqMessageTypeKey.String("delay") - // Transaction message - MessagingRocketmqMessageTypeTransaction = MessagingRocketmqMessageTypeKey.String("transaction") -) +// MessagingRocketmqConsumptionModel returns an attribute KeyValue conforming +// to the "messaging.rocketmq.consumption_model" semantic conventions. It +// represents the model of message consumption. This only applies to consumer +// spans +func MessagingRocketmqConsumptionModel(val string) attribute.KeyValue { + return MessagingRocketmqConsumptionModelKey.String(val) +} // MessagingRocketmqMessageDelayTimeLevel returns an attribute KeyValue // conforming to the "messaging.rocketmq.message.delay_time_level" semantic // conventions. It represents the delay time level for delay message, which -// determines the message delay time. +// determines the message delay time func MessagingRocketmqMessageDelayTimeLevel(val int) attribute.KeyValue { return MessagingRocketmqMessageDelayTimeLevelKey.Int(val) } @@ -6149,7 +8562,7 @@ func MessagingRocketmqMessageDelayTimeLevel(val int) attribute.KeyValue { // MessagingRocketmqMessageDeliveryTimestamp returns an attribute KeyValue // conforming to the "messaging.rocketmq.message.delivery_timestamp" semantic // conventions. It represents the timestamp in milliseconds that the delay -// message is expected to be delivered to consumer. +// message is expected to be delivered to consumer func MessagingRocketmqMessageDeliveryTimestamp(val int) attribute.KeyValue { return MessagingRocketmqMessageDeliveryTimestampKey.Int(val) } @@ -6157,961 +8570,1285 @@ func MessagingRocketmqMessageDeliveryTimestamp(val int) attribute.KeyValue { // MessagingRocketmqMessageGroup returns an attribute KeyValue conforming to // the "messaging.rocketmq.message.group" semantic conventions. It represents // the it is essential for FIFO message. Messages that belong to the same -// message group are always processed one by one within the same consumer -// group. +// message group are always processed one by one within the same consumer group func MessagingRocketmqMessageGroup(val string) attribute.KeyValue { return MessagingRocketmqMessageGroupKey.String(val) } -// MessagingRocketmqMessageKeys returns an attribute KeyValue conforming to -// the "messaging.rocketmq.message.keys" semantic conventions. It represents -// the key(s) of message, another way to mark message besides message id. +// MessagingRocketmqMessageKeys returns an attribute KeyValue conforming to the +// "messaging.rocketmq.message.keys" semantic conventions. It represents the +// key(s) of message, another way to mark message besides message id func MessagingRocketmqMessageKeys(val ...string) attribute.KeyValue { return MessagingRocketmqMessageKeysKey.StringSlice(val) } -// MessagingRocketmqMessageTag returns an attribute KeyValue conforming to -// the "messaging.rocketmq.message.tag" semantic conventions. It represents the -// secondary classifier of message besides topic. +// MessagingRocketmqMessageTag returns an attribute KeyValue conforming to the +// "messaging.rocketmq.message.tag" semantic conventions. It represents the +// secondary classifier of message besides topic func MessagingRocketmqMessageTag(val string) attribute.KeyValue { return MessagingRocketmqMessageTagKey.String(val) } -// MessagingRocketmqNamespace returns an attribute KeyValue conforming to -// the "messaging.rocketmq.namespace" semantic conventions. It represents the +// MessagingRocketmqMessageType returns an attribute KeyValue conforming to the +// "messaging.rocketmq.message.type" semantic conventions. It represents the +// type of message +func MessagingRocketmqMessageType(val string) attribute.KeyValue { + return MessagingRocketmqMessageTypeKey.String(val) +} + +// MessagingRocketmqNamespace returns an attribute KeyValue conforming to the +// "messaging.rocketmq.namespace" semantic conventions. It represents the // namespace of RocketMQ resources, resources in different namespaces are -// individual. +// individual func MessagingRocketmqNamespace(val string) attribute.KeyValue { return MessagingRocketmqNamespaceKey.String(val) } -// This group describes attributes specific to GCP Pub/Sub. -const ( - // MessagingGCPPubsubMessageAckDeadlineKey is the attribute Key conforming - // to the "messaging.gcp_pubsub.message.ack_deadline" semantic conventions. - // It represents the ack deadline in seconds set for the modify ack - // deadline request. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 10 - MessagingGCPPubsubMessageAckDeadlineKey = attribute.Key("messaging.gcp_pubsub.message.ack_deadline") - - // MessagingGCPPubsubMessageAckIDKey is the attribute Key conforming to the - // "messaging.gcp_pubsub.message.ack_id" semantic conventions. It - // represents the ack id for a given message. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'ack_id' - MessagingGCPPubsubMessageAckIDKey = attribute.Key("messaging.gcp_pubsub.message.ack_id") - - // MessagingGCPPubsubMessageDeliveryAttemptKey is the attribute Key - // conforming to the "messaging.gcp_pubsub.message.delivery_attempt" - // semantic conventions. It represents the delivery attempt for a given - // message. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 2 - MessagingGCPPubsubMessageDeliveryAttemptKey = attribute.Key("messaging.gcp_pubsub.message.delivery_attempt") - - // MessagingGCPPubsubMessageOrderingKeyKey is the attribute Key conforming - // to the "messaging.gcp_pubsub.message.ordering_key" semantic conventions. - // It represents the ordering key for a given message. If the attribute is - // not present, the message does not have an ordering key. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'ordering_key' - MessagingGCPPubsubMessageOrderingKeyKey = attribute.Key("messaging.gcp_pubsub.message.ordering_key") -) - -// MessagingGCPPubsubMessageAckDeadline returns an attribute KeyValue -// conforming to the "messaging.gcp_pubsub.message.ack_deadline" semantic -// conventions. It represents the ack deadline in seconds set for the modify -// ack deadline request. -func MessagingGCPPubsubMessageAckDeadline(val int) attribute.KeyValue { - return MessagingGCPPubsubMessageAckDeadlineKey.Int(val) +// MessagingServicebusDispositionStatus returns an attribute KeyValue +// conforming to the "messaging.servicebus.disposition_status" semantic +// conventions. It represents the describes the [settlement type] +// +// [settlement type]: https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock +func MessagingServicebusDispositionStatus(val string) attribute.KeyValue { + return MessagingServicebusDispositionStatusKey.String(val) } -// MessagingGCPPubsubMessageAckID returns an attribute KeyValue conforming -// to the "messaging.gcp_pubsub.message.ack_id" semantic conventions. It -// represents the ack id for a given message. -func MessagingGCPPubsubMessageAckID(val string) attribute.KeyValue { - return MessagingGCPPubsubMessageAckIDKey.String(val) +// MessagingServicebusMessageDeliveryCount returns an attribute KeyValue +// conforming to the "messaging.servicebus.message.delivery_count" semantic +// conventions. It represents the number of deliveries that have been attempted +// for this message +func MessagingServicebusMessageDeliveryCount(val int) attribute.KeyValue { + return MessagingServicebusMessageDeliveryCountKey.Int(val) } -// MessagingGCPPubsubMessageDeliveryAttempt returns an attribute KeyValue -// conforming to the "messaging.gcp_pubsub.message.delivery_attempt" semantic -// conventions. It represents the delivery attempt for a given message. -func MessagingGCPPubsubMessageDeliveryAttempt(val int) attribute.KeyValue { - return MessagingGCPPubsubMessageDeliveryAttemptKey.Int(val) +// MessagingServicebusMessageEnqueuedTime returns an attribute KeyValue +// conforming to the "messaging.servicebus.message.enqueued_time" semantic +// conventions. It represents the UTC epoch seconds at which the message has +// been accepted and stored in the entity +func MessagingServicebusMessageEnqueuedTime(val int) attribute.KeyValue { + return MessagingServicebusMessageEnqueuedTimeKey.Int(val) } -// MessagingGCPPubsubMessageOrderingKey returns an attribute KeyValue -// conforming to the "messaging.gcp_pubsub.message.ordering_key" semantic -// conventions. It represents the ordering key for a given message. If the -// attribute is not present, the message does not have an ordering key. -func MessagingGCPPubsubMessageOrderingKey(val string) attribute.KeyValue { - return MessagingGCPPubsubMessageOrderingKeyKey.String(val) +// MessagingSystem returns an attribute KeyValue conforming to the +// "messaging.system" semantic conventions. It represents the messaging system +// as identified by the client instrumentation +func MessagingSystem(val string) attribute.KeyValue { + return MessagingSystemKey.String(val) } -// This group describes attributes specific to Azure Service Bus. -const ( - // MessagingServicebusDispositionStatusKey is the attribute Key conforming - // to the "messaging.servicebus.disposition_status" semantic conventions. - // It represents the describes the [settlement - // type](https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock). +// Enum values for messaging.operation.type +var ( + // A message is created. "Create" spans always refer to a single message and + // are used to provide a unique creation context for messages in batch sending + // scenarios. // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - MessagingServicebusDispositionStatusKey = attribute.Key("messaging.servicebus.disposition_status") - - // MessagingServicebusMessageDeliveryCountKey is the attribute Key - // conforming to the "messaging.servicebus.message.delivery_count" semantic - // conventions. It represents the number of deliveries that have been - // attempted for this message. + // Stability: development + MessagingOperationTypeCreate = MessagingOperationTypeKey.String("create") + // One or more messages are provided for sending to an intermediary. If a + // single message is sent, the context of the "Send" span can be used as the + // creation context and no "Create" span needs to be created. // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 2 - MessagingServicebusMessageDeliveryCountKey = attribute.Key("messaging.servicebus.message.delivery_count") - - // MessagingServicebusMessageEnqueuedTimeKey is the attribute Key - // conforming to the "messaging.servicebus.message.enqueued_time" semantic - // conventions. It represents the UTC epoch seconds at which the message - // has been accepted and stored in the entity. + // Stability: development + MessagingOperationTypeSend = MessagingOperationTypeKey.String("send") + // One or more messages are requested by a consumer. This operation refers to + // pull-based scenarios, where consumers explicitly call methods of messaging + // SDKs to receive messages. // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1701393730 - MessagingServicebusMessageEnqueuedTimeKey = attribute.Key("messaging.servicebus.message.enqueued_time") + // Stability: development + MessagingOperationTypeReceive = MessagingOperationTypeKey.String("receive") + // One or more messages are processed by a consumer. + // + // Stability: development + MessagingOperationTypeProcess = MessagingOperationTypeKey.String("process") + // One or more messages are settled. + // + // Stability: development + MessagingOperationTypeSettle = MessagingOperationTypeKey.String("settle") + // Deprecated. Use `process` instead. + // Stability: development // Replaced by `process` + MessagingOperationTypeDeliver = MessagingOperationTypeKey.String("deliver") + // Deprecated. Use `send` instead. + // Stability: development // Replaced by `send` + MessagingOperationTypePublish = MessagingOperationTypeKey.String("publish") ) +// Enum values for messaging.rocketmq.consumption_model var ( - // Message is completed - MessagingServicebusDispositionStatusComplete = MessagingServicebusDispositionStatusKey.String("complete") - // Message is abandoned - MessagingServicebusDispositionStatusAbandon = MessagingServicebusDispositionStatusKey.String("abandon") - // Message is sent to dead letter queue - MessagingServicebusDispositionStatusDeadLetter = MessagingServicebusDispositionStatusKey.String("dead_letter") - // Message is deferred - MessagingServicebusDispositionStatusDefer = MessagingServicebusDispositionStatusKey.String("defer") + // Clustering consumption model + // Stability: development + MessagingRocketmqConsumptionModelClustering = MessagingRocketmqConsumptionModelKey.String("clustering") + // Broadcasting consumption model + // Stability: development + MessagingRocketmqConsumptionModelBroadcasting = MessagingRocketmqConsumptionModelKey.String("broadcasting") ) -// MessagingServicebusMessageDeliveryCount returns an attribute KeyValue -// conforming to the "messaging.servicebus.message.delivery_count" semantic -// conventions. It represents the number of deliveries that have been attempted -// for this message. -func MessagingServicebusMessageDeliveryCount(val int) attribute.KeyValue { - return MessagingServicebusMessageDeliveryCountKey.Int(val) -} - -// MessagingServicebusMessageEnqueuedTime returns an attribute KeyValue -// conforming to the "messaging.servicebus.message.enqueued_time" semantic -// conventions. It represents the UTC epoch seconds at which the message has -// been accepted and stored in the entity. -func MessagingServicebusMessageEnqueuedTime(val int) attribute.KeyValue { - return MessagingServicebusMessageEnqueuedTimeKey.Int(val) -} +// Enum values for messaging.rocketmq.message.type +var ( + // Normal message + // Stability: development + MessagingRocketmqMessageTypeNormal = MessagingRocketmqMessageTypeKey.String("normal") + // FIFO message + // Stability: development + MessagingRocketmqMessageTypeFifo = MessagingRocketmqMessageTypeKey.String("fifo") + // Delay message + // Stability: development + MessagingRocketmqMessageTypeDelay = MessagingRocketmqMessageTypeKey.String("delay") + // Transaction message + // Stability: development + MessagingRocketmqMessageTypeTransaction = MessagingRocketmqMessageTypeKey.String("transaction") +) -// This group describes attributes specific to Azure Event Hubs. -const ( - // MessagingEventhubsMessageEnqueuedTimeKey is the attribute Key conforming - // to the "messaging.eventhubs.message.enqueued_time" semantic conventions. - // It represents the UTC epoch seconds at which the message has been - // accepted and stored in the entity. - // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1701393730 - MessagingEventhubsMessageEnqueuedTimeKey = attribute.Key("messaging.eventhubs.message.enqueued_time") +// Enum values for messaging.servicebus.disposition_status +var ( + // Message is completed + // Stability: development + MessagingServicebusDispositionStatusComplete = MessagingServicebusDispositionStatusKey.String("complete") + // Message is abandoned + // Stability: development + MessagingServicebusDispositionStatusAbandon = MessagingServicebusDispositionStatusKey.String("abandon") + // Message is sent to dead letter queue + // Stability: development + MessagingServicebusDispositionStatusDeadLetter = MessagingServicebusDispositionStatusKey.String("dead_letter") + // Message is deferred + // Stability: development + MessagingServicebusDispositionStatusDefer = MessagingServicebusDispositionStatusKey.String("defer") ) -// MessagingEventhubsMessageEnqueuedTime returns an attribute KeyValue -// conforming to the "messaging.eventhubs.message.enqueued_time" semantic -// conventions. It represents the UTC epoch seconds at which the message has -// been accepted and stored in the entity. -func MessagingEventhubsMessageEnqueuedTime(val int) attribute.KeyValue { - return MessagingEventhubsMessageEnqueuedTimeKey.Int(val) -} +// Enum values for messaging.system +var ( + // Apache ActiveMQ + // Stability: development + MessagingSystemActivemq = MessagingSystemKey.String("activemq") + // Amazon Simple Queue Service (SQS) + // Stability: development + MessagingSystemAWSSqs = MessagingSystemKey.String("aws_sqs") + // Azure Event Grid + // Stability: development + MessagingSystemEventgrid = MessagingSystemKey.String("eventgrid") + // Azure Event Hubs + // Stability: development + MessagingSystemEventhubs = MessagingSystemKey.String("eventhubs") + // Azure Service Bus + // Stability: development + MessagingSystemServicebus = MessagingSystemKey.String("servicebus") + // Google Cloud Pub/Sub + // Stability: development + MessagingSystemGCPPubsub = MessagingSystemKey.String("gcp_pubsub") + // Java Message Service + // Stability: development + MessagingSystemJms = MessagingSystemKey.String("jms") + // Apache Kafka + // Stability: development + MessagingSystemKafka = MessagingSystemKey.String("kafka") + // RabbitMQ + // Stability: development + MessagingSystemRabbitmq = MessagingSystemKey.String("rabbitmq") + // Apache RocketMQ + // Stability: development + MessagingSystemRocketmq = MessagingSystemKey.String("rocketmq") + // Apache Pulsar + // Stability: development + MessagingSystemPulsar = MessagingSystemKey.String("pulsar") +) -// These attributes may be used for any network related operation. +// Namespace: network const ( // NetworkCarrierIccKey is the attribute Key conforming to the // "network.carrier.icc" semantic conventions. It represents the ISO 3166-1 // alpha-2 2-character country code associated with the mobile carrier // network. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'DE' + // + // Examples: "DE" NetworkCarrierIccKey = attribute.Key("network.carrier.icc") // NetworkCarrierMccKey is the attribute Key conforming to the // "network.carrier.mcc" semantic conventions. It represents the mobile // carrier country code. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '310' + // + // Examples: "310" NetworkCarrierMccKey = attribute.Key("network.carrier.mcc") // NetworkCarrierMncKey is the attribute Key conforming to the // "network.carrier.mnc" semantic conventions. It represents the mobile // carrier network code. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '001' + // + // Examples: "001" NetworkCarrierMncKey = attribute.Key("network.carrier.mnc") // NetworkCarrierNameKey is the attribute Key conforming to the - // "network.carrier.name" semantic conventions. It represents the name of - // the mobile carrier. - // + // "network.carrier.name" semantic conventions. It represents the name of the + // mobile carrier. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'sprint' + // + // Examples: "sprint" NetworkCarrierNameKey = attribute.Key("network.carrier.name") - // NetworkConnectionSubtypeKey is the attribute Key conforming to the - // "network.connection.subtype" semantic conventions. It represents the - // this describes more details regarding the connection.type. It may be the - // type of cell technology connection, but it could be used for describing - // details about a wifi connection. + // NetworkConnectionStateKey is the attribute Key conforming to the + // "network.connection.state" semantic conventions. It represents the state of + // network connection + // Stability: Development + // Type: Enum // + // Examples: + // "close_wait", + // + // Note: Connection states are defined as part of the [rfc9293] + // + // [rfc9293]: https://datatracker.ietf.org/doc/html/rfc9293#section-3.3.2 + NetworkConnectionStateKey = attribute.Key("network.connection.state") + + // NetworkConnectionSubtypeKey is the attribute Key conforming to the + // "network.connection.subtype" semantic conventions. It represents the this + // describes more details regarding the connection.type. It may be the type of + // cell technology connection, but it could be used for describing details + // about a wifi connection. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'LTE' + // + // Examples: "LTE" NetworkConnectionSubtypeKey = attribute.Key("network.connection.subtype") // NetworkConnectionTypeKey is the attribute Key conforming to the - // "network.connection.type" semantic conventions. It represents the - // internet connection type. - // + // "network.connection.type" semantic conventions. It represents the internet + // connection type. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'wifi' + // + // Examples: "wifi" NetworkConnectionTypeKey = attribute.Key("network.connection.type") - // NetworkIoDirectionKey is the attribute Key conforming to the - // "network.io.direction" semantic conventions. It represents the network - // IO operation direction. + // NetworkInterfaceNameKey is the attribute Key conforming to the + // "network.interface.name" semantic conventions. It represents the network + // interface name. + // Stability: Development + // Type: string // + // Examples: + // "lo", + // "eth0", + NetworkInterfaceNameKey = attribute.Key("network.interface.name") + + // NetworkIoDirectionKey is the attribute Key conforming to the + // "network.io.direction" semantic conventions. It represents the network IO + // operation direction. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'transmit' + // + // Examples: + // "transmit", NetworkIoDirectionKey = attribute.Key("network.io.direction") // NetworkLocalAddressKey is the attribute Key conforming to the // "network.local.address" semantic conventions. It represents the local - // address of the network connection - IP address or Unix domain socket - // name. - // + // address of the network connection - IP address or Unix domain socket name. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '10.1.2.80', '/tmp/my.sock' + // + // Examples: + // "10.1.2.80", + // "/tmp/my.sock", NetworkLocalAddressKey = attribute.Key("network.local.address") // NetworkLocalPortKey is the attribute Key conforming to the // "network.local.port" semantic conventions. It represents the local port // number of the network connection. - // + // Stability: Stable // Type: int - // RequirementLevel: Optional - // Stability: stable - // Examples: 65123 + // + // Examples: + // 65123, NetworkLocalPortKey = attribute.Key("network.local.port") // NetworkPeerAddressKey is the attribute Key conforming to the - // "network.peer.address" semantic conventions. It represents the peer - // address of the network connection - IP address or Unix domain socket - // name. - // + // "network.peer.address" semantic conventions. It represents the peer address + // of the network connection - IP address or Unix domain socket name. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '10.1.2.80', '/tmp/my.sock' + // + // Examples: + // "10.1.2.80", + // "/tmp/my.sock", NetworkPeerAddressKey = attribute.Key("network.peer.address") // NetworkPeerPortKey is the attribute Key conforming to the // "network.peer.port" semantic conventions. It represents the peer port // number of the network connection. - // + // Stability: Stable // Type: int - // RequirementLevel: Optional - // Stability: stable - // Examples: 65123 + // + // Examples: + // 65123, NetworkPeerPortKey = attribute.Key("network.peer.port") // NetworkProtocolNameKey is the attribute Key conforming to the - // "network.protocol.name" semantic conventions. It represents the [OSI - // application layer](https://osi-model.com/application-layer/) or non-OSI - // equivalent. - // + // "network.protocol.name" semantic conventions. It represents the + // [OSI application layer] or non-OSI equivalent. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'amqp', 'http', 'mqtt' - // Note: The value SHOULD be normalized to lowercase. + // + // Examples: + // "amqp", + // "http", + // "mqtt", + // + // Note: The value SHOULD be normalized to lowercase + // + // [OSI application layer]: https://wikipedia.org/wiki/Application_layer NetworkProtocolNameKey = attribute.Key("network.protocol.name") // NetworkProtocolVersionKey is the attribute Key conforming to the - // "network.protocol.version" semantic conventions. It represents the - // actual version of the protocol used for network communication. - // + // "network.protocol.version" semantic conventions. It represents the actual + // version of the protocol used for network communication. + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '1.1', '2' + // + // Examples: + // "1.1", + // "2", + // // Note: If protocol version is subject to negotiation (for example using - // [ALPN](https://www.rfc-editor.org/rfc/rfc7301.html)), this attribute - // SHOULD be set to the negotiated version. If the actual protocol version - // is not known, this attribute SHOULD NOT be set. + // [ALPN]), this attribute SHOULD be set to the negotiated version. If the + // actual protocol version is not known, this attribute SHOULD NOT be set + // + // [ALPN]: https://www.rfc-editor.org/rfc/rfc7301.html NetworkProtocolVersionKey = attribute.Key("network.protocol.version") // NetworkTransportKey is the attribute Key conforming to the - // "network.transport" semantic conventions. It represents the [OSI - // transport layer](https://osi-model.com/transport-layer/) or - // [inter-process communication - // method](https://wikipedia.org/wiki/Inter-process_communication). + // "network.transport" semantic conventions. It represents the + // [OSI transport layer] or [inter-process communication method]. // + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'tcp', 'udp' + // + // Examples: + // "tcp", + // "udp", + // // Note: The value SHOULD be normalized to lowercase. // // Consider always setting the transport when setting a port number, since // a port number is ambiguous without knowing the transport. For example - // different processes could be listening on TCP port 12345 and UDP port - // 12345. + // different processes could be listening on TCP port 12345 and UDP port 12345 + // + // [OSI transport layer]: https://wikipedia.org/wiki/Transport_layer + // [inter-process communication method]: https://wikipedia.org/wiki/Inter-process_communication NetworkTransportKey = attribute.Key("network.transport") // NetworkTypeKey is the attribute Key conforming to the "network.type" - // semantic conventions. It represents the [OSI network - // layer](https://osi-model.com/network-layer/) or non-OSI equivalent. - // + // semantic conventions. It represents the [OSI network layer] or non-OSI + // equivalent. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'ipv4', 'ipv6' - // Note: The value SHOULD be normalized to lowercase. + // + // Examples: + // "ipv4", + // "ipv6", + // + // Note: The value SHOULD be normalized to lowercase + // + // [OSI network layer]: https://wikipedia.org/wiki/Network_layer NetworkTypeKey = attribute.Key("network.type") ) +// NetworkCarrierIcc returns an attribute KeyValue conforming to the +// "network.carrier.icc" semantic conventions. It represents the ISO 3166-1 +// alpha-2 2-character country code associated with the mobile carrier network +func NetworkCarrierIcc(val string) attribute.KeyValue { + return NetworkCarrierIccKey.String(val) +} + +// NetworkCarrierMcc returns an attribute KeyValue conforming to the +// "network.carrier.mcc" semantic conventions. It represents the mobile carrier +// country code +func NetworkCarrierMcc(val string) attribute.KeyValue { + return NetworkCarrierMccKey.String(val) +} + +// NetworkCarrierMnc returns an attribute KeyValue conforming to the +// "network.carrier.mnc" semantic conventions. It represents the mobile carrier +// network code +func NetworkCarrierMnc(val string) attribute.KeyValue { + return NetworkCarrierMncKey.String(val) +} + +// NetworkCarrierName returns an attribute KeyValue conforming to the +// "network.carrier.name" semantic conventions. It represents the name of the +// mobile carrier +func NetworkCarrierName(val string) attribute.KeyValue { + return NetworkCarrierNameKey.String(val) +} + +// NetworkConnectionState returns an attribute KeyValue conforming to the +// "network.connection.state" semantic conventions. It represents the state of +// network connection +func NetworkConnectionState(val string) attribute.KeyValue { + return NetworkConnectionStateKey.String(val) +} + +// NetworkConnectionSubtype returns an attribute KeyValue conforming to the +// "network.connection.subtype" semantic conventions. It represents the this +// describes more details regarding the connection.type. It may be the type of +// cell technology connection, but it could be used for describing details +// about a wifi connection +func NetworkConnectionSubtype(val string) attribute.KeyValue { + return NetworkConnectionSubtypeKey.String(val) +} + +// NetworkConnectionType returns an attribute KeyValue conforming to the +// "network.connection.type" semantic conventions. It represents the internet +// connection type +func NetworkConnectionType(val string) attribute.KeyValue { + return NetworkConnectionTypeKey.String(val) +} + +// NetworkInterfaceName returns an attribute KeyValue conforming to the +// "network.interface.name" semantic conventions. It represents the network +// interface name +func NetworkInterfaceName(val string) attribute.KeyValue { + return NetworkInterfaceNameKey.String(val) +} + +// NetworkIoDirection returns an attribute KeyValue conforming to the +// "network.io.direction" semantic conventions. It represents the network IO +// operation direction +func NetworkIoDirection(val string) attribute.KeyValue { + return NetworkIoDirectionKey.String(val) +} + +// NetworkLocalAddress returns an attribute KeyValue conforming to the +// "network.local.address" semantic conventions. It represents the local +// address of the network connection - IP address or Unix domain socket name +func NetworkLocalAddress(val string) attribute.KeyValue { + return NetworkLocalAddressKey.String(val) +} + +// NetworkLocalPort returns an attribute KeyValue conforming to the +// "network.local.port" semantic conventions. It represents the local port +// number of the network connection +func NetworkLocalPort(val int) attribute.KeyValue { + return NetworkLocalPortKey.Int(val) +} + +// NetworkPeerAddress returns an attribute KeyValue conforming to the +// "network.peer.address" semantic conventions. It represents the peer address +// of the network connection - IP address or Unix domain socket name +func NetworkPeerAddress(val string) attribute.KeyValue { + return NetworkPeerAddressKey.String(val) +} + +// NetworkPeerPort returns an attribute KeyValue conforming to the +// "network.peer.port" semantic conventions. It represents the peer port number +// of the network connection +func NetworkPeerPort(val int) attribute.KeyValue { + return NetworkPeerPortKey.Int(val) +} + +// NetworkProtocolName returns an attribute KeyValue conforming to the +// "network.protocol.name" semantic conventions. It represents the +// [OSI application layer] or non-OSI equivalent +// +// [OSI application layer]: https://wikipedia.org/wiki/Application_layer +func NetworkProtocolName(val string) attribute.KeyValue { + return NetworkProtocolNameKey.String(val) +} + +// NetworkProtocolVersion returns an attribute KeyValue conforming to the +// "network.protocol.version" semantic conventions. It represents the actual +// version of the protocol used for network communication +func NetworkProtocolVersion(val string) attribute.KeyValue { + return NetworkProtocolVersionKey.String(val) +} + +// NetworkTransport returns an attribute KeyValue conforming to the +// "network.transport" semantic conventions. It represents the +// [OSI transport layer] or [inter-process communication method] +// +// [OSI transport layer]: https://wikipedia.org/wiki/Transport_layer +// [inter-process communication method]: https://wikipedia.org/wiki/Inter-process_communication +func NetworkTransport(val string) attribute.KeyValue { + return NetworkTransportKey.String(val) +} + +// NetworkType returns an attribute KeyValue conforming to the "network.type" +// semantic conventions. It represents the [OSI network layer] or non-OSI +// equivalent +// +// [OSI network layer]: https://wikipedia.org/wiki/Network_layer +func NetworkType(val string) attribute.KeyValue { + return NetworkTypeKey.String(val) +} + +// Enum values for network.connection.state +var ( + // closed + // Stability: development + NetworkConnectionStateClosed = NetworkConnectionStateKey.String("closed") + // close_wait + // Stability: development + NetworkConnectionStateCloseWait = NetworkConnectionStateKey.String("close_wait") + // closing + // Stability: development + NetworkConnectionStateClosing = NetworkConnectionStateKey.String("closing") + // established + // Stability: development + NetworkConnectionStateEstablished = NetworkConnectionStateKey.String("established") + // fin_wait_1 + // Stability: development + NetworkConnectionStateFinWait1 = NetworkConnectionStateKey.String("fin_wait_1") + // fin_wait_2 + // Stability: development + NetworkConnectionStateFinWait2 = NetworkConnectionStateKey.String("fin_wait_2") + // last_ack + // Stability: development + NetworkConnectionStateLastAck = NetworkConnectionStateKey.String("last_ack") + // listen + // Stability: development + NetworkConnectionStateListen = NetworkConnectionStateKey.String("listen") + // syn_received + // Stability: development + NetworkConnectionStateSynReceived = NetworkConnectionStateKey.String("syn_received") + // syn_sent + // Stability: development + NetworkConnectionStateSynSent = NetworkConnectionStateKey.String("syn_sent") + // time_wait + // Stability: development + NetworkConnectionStateTimeWait = NetworkConnectionStateKey.String("time_wait") +) + +// Enum values for network.connection.subtype var ( // GPRS + // Stability: development NetworkConnectionSubtypeGprs = NetworkConnectionSubtypeKey.String("gprs") // EDGE + // Stability: development NetworkConnectionSubtypeEdge = NetworkConnectionSubtypeKey.String("edge") // UMTS + // Stability: development NetworkConnectionSubtypeUmts = NetworkConnectionSubtypeKey.String("umts") // CDMA + // Stability: development NetworkConnectionSubtypeCdma = NetworkConnectionSubtypeKey.String("cdma") // EVDO Rel. 0 + // Stability: development NetworkConnectionSubtypeEvdo0 = NetworkConnectionSubtypeKey.String("evdo_0") // EVDO Rev. A + // Stability: development NetworkConnectionSubtypeEvdoA = NetworkConnectionSubtypeKey.String("evdo_a") // CDMA2000 1XRTT + // Stability: development NetworkConnectionSubtypeCdma20001xrtt = NetworkConnectionSubtypeKey.String("cdma2000_1xrtt") // HSDPA + // Stability: development NetworkConnectionSubtypeHsdpa = NetworkConnectionSubtypeKey.String("hsdpa") // HSUPA + // Stability: development NetworkConnectionSubtypeHsupa = NetworkConnectionSubtypeKey.String("hsupa") // HSPA + // Stability: development NetworkConnectionSubtypeHspa = NetworkConnectionSubtypeKey.String("hspa") // IDEN + // Stability: development NetworkConnectionSubtypeIden = NetworkConnectionSubtypeKey.String("iden") // EVDO Rev. B + // Stability: development NetworkConnectionSubtypeEvdoB = NetworkConnectionSubtypeKey.String("evdo_b") // LTE + // Stability: development NetworkConnectionSubtypeLte = NetworkConnectionSubtypeKey.String("lte") // EHRPD + // Stability: development NetworkConnectionSubtypeEhrpd = NetworkConnectionSubtypeKey.String("ehrpd") // HSPAP + // Stability: development NetworkConnectionSubtypeHspap = NetworkConnectionSubtypeKey.String("hspap") // GSM + // Stability: development NetworkConnectionSubtypeGsm = NetworkConnectionSubtypeKey.String("gsm") // TD-SCDMA + // Stability: development NetworkConnectionSubtypeTdScdma = NetworkConnectionSubtypeKey.String("td_scdma") // IWLAN + // Stability: development NetworkConnectionSubtypeIwlan = NetworkConnectionSubtypeKey.String("iwlan") // 5G NR (New Radio) + // Stability: development NetworkConnectionSubtypeNr = NetworkConnectionSubtypeKey.String("nr") // 5G NRNSA (New Radio Non-Standalone) + // Stability: development NetworkConnectionSubtypeNrnsa = NetworkConnectionSubtypeKey.String("nrnsa") // LTE CA + // Stability: development NetworkConnectionSubtypeLteCa = NetworkConnectionSubtypeKey.String("lte_ca") ) +// Enum values for network.connection.type var ( // wifi + // Stability: development NetworkConnectionTypeWifi = NetworkConnectionTypeKey.String("wifi") // wired + // Stability: development NetworkConnectionTypeWired = NetworkConnectionTypeKey.String("wired") // cell + // Stability: development NetworkConnectionTypeCell = NetworkConnectionTypeKey.String("cell") // unavailable + // Stability: development NetworkConnectionTypeUnavailable = NetworkConnectionTypeKey.String("unavailable") // unknown + // Stability: development NetworkConnectionTypeUnknown = NetworkConnectionTypeKey.String("unknown") ) +// Enum values for network.io.direction var ( // transmit + // Stability: development NetworkIoDirectionTransmit = NetworkIoDirectionKey.String("transmit") // receive + // Stability: development NetworkIoDirectionReceive = NetworkIoDirectionKey.String("receive") ) +// Enum values for network.transport var ( // TCP + // Stability: stable NetworkTransportTCP = NetworkTransportKey.String("tcp") // UDP + // Stability: stable NetworkTransportUDP = NetworkTransportKey.String("udp") - // Named or anonymous pipe + // Named or anonymous pipe. + // Stability: stable NetworkTransportPipe = NetworkTransportKey.String("pipe") // Unix domain socket + // Stability: stable NetworkTransportUnix = NetworkTransportKey.String("unix") // QUIC + // Stability: development NetworkTransportQUIC = NetworkTransportKey.String("quic") ) +// Enum values for network.type var ( // IPv4 + // Stability: stable NetworkTypeIpv4 = NetworkTypeKey.String("ipv4") // IPv6 + // Stability: stable NetworkTypeIpv6 = NetworkTypeKey.String("ipv6") ) -// NetworkCarrierIcc returns an attribute KeyValue conforming to the -// "network.carrier.icc" semantic conventions. It represents the ISO 3166-1 -// alpha-2 2-character country code associated with the mobile carrier network. -func NetworkCarrierIcc(val string) attribute.KeyValue { - return NetworkCarrierIccKey.String(val) -} - -// NetworkCarrierMcc returns an attribute KeyValue conforming to the -// "network.carrier.mcc" semantic conventions. It represents the mobile carrier -// country code. -func NetworkCarrierMcc(val string) attribute.KeyValue { - return NetworkCarrierMccKey.String(val) -} - -// NetworkCarrierMnc returns an attribute KeyValue conforming to the -// "network.carrier.mnc" semantic conventions. It represents the mobile carrier -// network code. -func NetworkCarrierMnc(val string) attribute.KeyValue { - return NetworkCarrierMncKey.String(val) -} - -// NetworkCarrierName returns an attribute KeyValue conforming to the -// "network.carrier.name" semantic conventions. It represents the name of the -// mobile carrier. -func NetworkCarrierName(val string) attribute.KeyValue { - return NetworkCarrierNameKey.String(val) -} - -// NetworkLocalAddress returns an attribute KeyValue conforming to the -// "network.local.address" semantic conventions. It represents the local -// address of the network connection - IP address or Unix domain socket name. -func NetworkLocalAddress(val string) attribute.KeyValue { - return NetworkLocalAddressKey.String(val) -} - -// NetworkLocalPort returns an attribute KeyValue conforming to the -// "network.local.port" semantic conventions. It represents the local port -// number of the network connection. -func NetworkLocalPort(val int) attribute.KeyValue { - return NetworkLocalPortKey.Int(val) -} - -// NetworkPeerAddress returns an attribute KeyValue conforming to the -// "network.peer.address" semantic conventions. It represents the peer address -// of the network connection - IP address or Unix domain socket name. -func NetworkPeerAddress(val string) attribute.KeyValue { - return NetworkPeerAddressKey.String(val) -} - -// NetworkPeerPort returns an attribute KeyValue conforming to the -// "network.peer.port" semantic conventions. It represents the peer port number -// of the network connection. -func NetworkPeerPort(val int) attribute.KeyValue { - return NetworkPeerPortKey.Int(val) -} - -// NetworkProtocolName returns an attribute KeyValue conforming to the -// "network.protocol.name" semantic conventions. It represents the [OSI -// application layer](https://osi-model.com/application-layer/) or non-OSI -// equivalent. -func NetworkProtocolName(val string) attribute.KeyValue { - return NetworkProtocolNameKey.String(val) -} +// Namespace: nodejs +const ( + // NodejsEventloopStateKey is the attribute Key conforming to the + // "nodejs.eventloop.state" semantic conventions. It represents the state of + // event loop time. + // Stability: Development + // Type: Enum + // + // Examples: undefined + NodejsEventloopStateKey = attribute.Key("nodejs.eventloop.state") +) -// NetworkProtocolVersion returns an attribute KeyValue conforming to the -// "network.protocol.version" semantic conventions. It represents the actual -// version of the protocol used for network communication. -func NetworkProtocolVersion(val string) attribute.KeyValue { - return NetworkProtocolVersionKey.String(val) +// NodejsEventloopState returns an attribute KeyValue conforming to the +// "nodejs.eventloop.state" semantic conventions. It represents the state of +// event loop time +func NodejsEventloopState(val string) attribute.KeyValue { + return NodejsEventloopStateKey.String(val) } -// An OCI image manifest. +// Enum values for nodejs.eventloop.state +var ( + // Active time. + // Stability: development + NodejsEventloopStateActive = NodejsEventloopStateKey.String("active") + // Idle time. + // Stability: development + NodejsEventloopStateIdle = NodejsEventloopStateKey.String("idle") +) + +// Namespace: oci const ( // OciManifestDigestKey is the attribute Key conforming to the - // "oci.manifest.digest" semantic conventions. It represents the digest of - // the OCI image manifest. For container images specifically is the digest - // by which the container image is known. + // "oci.manifest.digest" semantic conventions. It represents the digest of the + // OCI image manifest. For container images specifically is the digest by + // which the container image is known. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // 'sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4' - // Note: Follows [OCI Image Manifest - // Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md), - // and specifically the [Digest - // property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests). - // An example can be found in [Example Image - // Manifest](https://docs.docker.com/registry/spec/manifest-v2-2/#example-image-manifest). + // "sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4", + // + // Note: Follows [OCI Image Manifest Specification], and specifically the + // [Digest property]. + // An example can be found in [Example Image Manifest] + // + // [OCI Image Manifest Specification]: https://github.com/opencontainers/image-spec/blob/main/manifest.md + // [Digest property]: https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests + // [Example Image Manifest]: https://docs.docker.com/registry/spec/manifest-v2-2/#example-image-manifest OciManifestDigestKey = attribute.Key("oci.manifest.digest") ) // OciManifestDigest returns an attribute KeyValue conforming to the // "oci.manifest.digest" semantic conventions. It represents the digest of the // OCI image manifest. For container images specifically is the digest by which -// the container image is known. +// the container image is known func OciManifestDigest(val string) attribute.KeyValue { return OciManifestDigestKey.String(val) } -// Attributes used by the OpenTracing Shim layer. +// Namespace: opentracing const ( // OpentracingRefTypeKey is the attribute Key conforming to the - // "opentracing.ref_type" semantic conventions. It represents the - // parent-child Reference type - // + // "opentracing.ref_type" semantic conventions. It represents the parent-child + // Reference type + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Note: The causal relationship between a child Span and a parent Span. + // + // Examples: undefined + // Note: The causal relationship between a child Span and a parent Span OpentracingRefTypeKey = attribute.Key("opentracing.ref_type") ) +// OpentracingRefType returns an attribute KeyValue conforming to the +// "opentracing.ref_type" semantic conventions. It represents the parent-child +// Reference type +func OpentracingRefType(val string) attribute.KeyValue { + return OpentracingRefTypeKey.String(val) +} + +// Enum values for opentracing.ref_type var ( // The parent Span depends on the child Span in some capacity + // Stability: development OpentracingRefTypeChildOf = OpentracingRefTypeKey.String("child_of") // The parent Span doesn't depend in any way on the result of the child Span + // Stability: development OpentracingRefTypeFollowsFrom = OpentracingRefTypeKey.String("follows_from") ) -// The operating system (OS) on which the process represented by this resource -// is running. +// Namespace: os const ( - // OSBuildIDKey is the attribute Key conforming to the "os.build_id" - // semantic conventions. It represents the unique identifier for a - // particular build or compilation of the operating system. - // + // OSBuildIDKey is the attribute Key conforming to the "os.build_id" semantic + // conventions. It represents the unique identifier for a particular build or + // compilation of the operating system. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'TQ3C.230805.001.B2', '20E247', '22621' + // + // Examples: + // "TQ3C.230805.001.B2", + // "20E247", + // "22621", OSBuildIDKey = attribute.Key("os.build_id") // OSDescriptionKey is the attribute Key conforming to the "os.description" - // semantic conventions. It represents the human readable (not intended to - // be parsed) OS version information, like e.g. reported by `ver` or + // semantic conventions. It represents the human readable (not intended to be + // parsed) OS version information, like e.g. reported by `ver` or // `lsb_release -a` commands. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 - // LTS' + // + // Examples: + // "Microsoft Windows [Version 10.0.18363.778]", + // "Ubuntu 18.04.1 LTS", OSDescriptionKey = attribute.Key("os.description") // OSNameKey is the attribute Key conforming to the "os.name" semantic // conventions. It represents the human readable operating system name. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'iOS', 'Android', 'Ubuntu' + // + // Examples: + // "iOS", + // "Android", + // "Ubuntu", OSNameKey = attribute.Key("os.name") // OSTypeKey is the attribute Key conforming to the "os.type" semantic // conventions. It represents the operating system type. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined OSTypeKey = attribute.Key("os.type") - // OSVersionKey is the attribute Key conforming to the "os.version" - // semantic conventions. It represents the version string of the operating - // system as defined in [Version - // Attributes](/docs/resource/README.md#version-attributes). + // OSVersionKey is the attribute Key conforming to the "os.version" semantic + // conventions. It represents the version string of the operating system as + // defined in [Version Attributes]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '14.2.1', '18.04.1' + // + // Examples: + // "14.2.1", + // "18.04.1", + // + // [Version Attributes]: /docs/resource/README.md#version-attributes OSVersionKey = attribute.Key("os.version") ) +// OSBuildID returns an attribute KeyValue conforming to the "os.build_id" +// semantic conventions. It represents the unique identifier for a particular +// build or compilation of the operating system +func OSBuildID(val string) attribute.KeyValue { + return OSBuildIDKey.String(val) +} + +// OSDescription returns an attribute KeyValue conforming to the +// "os.description" semantic conventions. It represents the human readable (not +// intended to be parsed) OS version information, like e.g. reported by `ver` +// or `lsb_release -a` commands +func OSDescription(val string) attribute.KeyValue { + return OSDescriptionKey.String(val) +} + +// OSName returns an attribute KeyValue conforming to the "os.name" semantic +// conventions. It represents the human readable operating system name +func OSName(val string) attribute.KeyValue { + return OSNameKey.String(val) +} + +// OSType returns an attribute KeyValue conforming to the "os.type" semantic +// conventions. It represents the operating system type +func OSType(val string) attribute.KeyValue { + return OSTypeKey.String(val) +} + +// OSVersion returns an attribute KeyValue conforming to the "os.version" +// semantic conventions. It represents the version string of the operating +// system as defined in [Version Attributes] +// +// [Version Attributes]: /docs/resource/README.md#version-attributes +func OSVersion(val string) attribute.KeyValue { + return OSVersionKey.String(val) +} + +// Enum values for os.type var ( // Microsoft Windows + // Stability: development OSTypeWindows = OSTypeKey.String("windows") // Linux + // Stability: development OSTypeLinux = OSTypeKey.String("linux") // Apple Darwin + // Stability: development OSTypeDarwin = OSTypeKey.String("darwin") // FreeBSD + // Stability: development OSTypeFreeBSD = OSTypeKey.String("freebsd") // NetBSD + // Stability: development OSTypeNetBSD = OSTypeKey.String("netbsd") // OpenBSD + // Stability: development OSTypeOpenBSD = OSTypeKey.String("openbsd") // DragonFly BSD + // Stability: development OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd") // HP-UX (Hewlett Packard Unix) + // Stability: development OSTypeHPUX = OSTypeKey.String("hpux") // AIX (Advanced Interactive eXecutive) + // Stability: development OSTypeAIX = OSTypeKey.String("aix") // SunOS, Oracle Solaris + // Stability: development OSTypeSolaris = OSTypeKey.String("solaris") // IBM z/OS + // Stability: development OSTypeZOS = OSTypeKey.String("z_os") ) -// OSBuildID returns an attribute KeyValue conforming to the "os.build_id" -// semantic conventions. It represents the unique identifier for a particular -// build or compilation of the operating system. -func OSBuildID(val string) attribute.KeyValue { - return OSBuildIDKey.String(val) -} - -// OSDescription returns an attribute KeyValue conforming to the -// "os.description" semantic conventions. It represents the human readable (not -// intended to be parsed) OS version information, like e.g. reported by `ver` -// or `lsb_release -a` commands. -func OSDescription(val string) attribute.KeyValue { - return OSDescriptionKey.String(val) -} - -// OSName returns an attribute KeyValue conforming to the "os.name" semantic -// conventions. It represents the human readable operating system name. -func OSName(val string) attribute.KeyValue { - return OSNameKey.String(val) -} - -// OSVersion returns an attribute KeyValue conforming to the "os.version" -// semantic conventions. It represents the version string of the operating -// system as defined in [Version -// Attributes](/docs/resource/README.md#version-attributes). -func OSVersion(val string) attribute.KeyValue { - return OSVersionKey.String(val) -} - -// Attributes reserved for OpenTelemetry +// Namespace: otel const ( - // OTelStatusCodeKey is the attribute Key conforming to the - // "otel.status_code" semantic conventions. It represents the name of the - // code, either "OK" or "ERROR". MUST NOT be set if the status code is - // UNSET. + // OTelScopeNameKey is the attribute Key conforming to the "otel.scope.name" + // semantic conventions. It represents the name of the instrumentation scope - + // (`InstrumentationScope.Name` in OTLP). + // Stability: Stable + // Type: string + // + // Examples: + // "io.opentelemetry.contrib.mongodb", + OTelScopeNameKey = attribute.Key("otel.scope.name") + + // OTelScopeVersionKey is the attribute Key conforming to the + // "otel.scope.version" semantic conventions. It represents the version of the + // instrumentation scope - (`InstrumentationScope.Version` in OTLP). + // Stability: Stable + // Type: string // + // Examples: + // "1.0.0", + OTelScopeVersionKey = attribute.Key("otel.scope.version") + + // OTelStatusCodeKey is the attribute Key conforming to the "otel.status_code" + // semantic conventions. It represents the name of the code, either "OK" or + // "ERROR". MUST NOT be set if the status code is UNSET. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable + // + // Examples: undefined OTelStatusCodeKey = attribute.Key("otel.status_code") // OTelStatusDescriptionKey is the attribute Key conforming to the // "otel.status_description" semantic conventions. It represents the // description of the Status if it has a value, otherwise not set. - // - // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'resource not found' - OTelStatusDescriptionKey = attribute.Key("otel.status_description") -) - -var ( - // The operation has been validated by an Application developer or Operator to have completed successfully - OTelStatusCodeOk = OTelStatusCodeKey.String("OK") - // The operation contains an error - OTelStatusCodeError = OTelStatusCodeKey.String("ERROR") -) - -// OTelStatusDescription returns an attribute KeyValue conforming to the -// "otel.status_description" semantic conventions. It represents the -// description of the Status if it has a value, otherwise not set. -func OTelStatusDescription(val string) attribute.KeyValue { - return OTelStatusDescriptionKey.String(val) -} - -// Attributes used by non-OTLP exporters to represent OpenTelemetry Scope's -// concepts. -const ( - // OTelScopeNameKey is the attribute Key conforming to the - // "otel.scope.name" semantic conventions. It represents the name of the - // instrumentation scope - (`InstrumentationScope.Name` in OTLP). - // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'io.opentelemetry.contrib.mongodb' - OTelScopeNameKey = attribute.Key("otel.scope.name") - - // OTelScopeVersionKey is the attribute Key conforming to the - // "otel.scope.version" semantic conventions. It represents the version of - // the instrumentation scope - (`InstrumentationScope.Version` in OTLP). // - // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '1.0.0' - OTelScopeVersionKey = attribute.Key("otel.scope.version") + // Examples: + // "resource not found", + OTelStatusDescriptionKey = attribute.Key("otel.status_description") ) // OTelScopeName returns an attribute KeyValue conforming to the // "otel.scope.name" semantic conventions. It represents the name of the -// instrumentation scope - (`InstrumentationScope.Name` in OTLP). +// instrumentation scope - (`InstrumentationScope.Name` in OTLP) func OTelScopeName(val string) attribute.KeyValue { return OTelScopeNameKey.String(val) } // OTelScopeVersion returns an attribute KeyValue conforming to the // "otel.scope.version" semantic conventions. It represents the version of the -// instrumentation scope - (`InstrumentationScope.Version` in OTLP). +// instrumentation scope - (`InstrumentationScope.Version` in OTLP) func OTelScopeVersion(val string) attribute.KeyValue { return OTelScopeVersionKey.String(val) } -// Operations that access some remote service. +// OTelStatusCode returns an attribute KeyValue conforming to the +// "otel.status_code" semantic conventions. It represents the name of the code, +// either "OK" or "ERROR". MUST NOT be set if the status code is UNSET +func OTelStatusCode(val string) attribute.KeyValue { + return OTelStatusCodeKey.String(val) +} + +// OTelStatusDescription returns an attribute KeyValue conforming to the +// "otel.status_description" semantic conventions. It represents the +// description of the Status if it has a value, otherwise not set +func OTelStatusDescription(val string) attribute.KeyValue { + return OTelStatusDescriptionKey.String(val) +} + +// Enum values for otel.status_code +var ( + // The operation has been validated by an Application developer or Operator to + // have completed successfully. + // Stability: stable + OTelStatusCodeOk = OTelStatusCodeKey.String("OK") + // The operation contains an error. + // Stability: stable + OTelStatusCodeError = OTelStatusCodeKey.String("ERROR") +) + +// Namespace: peer const ( // PeerServiceKey is the attribute Key conforming to the "peer.service" - // semantic conventions. It represents the - // [`service.name`](/docs/resource/README.md#service) of the remote - // service. SHOULD be equal to the actual `service.name` resource attribute - // of the remote service if any. + // semantic conventions. It represents the [`service.name`] of the remote + // service. SHOULD be equal to the actual `service.name` resource attribute of + // the remote service if any. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'AuthTokenCache' + // + // Examples: "AuthTokenCache" + // + // [`service.name`]: /docs/resource/README.md#service PeerServiceKey = attribute.Key("peer.service") ) -// PeerService returns an attribute KeyValue conforming to the -// "peer.service" semantic conventions. It represents the -// [`service.name`](/docs/resource/README.md#service) of the remote service. -// SHOULD be equal to the actual `service.name` resource attribute of the -// remote service if any. +// PeerService returns an attribute KeyValue conforming to the "peer.service" +// semantic conventions. It represents the [`service.name`] of the remote +// service. SHOULD be equal to the actual `service.name` resource attribute of +// the remote service if any +// +// [`service.name`]: /docs/resource/README.md#service func PeerService(val string) attribute.KeyValue { return PeerServiceKey.String(val) } -// An operating system process. +// Namespace: process const ( - // ProcessCommandKey is the attribute Key conforming to the - // "process.command" semantic conventions. It represents the command used - // to launch the process (i.e. the command name). On Linux based systems, - // can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can - // be set to the first parameter extracted from `GetCommandLineW`. + // ProcessArgsCountKey is the attribute Key conforming to the + // "process.args_count" semantic conventions. It represents the length of the + // process.command_args array + // + // Stability: Development + // Type: int + // + // Examples: + // 4, + // + // Note: This field can be useful for querying or performing bucket analysis + // on how many arguments were provided to start a process. More arguments may + // be an indication of suspicious activity + ProcessArgsCountKey = attribute.Key("process.args_count") + + // ProcessCommandKey is the attribute Key conforming to the "process.command" + // semantic conventions. It represents the command used to launch the process + // (i.e. the command name). On Linux based systems, can be set to the zeroth + // string in `proc/[pid]/cmdline`. On Windows, can be set to the first + // parameter extracted from `GetCommandLineW`. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'cmd/otelcol' + // + // Examples: + // "cmd/otelcol", ProcessCommandKey = attribute.Key("process.command") // ProcessCommandArgsKey is the attribute Key conforming to the // "process.command_args" semantic conventions. It represents the all the - // command arguments (including the command/executable itself) as received - // by the process. On Linux-based systems (and some other Unixoid systems + // command arguments (including the command/executable itself) as received by + // the process. On Linux-based systems (and some other Unixoid systems // supporting procfs), can be set according to the list of null-delimited // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, // this would be the full argv vector passed to `main`. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'cmd/otecol', '--config=config.yaml' + // + // Examples: + // [ + // "cmd/otecol", + // "--config=config.yaml", + // ], ProcessCommandArgsKey = attribute.Key("process.command_args") // ProcessCommandLineKey is the attribute Key conforming to the - // "process.command_line" semantic conventions. It represents the full - // command used to launch the process as a single string representing the - // full command. On Windows, can be set to the result of `GetCommandLineW`. - // Do not set this if you have to assemble it just for monitoring; use + // "process.command_line" semantic conventions. It represents the full command + // used to launch the process as a single string representing the full + // command. On Windows, can be set to the result of `GetCommandLineW`. Do not + // set this if you have to assemble it just for monitoring; use // `process.command_args` instead. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"' + // + // Examples: + // "C:\cmd\otecol --config="my directory\config.yaml"", ProcessCommandLineKey = attribute.Key("process.command_line") // ProcessContextSwitchTypeKey is the attribute Key conforming to the // "process.context_switch_type" semantic conventions. It represents the - // specifies whether the context switches for this data point were - // voluntary or involuntary. - // + // specifies whether the context switches for this data point were voluntary + // or involuntary. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined ProcessContextSwitchTypeKey = attribute.Key("process.context_switch_type") // ProcessCreationTimeKey is the attribute Key conforming to the // "process.creation.time" semantic conventions. It represents the date and // time the process was created, in ISO 8601 format. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2023-11-21T09:25:34.853Z' + // + // Examples: + // "2023-11-21T09:25:34.853Z", ProcessCreationTimeKey = attribute.Key("process.creation.time") + // ProcessExecutableBuildIDGnuKey is the attribute Key conforming to the + // "process.executable.build_id.gnu" semantic conventions. It represents the + // GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). + // + // Stability: Development + // Type: string + // + // Examples: + // "c89b11207f6479603b0d49bf291c092c2b719293", + ProcessExecutableBuildIDGnuKey = attribute.Key("process.executable.build_id.gnu") + + // ProcessExecutableBuildIDGoKey is the attribute Key conforming to the + // "process.executable.build_id.go" semantic conventions. It represents the Go + // build ID as retrieved by `go tool buildid `. + // + // Stability: Development + // Type: string + // + // Examples: + // + // "foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY", + ProcessExecutableBuildIDGoKey = attribute.Key("process.executable.build_id.go") + + // ProcessExecutableBuildIDHtlhashKey is the attribute Key conforming to the + // "process.executable.build_id.htlhash" semantic conventions. It represents + // the profiling specific build ID for executables. See the OTel specification + // for Profiles for more information. + // + // Stability: Development + // Type: string + // + // Examples: + // "600DCAFE4A110000F2BF38C493F5FB92", + ProcessExecutableBuildIDHtlhashKey = attribute.Key("process.executable.build_id.htlhash") + // ProcessExecutableNameKey is the attribute Key conforming to the - // "process.executable.name" semantic conventions. It represents the name - // of the process executable. On Linux based systems, can be set to the - // `Name` in `proc/[pid]/status`. On Windows, can be set to the base name - // of `GetProcessImageFileNameW`. + // "process.executable.name" semantic conventions. It represents the name of + // the process executable. On Linux based systems, can be set to the `Name` in + // `proc/[pid]/status`. On Windows, can be set to the base name of + // `GetProcessImageFileNameW`. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'otelcol' + // + // Examples: + // "otelcol", ProcessExecutableNameKey = attribute.Key("process.executable.name") // ProcessExecutablePathKey is the attribute Key conforming to the - // "process.executable.path" semantic conventions. It represents the full - // path to the process executable. On Linux based systems, can be set to - // the target of `proc/[pid]/exe`. On Windows, can be set to the result of + // "process.executable.path" semantic conventions. It represents the full path + // to the process executable. On Linux based systems, can be set to the target + // of `proc/[pid]/exe`. On Windows, can be set to the result of // `GetProcessImageFileNameW`. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/usr/bin/cmd/otelcol' + // + // Examples: + // "/usr/bin/cmd/otelcol", ProcessExecutablePathKey = attribute.Key("process.executable.path") // ProcessExitCodeKey is the attribute Key conforming to the // "process.exit.code" semantic conventions. It represents the exit code of // the process. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 127 + // + // Examples: + // 127, ProcessExitCodeKey = attribute.Key("process.exit.code") // ProcessExitTimeKey is the attribute Key conforming to the - // "process.exit.time" semantic conventions. It represents the date and - // time the process exited, in ISO 8601 format. + // "process.exit.time" semantic conventions. It represents the date and time + // the process exited, in ISO 8601 format. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2023-11-21T09:26:12.315Z' + // + // Examples: + // "2023-11-21T09:26:12.315Z", ProcessExitTimeKey = attribute.Key("process.exit.time") // ProcessGroupLeaderPIDKey is the attribute Key conforming to the - // "process.group_leader.pid" semantic conventions. It represents the PID - // of the process's group leader. This is also the process group ID (PGID) - // of the process. + // "process.group_leader.pid" semantic conventions. It represents the PID of + // the process's group leader. This is also the process group ID (PGID) of the + // process. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 23 + // + // Examples: + // 23, ProcessGroupLeaderPIDKey = attribute.Key("process.group_leader.pid") // ProcessInteractiveKey is the attribute Key conforming to the - // "process.interactive" semantic conventions. It represents the whether - // the process is connected to an interactive shell. + // "process.interactive" semantic conventions. It represents the whether the + // process is connected to an interactive shell. // + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined ProcessInteractiveKey = attribute.Key("process.interactive") + // ProcessLinuxCgroupKey is the attribute Key conforming to the + // "process.linux.cgroup" semantic conventions. It represents the control + // group associated with the process. + // Stability: Development + // Type: string + // + // Examples: + // "1:name=systemd:/user.slice/user-1000.slice/session-3.scope", + // + // "0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope", + // + // Note: Control groups (cgroups) are a kernel feature used to organize and + // manage process resources. This attribute provides the path(s) to the + // cgroup(s) associated with the process, which should match the contents of + // the [/proc/[PID]/cgroup] file + // + // [/proc/[PID]/cgroup]: https://man7.org/linux/man-pages/man7/cgroups.7.html + ProcessLinuxCgroupKey = attribute.Key("process.linux.cgroup") + // ProcessOwnerKey is the attribute Key conforming to the "process.owner" - // semantic conventions. It represents the username of the user that owns - // the process. + // semantic conventions. It represents the username of the user that owns the + // process. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'root' + // + // Examples: + // "root", ProcessOwnerKey = attribute.Key("process.owner") // ProcessPagingFaultTypeKey is the attribute Key conforming to the - // "process.paging.fault_type" semantic conventions. It represents the type - // of page fault for this data point. Type `major` is for major/hard page - // faults, and `minor` is for minor/soft page faults. + // "process.paging.fault_type" semantic conventions. It represents the type of + // page fault for this data point. Type `major` is for major/hard page faults, + // and `minor` is for minor/soft page faults. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined ProcessPagingFaultTypeKey = attribute.Key("process.paging.fault_type") // ProcessParentPIDKey is the attribute Key conforming to the - // "process.parent_pid" semantic conventions. It represents the parent - // Process identifier (PPID). + // "process.parent_pid" semantic conventions. It represents the parent Process + // identifier (PPID). // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 111 + // + // Examples: + // 111, ProcessParentPIDKey = attribute.Key("process.parent_pid") - // ProcessPIDKey is the attribute Key conforming to the "process.pid" - // semantic conventions. It represents the process identifier (PID). + // ProcessPIDKey is the attribute Key conforming to the "process.pid" semantic + // conventions. It represents the process identifier (PID). // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1234 + // + // Examples: + // 1234, ProcessPIDKey = attribute.Key("process.pid") // ProcessRealUserIDKey is the attribute Key conforming to the - // "process.real_user.id" semantic conventions. It represents the real user - // ID (RUID) of the process. + // "process.real_user.id" semantic conventions. It represents the real user ID + // (RUID) of the process. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1000 + // + // Examples: + // 1000, ProcessRealUserIDKey = attribute.Key("process.real_user.id") // ProcessRealUserNameKey is the attribute Key conforming to the - // "process.real_user.name" semantic conventions. It represents the - // username of the real user of the process. + // "process.real_user.name" semantic conventions. It represents the username + // of the real user of the process. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'operator' + // + // Examples: + // "operator", ProcessRealUserNameKey = attribute.Key("process.real_user.name") // ProcessRuntimeDescriptionKey is the attribute Key conforming to the @@ -7119,116 +9856,144 @@ const ( // additional description about the runtime of the process, for example a // specific vendor customization of the runtime environment. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0' + // + // Examples: "Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0" ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description") // ProcessRuntimeNameKey is the attribute Key conforming to the - // "process.runtime.name" semantic conventions. It represents the name of - // the runtime of this process. + // "process.runtime.name" semantic conventions. It represents the name of the + // runtime of this process. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'OpenJDK Runtime Environment' + // + // Examples: + // "OpenJDK Runtime Environment", ProcessRuntimeNameKey = attribute.Key("process.runtime.name") // ProcessRuntimeVersionKey is the attribute Key conforming to the - // "process.runtime.version" semantic conventions. It represents the - // version of the runtime of this process, as returned by the runtime - // without modification. + // "process.runtime.version" semantic conventions. It represents the version + // of the runtime of this process, as returned by the runtime without + // modification. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '14.0.2' + // + // Examples: "14.0.2" ProcessRuntimeVersionKey = attribute.Key("process.runtime.version") // ProcessSavedUserIDKey is the attribute Key conforming to the - // "process.saved_user.id" semantic conventions. It represents the saved - // user ID (SUID) of the process. + // "process.saved_user.id" semantic conventions. It represents the saved user + // ID (SUID) of the process. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1002 + // + // Examples: + // 1002, ProcessSavedUserIDKey = attribute.Key("process.saved_user.id") // ProcessSavedUserNameKey is the attribute Key conforming to the - // "process.saved_user.name" semantic conventions. It represents the - // username of the saved user. + // "process.saved_user.name" semantic conventions. It represents the username + // of the saved user. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'operator' + // + // Examples: + // "operator", ProcessSavedUserNameKey = attribute.Key("process.saved_user.name") // ProcessSessionLeaderPIDKey is the attribute Key conforming to the - // "process.session_leader.pid" semantic conventions. It represents the PID - // of the process's session leader. This is also the session ID (SID) of - // the process. + // "process.session_leader.pid" semantic conventions. It represents the PID of + // the process's session leader. This is also the session ID (SID) of the + // process. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 14 + // + // Examples: + // 14, ProcessSessionLeaderPIDKey = attribute.Key("process.session_leader.pid") - // ProcessUserIDKey is the attribute Key conforming to the - // "process.user.id" semantic conventions. It represents the effective user - // ID (EUID) of the process. + // ProcessTitleKey is the attribute Key conforming to the "process.title" + // semantic conventions. It represents the process title (proctitle) + // + // Stability: Development + // Type: string + // + // Examples: + // "cat /etc/hostname", + // "xfce4-session", + // "bash", + // + // Note: In many Unix-like systems, process title (proctitle), is the string + // that represents the name or command line of a running process, displayed by + // system monitoring tools like ps, top, and htop + ProcessTitleKey = attribute.Key("process.title") + + // ProcessUserIDKey is the attribute Key conforming to the "process.user.id" + // semantic conventions. It represents the effective user ID (EUID) of the + // process. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1001 + // + // Examples: + // 1001, ProcessUserIDKey = attribute.Key("process.user.id") // ProcessUserNameKey is the attribute Key conforming to the - // "process.user.name" semantic conventions. It represents the username of - // the effective user of the process. + // "process.user.name" semantic conventions. It represents the username of the + // effective user of the process. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'root' + // + // Examples: + // "root", ProcessUserNameKey = attribute.Key("process.user.name") // ProcessVpidKey is the attribute Key conforming to the "process.vpid" // semantic conventions. It represents the virtual process identifier. // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 12 - // Note: The process ID within a PID namespace. This is not necessarily - // unique across all processes on the host but it is unique within the - // process namespace that the process exists within. + // + // Examples: + // 12, + // + // Note: The process ID within a PID namespace. This is not necessarily unique + // across all processes on the host but it is unique within the process + // namespace that the process exists within ProcessVpidKey = attribute.Key("process.vpid") -) -var ( - // voluntary - ProcessContextSwitchTypeVoluntary = ProcessContextSwitchTypeKey.String("voluntary") - // involuntary - ProcessContextSwitchTypeInvoluntary = ProcessContextSwitchTypeKey.String("involuntary") + // ProcessWorkingDirectoryKey is the attribute Key conforming to the + // "process.working_directory" semantic conventions. It represents the working + // directory of the process. + // + // Stability: Development + // Type: string + // + // Examples: + // "/root", + ProcessWorkingDirectoryKey = attribute.Key("process.working_directory") ) -var ( - // major - ProcessPagingFaultTypeMajor = ProcessPagingFaultTypeKey.String("major") - // minor - ProcessPagingFaultTypeMinor = ProcessPagingFaultTypeKey.String("minor") -) +// ProcessArgsCount returns an attribute KeyValue conforming to the +// "process.args_count" semantic conventions. It represents the length of the +// process.command_args array +func ProcessArgsCount(val int) attribute.KeyValue { + return ProcessArgsCountKey.Int(val) +} // ProcessCommand returns an attribute KeyValue conforming to the // "process.command" semantic conventions. It represents the command used to // launch the process (i.e. the command name). On Linux based systems, can be // set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to -// the first parameter extracted from `GetCommandLineW`. +// the first parameter extracted from `GetCommandLineW` func ProcessCommand(val string) attribute.KeyValue { return ProcessCommandKey.String(val) } @@ -7239,7 +10004,7 @@ func ProcessCommand(val string) attribute.KeyValue { // the process. On Linux-based systems (and some other Unixoid systems // supporting procfs), can be set according to the list of null-delimited // strings extracted from `proc/[pid]/cmdline`. For libc-based executables, -// this would be the full argv vector passed to `main`. +// this would be the full argv vector passed to `main` func ProcessCommandArgs(val ...string) attribute.KeyValue { return ProcessCommandArgsKey.StringSlice(val) } @@ -7249,23 +10014,53 @@ func ProcessCommandArgs(val ...string) attribute.KeyValue { // used to launch the process as a single string representing the full command. // On Windows, can be set to the result of `GetCommandLineW`. Do not set this // if you have to assemble it just for monitoring; use `process.command_args` -// instead. +// instead func ProcessCommandLine(val string) attribute.KeyValue { return ProcessCommandLineKey.String(val) } -// ProcessCreationTime returns an attribute KeyValue conforming to the -// "process.creation.time" semantic conventions. It represents the date and -// time the process was created, in ISO 8601 format. -func ProcessCreationTime(val string) attribute.KeyValue { - return ProcessCreationTimeKey.String(val) +// ProcessContextSwitchType returns an attribute KeyValue conforming to the +// "process.context_switch_type" semantic conventions. It represents the +// specifies whether the context switches for this data point were voluntary or +// involuntary +func ProcessContextSwitchType(val string) attribute.KeyValue { + return ProcessContextSwitchTypeKey.String(val) +} + +// ProcessCreationTime returns an attribute KeyValue conforming to the +// "process.creation.time" semantic conventions. It represents the date and +// time the process was created, in ISO 8601 format +func ProcessCreationTime(val string) attribute.KeyValue { + return ProcessCreationTimeKey.String(val) +} + +// ProcessExecutableBuildIDGnu returns an attribute KeyValue conforming to the +// "process.executable.build_id.gnu" semantic conventions. It represents the +// GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string) +func ProcessExecutableBuildIDGnu(val string) attribute.KeyValue { + return ProcessExecutableBuildIDGnuKey.String(val) +} + +// ProcessExecutableBuildIDGo returns an attribute KeyValue conforming to the +// "process.executable.build_id.go" semantic conventions. It represents the Go +// build ID as retrieved by `go tool buildid ` +func ProcessExecutableBuildIDGo(val string) attribute.KeyValue { + return ProcessExecutableBuildIDGoKey.String(val) +} + +// ProcessExecutableBuildIDHtlhash returns an attribute KeyValue conforming to +// the "process.executable.build_id.htlhash" semantic conventions. It +// represents the profiling specific build ID for executables. See the OTel +// specification for Profiles for more information +func ProcessExecutableBuildIDHtlhash(val string) attribute.KeyValue { + return ProcessExecutableBuildIDHtlhashKey.String(val) } // ProcessExecutableName returns an attribute KeyValue conforming to the // "process.executable.name" semantic conventions. It represents the name of // the process executable. On Linux based systems, can be set to the `Name` in // `proc/[pid]/status`. On Windows, can be set to the base name of -// `GetProcessImageFileNameW`. +// `GetProcessImageFileNameW` func ProcessExecutableName(val string) attribute.KeyValue { return ProcessExecutableNameKey.String(val) } @@ -7274,21 +10069,21 @@ func ProcessExecutableName(val string) attribute.KeyValue { // "process.executable.path" semantic conventions. It represents the full path // to the process executable. On Linux based systems, can be set to the target // of `proc/[pid]/exe`. On Windows, can be set to the result of -// `GetProcessImageFileNameW`. +// `GetProcessImageFileNameW` func ProcessExecutablePath(val string) attribute.KeyValue { return ProcessExecutablePathKey.String(val) } // ProcessExitCode returns an attribute KeyValue conforming to the // "process.exit.code" semantic conventions. It represents the exit code of the -// process. +// process func ProcessExitCode(val int) attribute.KeyValue { return ProcessExitCodeKey.Int(val) } // ProcessExitTime returns an attribute KeyValue conforming to the // "process.exit.time" semantic conventions. It represents the date and time -// the process exited, in ISO 8601 format. +// the process exited, in ISO 8601 format func ProcessExitTime(val string) attribute.KeyValue { return ProcessExitTimeKey.String(val) } @@ -7296,48 +10091,63 @@ func ProcessExitTime(val string) attribute.KeyValue { // ProcessGroupLeaderPID returns an attribute KeyValue conforming to the // "process.group_leader.pid" semantic conventions. It represents the PID of // the process's group leader. This is also the process group ID (PGID) of the -// process. +// process func ProcessGroupLeaderPID(val int) attribute.KeyValue { return ProcessGroupLeaderPIDKey.Int(val) } // ProcessInteractive returns an attribute KeyValue conforming to the // "process.interactive" semantic conventions. It represents the whether the -// process is connected to an interactive shell. +// process is connected to an interactive shell func ProcessInteractive(val bool) attribute.KeyValue { return ProcessInteractiveKey.Bool(val) } -// ProcessOwner returns an attribute KeyValue conforming to the -// "process.owner" semantic conventions. It represents the username of the user -// that owns the process. +// ProcessLinuxCgroup returns an attribute KeyValue conforming to the +// "process.linux.cgroup" semantic conventions. It represents the control group +// associated with the process +func ProcessLinuxCgroup(val string) attribute.KeyValue { + return ProcessLinuxCgroupKey.String(val) +} + +// ProcessOwner returns an attribute KeyValue conforming to the "process.owner" +// semantic conventions. It represents the username of the user that owns the +// process func ProcessOwner(val string) attribute.KeyValue { return ProcessOwnerKey.String(val) } +// ProcessPagingFaultType returns an attribute KeyValue conforming to the +// "process.paging.fault_type" semantic conventions. It represents the type of +// page fault for this data point. Type `major` is for major/hard page faults, +// and `minor` is for minor/soft page faults +func ProcessPagingFaultType(val string) attribute.KeyValue { + return ProcessPagingFaultTypeKey.String(val) +} + // ProcessParentPID returns an attribute KeyValue conforming to the // "process.parent_pid" semantic conventions. It represents the parent Process -// identifier (PPID). +// identifier (PPID) func ProcessParentPID(val int) attribute.KeyValue { return ProcessParentPIDKey.Int(val) } // ProcessPID returns an attribute KeyValue conforming to the "process.pid" -// semantic conventions. It represents the process identifier (PID). +// semantic conventions. It represents the process identifier (PID) func ProcessPID(val int) attribute.KeyValue { return ProcessPIDKey.Int(val) } // ProcessRealUserID returns an attribute KeyValue conforming to the // "process.real_user.id" semantic conventions. It represents the real user ID -// (RUID) of the process. +// (RUID) of the process func ProcessRealUserID(val int) attribute.KeyValue { return ProcessRealUserIDKey.Int(val) } // ProcessRealUserName returns an attribute KeyValue conforming to the // "process.real_user.name" semantic conventions. It represents the username of -// the real user of the process. +// the real user of the process func ProcessRealUserName(val string) attribute.KeyValue { return ProcessRealUserNameKey.String(val) } @@ -7345,36 +10155,35 @@ func ProcessRealUserName(val string) attribute.KeyValue { // ProcessRuntimeDescription returns an attribute KeyValue conforming to the // "process.runtime.description" semantic conventions. It represents an // additional description about the runtime of the process, for example a -// specific vendor customization of the runtime environment. +// specific vendor customization of the runtime environment func ProcessRuntimeDescription(val string) attribute.KeyValue { return ProcessRuntimeDescriptionKey.String(val) } // ProcessRuntimeName returns an attribute KeyValue conforming to the // "process.runtime.name" semantic conventions. It represents the name of the -// runtime of this process. +// runtime of this process func ProcessRuntimeName(val string) attribute.KeyValue { return ProcessRuntimeNameKey.String(val) } // ProcessRuntimeVersion returns an attribute KeyValue conforming to the // "process.runtime.version" semantic conventions. It represents the version of -// the runtime of this process, as returned by the runtime without -// modification. +// the runtime of this process, as returned by the runtime without modification func ProcessRuntimeVersion(val string) attribute.KeyValue { return ProcessRuntimeVersionKey.String(val) } // ProcessSavedUserID returns an attribute KeyValue conforming to the // "process.saved_user.id" semantic conventions. It represents the saved user -// ID (SUID) of the process. +// ID (SUID) of the process func ProcessSavedUserID(val int) attribute.KeyValue { return ProcessSavedUserIDKey.Int(val) } // ProcessSavedUserName returns an attribute KeyValue conforming to the // "process.saved_user.name" semantic conventions. It represents the username -// of the saved user. +// of the saved user func ProcessSavedUserName(val string) attribute.KeyValue { return ProcessSavedUserNameKey.String(val) } @@ -7382,506 +10191,874 @@ func ProcessSavedUserName(val string) attribute.KeyValue { // ProcessSessionLeaderPID returns an attribute KeyValue conforming to the // "process.session_leader.pid" semantic conventions. It represents the PID of // the process's session leader. This is also the session ID (SID) of the -// process. +// process func ProcessSessionLeaderPID(val int) attribute.KeyValue { return ProcessSessionLeaderPIDKey.Int(val) } +// ProcessTitle returns an attribute KeyValue conforming to the "process.title" +// semantic conventions. It represents the process title (proctitle) +func ProcessTitle(val string) attribute.KeyValue { + return ProcessTitleKey.String(val) +} + // ProcessUserID returns an attribute KeyValue conforming to the // "process.user.id" semantic conventions. It represents the effective user ID -// (EUID) of the process. +// (EUID) of the process func ProcessUserID(val int) attribute.KeyValue { return ProcessUserIDKey.Int(val) } // ProcessUserName returns an attribute KeyValue conforming to the // "process.user.name" semantic conventions. It represents the username of the -// effective user of the process. +// effective user of the process func ProcessUserName(val string) attribute.KeyValue { return ProcessUserNameKey.String(val) } -// ProcessVpid returns an attribute KeyValue conforming to the -// "process.vpid" semantic conventions. It represents the virtual process -// identifier. +// ProcessVpid returns an attribute KeyValue conforming to the "process.vpid" +// semantic conventions. It represents the virtual process identifier func ProcessVpid(val int) attribute.KeyValue { return ProcessVpidKey.Int(val) } -// Attributes for remote procedure calls. +// ProcessWorkingDirectory returns an attribute KeyValue conforming to the +// "process.working_directory" semantic conventions. It represents the working +// directory of the process +func ProcessWorkingDirectory(val string) attribute.KeyValue { + return ProcessWorkingDirectoryKey.String(val) +} + +// Enum values for process.context_switch_type +var ( + // voluntary + // Stability: development + ProcessContextSwitchTypeVoluntary = ProcessContextSwitchTypeKey.String("voluntary") + // involuntary + // Stability: development + ProcessContextSwitchTypeInvoluntary = ProcessContextSwitchTypeKey.String("involuntary") +) + +// Enum values for process.paging.fault_type +var ( + // major + // Stability: development + ProcessPagingFaultTypeMajor = ProcessPagingFaultTypeKey.String("major") + // minor + // Stability: development + ProcessPagingFaultTypeMinor = ProcessPagingFaultTypeKey.String("minor") +) + +// Namespace: profile +const ( + // ProfileFrameTypeKey is the attribute Key conforming to the + // "profile.frame.type" semantic conventions. It represents the describes the + // interpreter or compiler of a single frame. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "cpython", + ProfileFrameTypeKey = attribute.Key("profile.frame.type") +) + +// ProfileFrameType returns an attribute KeyValue conforming to the +// "profile.frame.type" semantic conventions. It represents the describes the +// interpreter or compiler of a single frame +func ProfileFrameType(val string) attribute.KeyValue { + return ProfileFrameTypeKey.String(val) +} + +// Enum values for profile.frame.type +var ( + // [.NET] + // + // Stability: development + // + // [.NET]: https://wikipedia.org/wiki/.NET + ProfileFrameTypeDotnet = ProfileFrameTypeKey.String("dotnet") + // [JVM] + // + // Stability: development + // + // [JVM]: https://wikipedia.org/wiki/Java_virtual_machine + ProfileFrameTypeJVM = ProfileFrameTypeKey.String("jvm") + // [Kernel] + // + // Stability: development + // + // [Kernel]: https://wikipedia.org/wiki/Kernel_(operating_system) + ProfileFrameTypeKernel = ProfileFrameTypeKey.String("kernel") + // [C], [C++], [Go], [Rust] + // + // Stability: development + // + // [C]: https://wikipedia.org/wiki/C_(programming_language) + // [C++]: https://wikipedia.org/wiki/C%2B%2B + // [Go]: https://wikipedia.org/wiki/Go_(programming_language) + // [Rust]: https://wikipedia.org/wiki/Rust_(programming_language) + ProfileFrameTypeNative = ProfileFrameTypeKey.String("native") + // [Perl] + // + // Stability: development + // + // [Perl]: https://wikipedia.org/wiki/Perl + ProfileFrameTypePerl = ProfileFrameTypeKey.String("perl") + // [PHP] + // + // Stability: development + // + // [PHP]: https://wikipedia.org/wiki/PHP + ProfileFrameTypePHP = ProfileFrameTypeKey.String("php") + // [Python] + // + // Stability: development + // + // [Python]: https://wikipedia.org/wiki/Python_(programming_language) + ProfileFrameTypeCpython = ProfileFrameTypeKey.String("cpython") + // [Ruby] + // + // Stability: development + // + // [Ruby]: https://wikipedia.org/wiki/Ruby_(programming_language) + ProfileFrameTypeRuby = ProfileFrameTypeKey.String("ruby") + // [V8JS] + // + // Stability: development + // + // [V8JS]: https://wikipedia.org/wiki/V8_(JavaScript_engine) + ProfileFrameTypeV8JS = ProfileFrameTypeKey.String("v8js") + // [Erlang] + // + // Stability: development + // + // [Erlang]: https://en.wikipedia.org/wiki/BEAM_(Erlang_virtual_machine) + ProfileFrameTypeBeam = ProfileFrameTypeKey.String("beam") +) + +// Namespace: rpc const ( // RPCConnectRPCErrorCodeKey is the attribute Key conforming to the // "rpc.connect_rpc.error_code" semantic conventions. It represents the - // [error codes](https://connect.build/docs/protocol/#error-codes) of the - // Connect request. Error codes are always string values. - // + // [error codes] of the Connect request. Error codes are always string values. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined + // + // [error codes]: https://connect.build/docs/protocol/#error-codes RPCConnectRPCErrorCodeKey = attribute.Key("rpc.connect_rpc.error_code") // RPCGRPCStatusCodeKey is the attribute Key conforming to the - // "rpc.grpc.status_code" semantic conventions. It represents the [numeric - // status - // code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of - // the gRPC request. - // + // "rpc.grpc.status_code" semantic conventions. It represents the + // [numeric status code] of the gRPC request. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined + // + // [numeric status code]: https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md RPCGRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code") // RPCJsonrpcErrorCodeKey is the attribute Key conforming to the // "rpc.jsonrpc.error_code" semantic conventions. It represents the // `error.code` property of response if it is an error response. - // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: -32700, 100 + // + // Examples: + // -32700, + // 100, RPCJsonrpcErrorCodeKey = attribute.Key("rpc.jsonrpc.error_code") // RPCJsonrpcErrorMessageKey is the attribute Key conforming to the // "rpc.jsonrpc.error_message" semantic conventions. It represents the // `error.message` property of response if it is an error response. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Parse error', 'User already exists' + // + // Examples: + // "Parse error", + // "User already exists", RPCJsonrpcErrorMessageKey = attribute.Key("rpc.jsonrpc.error_message") // RPCJsonrpcRequestIDKey is the attribute Key conforming to the // "rpc.jsonrpc.request_id" semantic conventions. It represents the `id` // property of request or response. Since protocol allows id to be int, - // string, `null` or missing (for notifications), value is expected to be - // cast to string for simplicity. Use empty string in case of `null` value. - // Omit entirely if this is a notification. + // string, `null` or missing (for notifications), value is expected to be cast + // to string for simplicity. Use empty string in case of `null` value. Omit + // entirely if this is a notification. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '10', 'request-7', '' + // + // Examples: + // "10", + // "request-7", + // "", RPCJsonrpcRequestIDKey = attribute.Key("rpc.jsonrpc.request_id") // RPCJsonrpcVersionKey is the attribute Key conforming to the // "rpc.jsonrpc.version" semantic conventions. It represents the protocol // version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 // doesn't specify this, the value can be omitted. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2.0', '1.0' + // + // Examples: + // "2.0", + // "1.0", RPCJsonrpcVersionKey = attribute.Key("rpc.jsonrpc.version") // RPCMessageCompressedSizeKey is the attribute Key conforming to the // "rpc.message.compressed_size" semantic conventions. It represents the // compressed size of the message in bytes. - // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined RPCMessageCompressedSizeKey = attribute.Key("rpc.message.compressed_size") // RPCMessageIDKey is the attribute Key conforming to the "rpc.message.id" - // semantic conventions. It represents the mUST be calculated as two - // different counters starting from `1` one for sent messages and one for - // received message. - // + // semantic conventions. It represents the mUST be calculated as two different + // counters starting from `1` one for sent messages and one for received + // message. + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined // Note: This way we guarantee that the values will be consistent between - // different implementations. + // different implementations RPCMessageIDKey = attribute.Key("rpc.message.id") - // RPCMessageTypeKey is the attribute Key conforming to the - // "rpc.message.type" semantic conventions. It represents the whether this - // is a received or sent message. - // + // RPCMessageTypeKey is the attribute Key conforming to the "rpc.message.type" + // semantic conventions. It represents the whether this is a received or sent + // message. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined RPCMessageTypeKey = attribute.Key("rpc.message.type") // RPCMessageUncompressedSizeKey is the attribute Key conforming to the // "rpc.message.uncompressed_size" semantic conventions. It represents the // uncompressed size of the message in bytes. - // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined RPCMessageUncompressedSizeKey = attribute.Key("rpc.message.uncompressed_size") - // RPCMethodKey is the attribute Key conforming to the "rpc.method" - // semantic conventions. It represents the name of the (logical) method - // being called, must be equal to the $method part in the span name. - // + // RPCMethodKey is the attribute Key conforming to the "rpc.method" semantic + // conventions. It represents the name of the (logical) method being called, + // must be equal to the $method part in the span name. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'exampleMethod' + // + // Examples: "exampleMethod" // Note: This is the logical name of the method from the RPC interface // perspective, which can be different from the name of any implementing - // method/function. The `code.function` attribute may be used to store the - // latter (e.g., method actually executing the call on the server side, RPC - // client stub method on the client side). + // method/function. The `code.function.name` attribute may be used to store + // the latter (e.g., method actually executing the call on the server side, + // RPC client stub method on the client side) RPCMethodKey = attribute.Key("rpc.method") - // RPCServiceKey is the attribute Key conforming to the "rpc.service" - // semantic conventions. It represents the full (logical) name of the - // service being called, including its package name, if applicable. - // + // RPCServiceKey is the attribute Key conforming to the "rpc.service" semantic + // conventions. It represents the full (logical) name of the service being + // called, including its package name, if applicable. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'myservice.EchoService' + // + // Examples: "myservice.EchoService" // Note: This is the logical name of the service from the RPC interface // perspective, which can be different from the name of any implementing // class. The `code.namespace` attribute may be used to store the latter - // (despite the attribute name, it may include a class name; e.g., class - // with method actually executing the call on the server side, RPC client - // stub class on the client side). + // (despite the attribute name, it may include a class name; e.g., class with + // method actually executing the call on the server side, RPC client stub + // class on the client side) RPCServiceKey = attribute.Key("rpc.service") - // RPCSystemKey is the attribute Key conforming to the "rpc.system" - // semantic conventions. It represents a string identifying the remoting - // system. See below for a list of well-known identifiers. - // + // RPCSystemKey is the attribute Key conforming to the "rpc.system" semantic + // conventions. It represents a string identifying the remoting system. See + // below for a list of well-known identifiers. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined RPCSystemKey = attribute.Key("rpc.system") ) +// RPCConnectRPCErrorCode returns an attribute KeyValue conforming to the +// "rpc.connect_rpc.error_code" semantic conventions. It represents the +// [error codes] of the Connect request. Error codes are always string values +// +// [error codes]: https://connect.build/docs/protocol/#error-codes +func RPCConnectRPCErrorCode(val string) attribute.KeyValue { + return RPCConnectRPCErrorCodeKey.String(val) +} + +// RPCGRPCStatusCode returns an attribute KeyValue conforming to the +// "rpc.grpc.status_code" semantic conventions. It represents the +// [numeric status code] of the gRPC request +// +// [numeric status code]: https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md +func RPCGRPCStatusCode(val int) attribute.KeyValue { + return RPCGRPCStatusCodeKey.Int(val) +} + +// RPCJsonrpcErrorCode returns an attribute KeyValue conforming to the +// "rpc.jsonrpc.error_code" semantic conventions. It represents the +// `error.code` property of response if it is an error response +func RPCJsonrpcErrorCode(val int) attribute.KeyValue { + return RPCJsonrpcErrorCodeKey.Int(val) +} + +// RPCJsonrpcErrorMessage returns an attribute KeyValue conforming to the +// "rpc.jsonrpc.error_message" semantic conventions. It represents the +// `error.message` property of response if it is an error response +func RPCJsonrpcErrorMessage(val string) attribute.KeyValue { + return RPCJsonrpcErrorMessageKey.String(val) +} + +// RPCJsonrpcRequestID returns an attribute KeyValue conforming to the +// "rpc.jsonrpc.request_id" semantic conventions. It represents the `id` +// property of request or response. Since protocol allows id to be int, string, +// `null` or missing (for notifications), value is expected to be cast to +// string for simplicity. Use empty string in case of `null` value. Omit +// entirely if this is a notification +func RPCJsonrpcRequestID(val string) attribute.KeyValue { + return RPCJsonrpcRequestIDKey.String(val) +} + +// RPCJsonrpcVersion returns an attribute KeyValue conforming to the +// "rpc.jsonrpc.version" semantic conventions. It represents the protocol +// version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 +// doesn't specify this, the value can be omitted +func RPCJsonrpcVersion(val string) attribute.KeyValue { + return RPCJsonrpcVersionKey.String(val) +} + +// RPCMessageCompressedSize returns an attribute KeyValue conforming to the +// "rpc.message.compressed_size" semantic conventions. It represents the +// compressed size of the message in bytes +func RPCMessageCompressedSize(val int) attribute.KeyValue { + return RPCMessageCompressedSizeKey.Int(val) +} + +// RPCMessageID returns an attribute KeyValue conforming to the +// "rpc.message.id" semantic conventions. It represents the mUST be calculated +// as two different counters starting from `1` one for sent messages and one +// for received message +func RPCMessageID(val int) attribute.KeyValue { + return RPCMessageIDKey.Int(val) +} + +// RPCMessageType returns an attribute KeyValue conforming to the +// "rpc.message.type" semantic conventions. It represents the whether this is a +// received or sent message +func RPCMessageType(val string) attribute.KeyValue { + return RPCMessageTypeKey.String(val) +} + +// RPCMessageUncompressedSize returns an attribute KeyValue conforming to the +// "rpc.message.uncompressed_size" semantic conventions. It represents the +// uncompressed size of the message in bytes +func RPCMessageUncompressedSize(val int) attribute.KeyValue { + return RPCMessageUncompressedSizeKey.Int(val) +} + +// RPCMethod returns an attribute KeyValue conforming to the "rpc.method" +// semantic conventions. It represents the name of the (logical) method being +// called, must be equal to the $method part in the span name +func RPCMethod(val string) attribute.KeyValue { + return RPCMethodKey.String(val) +} + +// RPCService returns an attribute KeyValue conforming to the "rpc.service" +// semantic conventions. It represents the full (logical) name of the service +// being called, including its package name, if applicable +func RPCService(val string) attribute.KeyValue { + return RPCServiceKey.String(val) +} + +// RPCSystem returns an attribute KeyValue conforming to the "rpc.system" +// semantic conventions. It represents a string identifying the remoting +// system. See below for a list of well-known identifiers +func RPCSystem(val string) attribute.KeyValue { + return RPCSystemKey.String(val) +} + +// Enum values for rpc.connect_rpc.error_code var ( // cancelled + // Stability: development RPCConnectRPCErrorCodeCancelled = RPCConnectRPCErrorCodeKey.String("cancelled") // unknown + // Stability: development RPCConnectRPCErrorCodeUnknown = RPCConnectRPCErrorCodeKey.String("unknown") // invalid_argument + // Stability: development RPCConnectRPCErrorCodeInvalidArgument = RPCConnectRPCErrorCodeKey.String("invalid_argument") // deadline_exceeded + // Stability: development RPCConnectRPCErrorCodeDeadlineExceeded = RPCConnectRPCErrorCodeKey.String("deadline_exceeded") // not_found + // Stability: development RPCConnectRPCErrorCodeNotFound = RPCConnectRPCErrorCodeKey.String("not_found") // already_exists + // Stability: development RPCConnectRPCErrorCodeAlreadyExists = RPCConnectRPCErrorCodeKey.String("already_exists") // permission_denied + // Stability: development RPCConnectRPCErrorCodePermissionDenied = RPCConnectRPCErrorCodeKey.String("permission_denied") // resource_exhausted + // Stability: development RPCConnectRPCErrorCodeResourceExhausted = RPCConnectRPCErrorCodeKey.String("resource_exhausted") // failed_precondition + // Stability: development RPCConnectRPCErrorCodeFailedPrecondition = RPCConnectRPCErrorCodeKey.String("failed_precondition") // aborted + // Stability: development RPCConnectRPCErrorCodeAborted = RPCConnectRPCErrorCodeKey.String("aborted") // out_of_range + // Stability: development RPCConnectRPCErrorCodeOutOfRange = RPCConnectRPCErrorCodeKey.String("out_of_range") // unimplemented + // Stability: development RPCConnectRPCErrorCodeUnimplemented = RPCConnectRPCErrorCodeKey.String("unimplemented") // internal + // Stability: development RPCConnectRPCErrorCodeInternal = RPCConnectRPCErrorCodeKey.String("internal") // unavailable + // Stability: development RPCConnectRPCErrorCodeUnavailable = RPCConnectRPCErrorCodeKey.String("unavailable") // data_loss + // Stability: development RPCConnectRPCErrorCodeDataLoss = RPCConnectRPCErrorCodeKey.String("data_loss") // unauthenticated + // Stability: development RPCConnectRPCErrorCodeUnauthenticated = RPCConnectRPCErrorCodeKey.String("unauthenticated") ) +// Enum values for rpc.grpc.status_code var ( // OK + // Stability: development RPCGRPCStatusCodeOk = RPCGRPCStatusCodeKey.Int(0) // CANCELLED + // Stability: development RPCGRPCStatusCodeCancelled = RPCGRPCStatusCodeKey.Int(1) // UNKNOWN + // Stability: development RPCGRPCStatusCodeUnknown = RPCGRPCStatusCodeKey.Int(2) // INVALID_ARGUMENT + // Stability: development RPCGRPCStatusCodeInvalidArgument = RPCGRPCStatusCodeKey.Int(3) // DEADLINE_EXCEEDED + // Stability: development RPCGRPCStatusCodeDeadlineExceeded = RPCGRPCStatusCodeKey.Int(4) // NOT_FOUND + // Stability: development RPCGRPCStatusCodeNotFound = RPCGRPCStatusCodeKey.Int(5) // ALREADY_EXISTS + // Stability: development RPCGRPCStatusCodeAlreadyExists = RPCGRPCStatusCodeKey.Int(6) // PERMISSION_DENIED + // Stability: development RPCGRPCStatusCodePermissionDenied = RPCGRPCStatusCodeKey.Int(7) // RESOURCE_EXHAUSTED + // Stability: development RPCGRPCStatusCodeResourceExhausted = RPCGRPCStatusCodeKey.Int(8) // FAILED_PRECONDITION + // Stability: development RPCGRPCStatusCodeFailedPrecondition = RPCGRPCStatusCodeKey.Int(9) // ABORTED + // Stability: development RPCGRPCStatusCodeAborted = RPCGRPCStatusCodeKey.Int(10) // OUT_OF_RANGE + // Stability: development RPCGRPCStatusCodeOutOfRange = RPCGRPCStatusCodeKey.Int(11) // UNIMPLEMENTED + // Stability: development RPCGRPCStatusCodeUnimplemented = RPCGRPCStatusCodeKey.Int(12) // INTERNAL + // Stability: development RPCGRPCStatusCodeInternal = RPCGRPCStatusCodeKey.Int(13) // UNAVAILABLE + // Stability: development RPCGRPCStatusCodeUnavailable = RPCGRPCStatusCodeKey.Int(14) // DATA_LOSS + // Stability: development RPCGRPCStatusCodeDataLoss = RPCGRPCStatusCodeKey.Int(15) // UNAUTHENTICATED + // Stability: development RPCGRPCStatusCodeUnauthenticated = RPCGRPCStatusCodeKey.Int(16) ) +// Enum values for rpc.message.type var ( // sent + // Stability: development RPCMessageTypeSent = RPCMessageTypeKey.String("SENT") // received + // Stability: development RPCMessageTypeReceived = RPCMessageTypeKey.String("RECEIVED") ) +// Enum values for rpc.system var ( // gRPC + // Stability: development RPCSystemGRPC = RPCSystemKey.String("grpc") // Java RMI + // Stability: development RPCSystemJavaRmi = RPCSystemKey.String("java_rmi") // .NET WCF + // Stability: development RPCSystemDotnetWcf = RPCSystemKey.String("dotnet_wcf") // Apache Dubbo + // Stability: development RPCSystemApacheDubbo = RPCSystemKey.String("apache_dubbo") // Connect RPC + // Stability: development RPCSystemConnectRPC = RPCSystemKey.String("connect_rpc") ) -// RPCJsonrpcErrorCode returns an attribute KeyValue conforming to the -// "rpc.jsonrpc.error_code" semantic conventions. It represents the -// `error.code` property of response if it is an error response. -func RPCJsonrpcErrorCode(val int) attribute.KeyValue { - return RPCJsonrpcErrorCodeKey.Int(val) -} +// Namespace: security_rule +const ( + // SecurityRuleCategoryKey is the attribute Key conforming to the + // "security_rule.category" semantic conventions. It represents a + // categorization value keyword used by the entity using the rule for + // detection of this event + // + // Stability: Development + // Type: string + // + // Examples: + // "Attempted Information Leak", + SecurityRuleCategoryKey = attribute.Key("security_rule.category") -// RPCJsonrpcErrorMessage returns an attribute KeyValue conforming to the -// "rpc.jsonrpc.error_message" semantic conventions. It represents the -// `error.message` property of response if it is an error response. -func RPCJsonrpcErrorMessage(val string) attribute.KeyValue { - return RPCJsonrpcErrorMessageKey.String(val) + // SecurityRuleDescriptionKey is the attribute Key conforming to the + // "security_rule.description" semantic conventions. It represents the + // description of the rule generating the event. + // + // Stability: Development + // Type: string + // + // Examples: + // "Block requests to public DNS over HTTPS / TLS protocols", + SecurityRuleDescriptionKey = attribute.Key("security_rule.description") + + // SecurityRuleLicenseKey is the attribute Key conforming to the + // "security_rule.license" semantic conventions. It represents the name of the + // license under which the rule used to generate this event is made available. + // + // Stability: Development + // Type: string + // + // Examples: + // "Apache 2.0", + SecurityRuleLicenseKey = attribute.Key("security_rule.license") + + // SecurityRuleNameKey is the attribute Key conforming to the + // "security_rule.name" semantic conventions. It represents the name of the + // rule or signature generating the event. + // + // Stability: Development + // Type: string + // + // Examples: + // "BLOCK_DNS_over_TLS", + SecurityRuleNameKey = attribute.Key("security_rule.name") + + // SecurityRuleReferenceKey is the attribute Key conforming to the + // "security_rule.reference" semantic conventions. It represents the reference + // URL to additional information about the rule used to generate this event. + // + // Stability: Development + // Type: string + // + // Examples: + // "https://en.wikipedia.org/wiki/DNS_over_TLS", + // + // Note: The URL can point to the vendor’s documentation about the rule. If + // that’s not available, it can also be a link to a more general page + // describing this type of alert + SecurityRuleReferenceKey = attribute.Key("security_rule.reference") + + // SecurityRuleRulesetNameKey is the attribute Key conforming to the + // "security_rule.ruleset.name" semantic conventions. It represents the name + // of the ruleset, policy, group, or parent category in which the rule used to + // generate this event is a member. + // + // Stability: Development + // Type: string + // + // Examples: + // "Standard_Protocol_Filters", + SecurityRuleRulesetNameKey = attribute.Key("security_rule.ruleset.name") + + // SecurityRuleUUIDKey is the attribute Key conforming to the + // "security_rule.uuid" semantic conventions. It represents a rule ID that is + // unique within the scope of a set or group of agents, observers, or other + // entities using the rule for detection of this event. + // + // Stability: Development + // Type: string + // + // Examples: + // "550e8400-e29b-41d4-a716-446655440000", + // "1100110011", + SecurityRuleUUIDKey = attribute.Key("security_rule.uuid") + + // SecurityRuleVersionKey is the attribute Key conforming to the + // "security_rule.version" semantic conventions. It represents the version / + // revision of the rule being used for analysis. + // + // Stability: Development + // Type: string + // + // Examples: + // "1.0.0", + SecurityRuleVersionKey = attribute.Key("security_rule.version") +) + +// SecurityRuleCategory returns an attribute KeyValue conforming to the +// "security_rule.category" semantic conventions. It represents a +// categorization value keyword used by the entity using the rule for detection +// of this event +func SecurityRuleCategory(val string) attribute.KeyValue { + return SecurityRuleCategoryKey.String(val) } -// RPCJsonrpcRequestID returns an attribute KeyValue conforming to the -// "rpc.jsonrpc.request_id" semantic conventions. It represents the `id` -// property of request or response. Since protocol allows id to be int, string, -// `null` or missing (for notifications), value is expected to be cast to -// string for simplicity. Use empty string in case of `null` value. Omit -// entirely if this is a notification. -func RPCJsonrpcRequestID(val string) attribute.KeyValue { - return RPCJsonrpcRequestIDKey.String(val) +// SecurityRuleDescription returns an attribute KeyValue conforming to the +// "security_rule.description" semantic conventions. It represents the +// description of the rule generating the event +func SecurityRuleDescription(val string) attribute.KeyValue { + return SecurityRuleDescriptionKey.String(val) } -// RPCJsonrpcVersion returns an attribute KeyValue conforming to the -// "rpc.jsonrpc.version" semantic conventions. It represents the protocol -// version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 -// doesn't specify this, the value can be omitted. -func RPCJsonrpcVersion(val string) attribute.KeyValue { - return RPCJsonrpcVersionKey.String(val) +// SecurityRuleLicense returns an attribute KeyValue conforming to the +// "security_rule.license" semantic conventions. It represents the name of the +// license under which the rule used to generate this event is made available +func SecurityRuleLicense(val string) attribute.KeyValue { + return SecurityRuleLicenseKey.String(val) } -// RPCMessageCompressedSize returns an attribute KeyValue conforming to the -// "rpc.message.compressed_size" semantic conventions. It represents the -// compressed size of the message in bytes. -func RPCMessageCompressedSize(val int) attribute.KeyValue { - return RPCMessageCompressedSizeKey.Int(val) +// SecurityRuleName returns an attribute KeyValue conforming to the +// "security_rule.name" semantic conventions. It represents the name of the +// rule or signature generating the event +func SecurityRuleName(val string) attribute.KeyValue { + return SecurityRuleNameKey.String(val) } -// RPCMessageID returns an attribute KeyValue conforming to the -// "rpc.message.id" semantic conventions. It represents the mUST be calculated -// as two different counters starting from `1` one for sent messages and one -// for received message. -func RPCMessageID(val int) attribute.KeyValue { - return RPCMessageIDKey.Int(val) +// SecurityRuleReference returns an attribute KeyValue conforming to the +// "security_rule.reference" semantic conventions. It represents the reference +// URL to additional information about the rule used to generate this event +func SecurityRuleReference(val string) attribute.KeyValue { + return SecurityRuleReferenceKey.String(val) } -// RPCMessageUncompressedSize returns an attribute KeyValue conforming to -// the "rpc.message.uncompressed_size" semantic conventions. It represents the -// uncompressed size of the message in bytes. -func RPCMessageUncompressedSize(val int) attribute.KeyValue { - return RPCMessageUncompressedSizeKey.Int(val) +// SecurityRuleRulesetName returns an attribute KeyValue conforming to the +// "security_rule.ruleset.name" semantic conventions. It represents the name of +// the ruleset, policy, group, or parent category in which the rule used to +// generate this event is a member +func SecurityRuleRulesetName(val string) attribute.KeyValue { + return SecurityRuleRulesetNameKey.String(val) } -// RPCMethod returns an attribute KeyValue conforming to the "rpc.method" -// semantic conventions. It represents the name of the (logical) method being -// called, must be equal to the $method part in the span name. -func RPCMethod(val string) attribute.KeyValue { - return RPCMethodKey.String(val) +// SecurityRuleUUID returns an attribute KeyValue conforming to the +// "security_rule.uuid" semantic conventions. It represents a rule ID that is +// unique within the scope of a set or group of agents, observers, or other +// entities using the rule for detection of this event +func SecurityRuleUUID(val string) attribute.KeyValue { + return SecurityRuleUUIDKey.String(val) } -// RPCService returns an attribute KeyValue conforming to the "rpc.service" -// semantic conventions. It represents the full (logical) name of the service -// being called, including its package name, if applicable. -func RPCService(val string) attribute.KeyValue { - return RPCServiceKey.String(val) +// SecurityRuleVersion returns an attribute KeyValue conforming to the +// "security_rule.version" semantic conventions. It represents the version / +// revision of the rule being used for analysis +func SecurityRuleVersion(val string) attribute.KeyValue { + return SecurityRuleVersionKey.String(val) } -// These attributes may be used to describe the server in a connection-based -// network interaction where there is one side that initiates the connection -// (the client is the side that initiates the connection). This covers all TCP -// network interactions since TCP is connection-based and one side initiates -// the connection (an exception is made for peer-to-peer communication over TCP -// where the "user-facing" surface of the protocol / API doesn't expose a clear -// notion of client and server). This also covers UDP network interactions -// where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS. +// Namespace: server const ( // ServerAddressKey is the attribute Key conforming to the "server.address" // semantic conventions. It represents the server domain name if available // without reverse DNS lookup; otherwise, IP address or Unix domain socket // name. - // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'example.com', '10.1.2.80', '/tmp/my.sock' - // Note: When observed from the client side, and when communicating through - // an intermediary, `server.address` SHOULD represent the server address - // behind any intermediaries, for example proxies, if it's available. + // + // Examples: + // "example.com", + // "10.1.2.80", + // "/tmp/my.sock", + // + // Note: When observed from the client side, and when communicating through an + // intermediary, `server.address` SHOULD represent the server address behind + // any intermediaries, for example proxies, if it's available ServerAddressKey = attribute.Key("server.address") - // ServerPortKey is the attribute Key conforming to the "server.port" - // semantic conventions. It represents the server port number. - // + // ServerPortKey is the attribute Key conforming to the "server.port" semantic + // conventions. It represents the server port number. + // Stability: Stable // Type: int - // RequirementLevel: Optional - // Stability: stable - // Examples: 80, 8080, 443 - // Note: When observed from the client side, and when communicating through - // an intermediary, `server.port` SHOULD represent the server port behind - // any intermediaries, for example proxies, if it's available. + // + // Examples: + // 80, + // 8080, + // 443, + // + // Note: When observed from the client side, and when communicating through an + // intermediary, `server.port` SHOULD represent the server port behind any + // intermediaries, for example proxies, if it's available ServerPortKey = attribute.Key("server.port") ) // ServerAddress returns an attribute KeyValue conforming to the // "server.address" semantic conventions. It represents the server domain name // if available without reverse DNS lookup; otherwise, IP address or Unix -// domain socket name. +// domain socket name func ServerAddress(val string) attribute.KeyValue { return ServerAddressKey.String(val) } // ServerPort returns an attribute KeyValue conforming to the "server.port" -// semantic conventions. It represents the server port number. +// semantic conventions. It represents the server port number func ServerPort(val int) attribute.KeyValue { return ServerPortKey.Int(val) } -// A service instance. +// Namespace: service const ( // ServiceInstanceIDKey is the attribute Key conforming to the - // "service.instance.id" semantic conventions. It represents the string ID - // of the service instance. + // "service.instance.id" semantic conventions. It represents the string ID of + // the service instance. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '627cc493-f310-47de-96bd-71410b7dec09' + // + // Examples: + // "627cc493-f310-47de-96bd-71410b7dec09", + // // Note: MUST be unique for each instance of the same // `service.namespace,service.name` pair (in other words // `service.namespace,service.name,service.instance.id` triplet MUST be // globally unique). The ID helps to - // distinguish instances of the same service that exist at the same time - // (e.g. instances of a horizontally scaled + // distinguish instances of the same service that exist at the same time (e.g. + // instances of a horizontally scaled // service). // - // Implementations, such as SDKs, are recommended to generate a random - // Version 1 or Version 4 [RFC - // 4122](https://www.ietf.org/rfc/rfc4122.txt) UUID, but are free to use an - // inherent unique ID as the source of - // this value if stability is desirable. In that case, the ID SHOULD be - // used as source of a UUID Version 5 and + // Implementations, such as SDKs, are recommended to generate a random Version + // 1 or Version 4 [RFC + // 4122] UUID, but are free to use an inherent unique ID + // as the source of + // this value if stability is desirable. In that case, the ID SHOULD be used + // as source of a UUID Version 5 and // SHOULD use the following UUID as the namespace: // `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. // - // UUIDs are typically recommended, as only an opaque value for the - // purposes of identifying a service instance is + // UUIDs are typically recommended, as only an opaque value for the purposes + // of identifying a service instance is // needed. Similar to what can be seen in the man page for the - // [`/etc/machine-id`](https://www.freedesktop.org/software/systemd/man/machine-id.html) - // file, the underlying + // [`/etc/machine-id`] file, the underlying // data, such as pod name and namespace should be treated as confidential, // being the user's choice to expose it // or not via another resource attribute. // - // For applications running behind an application server (like unicorn), we - // do not recommend using one identifier + // For applications running behind an application server (like unicorn), we do + // not recommend using one identifier // for all processes participating in the application. Instead, it's // recommended each division (e.g. a worker // thread in unicorn) to have its own instance.id. // // It's not recommended for a Collector to set `service.instance.id` if it // can't unambiguously determine the - // service instance that is generating that telemetry. For instance, - // creating an UUID based on `pod.name` will + // service instance that is generating that telemetry. For instance, creating + // an UUID based on `pod.name` will // likely be wrong, as the Collector might not know from which container // within that pod the telemetry originated. // However, Collectors can set the `service.instance.id` if they can // unambiguously determine the service instance - // for that telemetry. This is typically the case for scraping receivers, - // as they know the target address and - // port. + // for that telemetry. This is typically the case for scraping receivers, as + // they know the target address and + // port + // + // [RFC + // 4122]: https://www.ietf.org/rfc/rfc4122.txt + // [`/etc/machine-id`]: https://www.freedesktop.org/software/systemd/man/latest/machine-id.html ServiceInstanceIDKey = attribute.Key("service.instance.id") // ServiceNameKey is the attribute Key conforming to the "service.name" // semantic conventions. It represents the logical name of the service. // - // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'shoppingcart' - // Note: MUST be the same for all instances of horizontally scaled - // services. If the value was not specified, SDKs MUST fallback to - // `unknown_service:` concatenated with - // [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If - // `process.executable.name` is not available, the value MUST be set to - // `unknown_service`. + // Stability: Stable + // Type: string + // + // Examples: + // "shoppingcart", + // + // Note: MUST be the same for all instances of horizontally scaled services. + // If the value was not specified, SDKs MUST fallback to `unknown_service:` + // concatenated with [`process.executable.name`], e.g. `unknown_service:bash` + // . If `process.executable.name` is not available, the value MUST be set to + // `unknown_service` + // + // [`process.executable.name`]: process.md ServiceNameKey = attribute.Key("service.name") // ServiceNamespaceKey is the attribute Key conforming to the // "service.namespace" semantic conventions. It represents a namespace for // `service.name`. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Shop' - // Note: A string value having a meaning that helps to distinguish a group - // of services, for example the team name that owns a group of services. + // + // Examples: + // "Shop", + // + // Note: A string value having a meaning that helps to distinguish a group of + // services, for example the team name that owns a group of services. // `service.name` is expected to be unique within the same namespace. If - // `service.namespace` is not specified in the Resource then `service.name` - // is expected to be unique for all services that have no explicit - // namespace defined (so the empty/unspecified namespace is simply one more - // valid namespace). Zero-length namespace string is assumed equal to - // unspecified namespace. + // `service.namespace` is not specified in the Resource then `service.name` is + // expected to be unique for all services that have no explicit namespace + // defined (so the empty/unspecified namespace is simply one more valid + // namespace). Zero-length namespace string is assumed equal to unspecified + // namespace ServiceNamespaceKey = attribute.Key("service.namespace") - // ServiceVersionKey is the attribute Key conforming to the - // "service.version" semantic conventions. It represents the version string - // of the service API or implementation. The format is not defined by these - // conventions. + // ServiceVersionKey is the attribute Key conforming to the "service.version" + // semantic conventions. It represents the version string of the service API + // or implementation. The format is not defined by these conventions. // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '2.0.0', 'a01dbef8a' + // + // Examples: + // "2.0.0", + // "a01dbef8a", ServiceVersionKey = attribute.Key("service.version") ) // ServiceInstanceID returns an attribute KeyValue conforming to the // "service.instance.id" semantic conventions. It represents the string ID of -// the service instance. +// the service instance func ServiceInstanceID(val string) attribute.KeyValue { return ServiceInstanceIDKey.String(val) } -// ServiceName returns an attribute KeyValue conforming to the -// "service.name" semantic conventions. It represents the logical name of the -// service. +// ServiceName returns an attribute KeyValue conforming to the "service.name" +// semantic conventions. It represents the logical name of the service func ServiceName(val string) attribute.KeyValue { return ServiceNameKey.String(val) } // ServiceNamespace returns an attribute KeyValue conforming to the // "service.namespace" semantic conventions. It represents a namespace for -// `service.name`. +// `service.name` func ServiceNamespace(val string) attribute.KeyValue { return ServiceNamespaceKey.String(val) } @@ -7889,136 +11066,147 @@ func ServiceNamespace(val string) attribute.KeyValue { // ServiceVersion returns an attribute KeyValue conforming to the // "service.version" semantic conventions. It represents the version string of // the service API or implementation. The format is not defined by these -// conventions. +// conventions func ServiceVersion(val string) attribute.KeyValue { return ServiceVersionKey.String(val) } -// Session is defined as the period of time encompassing all activities -// performed by the application and the actions executed by the end user. -// Consequently, a Session is represented as a collection of Logs, Events, and -// Spans emitted by the Client Application throughout the Session's duration. -// Each Session is assigned a unique identifier, which is included as an -// attribute in the Logs, Events, and Spans generated during the Session's -// lifecycle. -// When a session reaches end of life, typically due to user inactivity or -// session timeout, a new session identifier will be assigned. The previous -// session identifier may be provided by the instrumentation so that telemetry -// backends can link the two sessions. +// Namespace: session const ( - // SessionIDKey is the attribute Key conforming to the "session.id" - // semantic conventions. It represents a unique id to identify a session. - // + // SessionIDKey is the attribute Key conforming to the "session.id" semantic + // conventions. It represents a unique id to identify a session. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '00112233-4455-6677-8899-aabbccddeeff' + // + // Examples: "00112233-4455-6677-8899-aabbccddeeff" SessionIDKey = attribute.Key("session.id") // SessionPreviousIDKey is the attribute Key conforming to the // "session.previous_id" semantic conventions. It represents the previous // `session.id` for this user, when known. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '00112233-4455-6677-8899-aabbccddeeff' + // + // Examples: "00112233-4455-6677-8899-aabbccddeeff" SessionPreviousIDKey = attribute.Key("session.previous_id") ) // SessionID returns an attribute KeyValue conforming to the "session.id" -// semantic conventions. It represents a unique id to identify a session. +// semantic conventions. It represents a unique id to identify a session func SessionID(val string) attribute.KeyValue { return SessionIDKey.String(val) } // SessionPreviousID returns an attribute KeyValue conforming to the // "session.previous_id" semantic conventions. It represents the previous -// `session.id` for this user, when known. +// `session.id` for this user, when known func SessionPreviousID(val string) attribute.KeyValue { return SessionPreviousIDKey.String(val) } -// SignalR attributes +// Namespace: signalr const ( // SignalrConnectionStatusKey is the attribute Key conforming to the - // "signalr.connection.status" semantic conventions. It represents the - // signalR HTTP connection closure status. - // + // "signalr.connection.status" semantic conventions. It represents the signalR + // HTTP connection closure status. + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'app_shutdown', 'timeout' + // + // Examples: + // "app_shutdown", + // "timeout", SignalrConnectionStatusKey = attribute.Key("signalr.connection.status") // SignalrTransportKey is the attribute Key conforming to the - // "signalr.transport" semantic conventions. It represents the [SignalR - // transport - // type](https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md) - // + // "signalr.transport" semantic conventions. It represents the + // [SignalR transport type] + // Stability: Stable // Type: Enum - // RequirementLevel: Optional - // Stability: stable - // Examples: 'web_sockets', 'long_polling' + // + // Examples: + // "web_sockets", + // "long_polling", + // + // [SignalR transport type]: https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md SignalrTransportKey = attribute.Key("signalr.transport") ) +// SignalrConnectionStatus returns an attribute KeyValue conforming to the +// "signalr.connection.status" semantic conventions. It represents the signalR +// HTTP connection closure status +func SignalrConnectionStatus(val string) attribute.KeyValue { + return SignalrConnectionStatusKey.String(val) +} + +// SignalrTransport returns an attribute KeyValue conforming to the +// "signalr.transport" semantic conventions. It represents the +// [SignalR transport type] +// +// [SignalR transport type]: https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md +func SignalrTransport(val string) attribute.KeyValue { + return SignalrTransportKey.String(val) +} + +// Enum values for signalr.connection.status var ( - // The connection was closed normally + // The connection was closed normally. + // Stability: stable SignalrConnectionStatusNormalClosure = SignalrConnectionStatusKey.String("normal_closure") - // The connection was closed due to a timeout + // The connection was closed due to a timeout. + // Stability: stable SignalrConnectionStatusTimeout = SignalrConnectionStatusKey.String("timeout") - // The connection was closed because the app is shutting down + // The connection was closed because the app is shutting down. + // Stability: stable SignalrConnectionStatusAppShutdown = SignalrConnectionStatusKey.String("app_shutdown") ) +// Enum values for signalr.transport var ( // ServerSentEvents protocol + // Stability: stable SignalrTransportServerSentEvents = SignalrTransportKey.String("server_sent_events") // LongPolling protocol + // Stability: stable SignalrTransportLongPolling = SignalrTransportKey.String("long_polling") // WebSockets protocol + // Stability: stable SignalrTransportWebSockets = SignalrTransportKey.String("web_sockets") ) -// These attributes may be used to describe the sender of a network -// exchange/packet. These should be used when there is no client/server -// relationship between the two sides, or when that relationship is unknown. -// This covers low-level network interactions (e.g. packet tracing) where you -// don't know if there was a connection or which side initiated it. This also -// covers unidirectional UDP flows and peer-to-peer communication where the -// "user-facing" surface of the protocol / API doesn't expose a clear notion of -// client and server. +// Namespace: source const ( // SourceAddressKey is the attribute Key conforming to the "source.address" // semantic conventions. It represents the source address - domain name if - // available without reverse DNS lookup; otherwise, IP address or Unix - // domain socket name. - // + // available without reverse DNS lookup; otherwise, IP address or Unix domain + // socket name. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'source.example.com', '10.1.2.80', '/tmp/my.sock' + // + // Examples: + // "source.example.com", + // "10.1.2.80", + // "/tmp/my.sock", + // // Note: When observed from the destination side, and when communicating // through an intermediary, `source.address` SHOULD represent the source - // address behind any intermediaries, for example proxies, if it's - // available. + // address behind any intermediaries, for example proxies, if it's available SourceAddressKey = attribute.Key("source.address") - // SourcePortKey is the attribute Key conforming to the "source.port" - // semantic conventions. It represents the source port number - // + // SourcePortKey is the attribute Key conforming to the "source.port" semantic + // conventions. It represents the source port number + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 3389, 2888 + // + // Examples: + // 3389, + // 2888, SourcePortKey = attribute.Key("source.port") ) // SourceAddress returns an attribute KeyValue conforming to the // "source.address" semantic conventions. It represents the source address - // domain name if available without reverse DNS lookup; otherwise, IP address -// or Unix domain socket name. +// or Unix domain socket name func SourceAddress(val string) attribute.KeyValue { return SourceAddressKey.String(val) } @@ -8029,539 +11217,635 @@ func SourcePort(val int) attribute.KeyValue { return SourcePortKey.Int(val) } -// Describes System attributes +// Namespace: system const ( + // SystemCPULogicalNumberKey is the attribute Key conforming to the + // "system.cpu.logical_number" semantic conventions. It represents the logical + // CPU number [0..n-1] + // Stability: Development + // Type: int + // + // Examples: + // 1, + SystemCPULogicalNumberKey = attribute.Key("system.cpu.logical_number") + // SystemDeviceKey is the attribute Key conforming to the "system.device" // semantic conventions. It represents the device identifier - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '(identifier)' + // + // Examples: + // "(identifier)", SystemDeviceKey = attribute.Key("system.device") -) -// SystemDevice returns an attribute KeyValue conforming to the -// "system.device" semantic conventions. It represents the device identifier -func SystemDevice(val string) attribute.KeyValue { - return SystemDeviceKey.String(val) -} + // SystemFilesystemModeKey is the attribute Key conforming to the + // "system.filesystem.mode" semantic conventions. It represents the filesystem + // mode + // Stability: Development + // Type: string + // + // Examples: + // "rw, ro", + SystemFilesystemModeKey = attribute.Key("system.filesystem.mode") -// Describes System CPU attributes -const ( - // SystemCPULogicalNumberKey is the attribute Key conforming to the - // "system.cpu.logical_number" semantic conventions. It represents the - // logical CPU number [0..n-1] + // SystemFilesystemMountpointKey is the attribute Key conforming to the + // "system.filesystem.mountpoint" semantic conventions. It represents the + // filesystem mount path + // Stability: Development + // Type: string // - // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 1 - SystemCPULogicalNumberKey = attribute.Key("system.cpu.logical_number") -) + // Examples: + // "/mnt/data", + SystemFilesystemMountpointKey = attribute.Key("system.filesystem.mountpoint") -// SystemCPULogicalNumber returns an attribute KeyValue conforming to the -// "system.cpu.logical_number" semantic conventions. It represents the logical -// CPU number [0..n-1] -func SystemCPULogicalNumber(val int) attribute.KeyValue { - return SystemCPULogicalNumberKey.Int(val) -} + // SystemFilesystemStateKey is the attribute Key conforming to the + // "system.filesystem.state" semantic conventions. It represents the + // filesystem state + // Stability: Development + // Type: Enum + // + // Examples: + // "used", + SystemFilesystemStateKey = attribute.Key("system.filesystem.state") -// Describes System Memory attributes -const ( - // SystemMemoryStateKey is the attribute Key conforming to the - // "system.memory.state" semantic conventions. It represents the memory - // state + // SystemFilesystemTypeKey is the attribute Key conforming to the + // "system.filesystem.type" semantic conventions. It represents the filesystem + // type + // Stability: Development + // Type: Enum // + // Examples: + // "ext4", + SystemFilesystemTypeKey = attribute.Key("system.filesystem.type") + + // SystemMemoryStateKey is the attribute Key conforming to the + // "system.memory.state" semantic conventions. It represents the memory state + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'free', 'cached' + // + // Examples: + // "free", + // "cached", SystemMemoryStateKey = attribute.Key("system.memory.state") -) - -var ( - // used - SystemMemoryStateUsed = SystemMemoryStateKey.String("used") - // free - SystemMemoryStateFree = SystemMemoryStateKey.String("free") - // shared - SystemMemoryStateShared = SystemMemoryStateKey.String("shared") - // buffers - SystemMemoryStateBuffers = SystemMemoryStateKey.String("buffers") - // cached - SystemMemoryStateCached = SystemMemoryStateKey.String("cached") -) -// Describes System Memory Paging attributes -const ( // SystemPagingDirectionKey is the attribute Key conforming to the // "system.paging.direction" semantic conventions. It represents the paging // access direction - // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'in' + // + // Examples: + // "in", SystemPagingDirectionKey = attribute.Key("system.paging.direction") // SystemPagingStateKey is the attribute Key conforming to the - // "system.paging.state" semantic conventions. It represents the memory - // paging state - // + // "system.paging.state" semantic conventions. It represents the memory paging + // state + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'free' + // + // Examples: + // "free", SystemPagingStateKey = attribute.Key("system.paging.state") // SystemPagingTypeKey is the attribute Key conforming to the - // "system.paging.type" semantic conventions. It represents the memory - // paging type - // + // "system.paging.type" semantic conventions. It represents the memory paging + // type + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'minor' + // + // Examples: + // "minor", SystemPagingTypeKey = attribute.Key("system.paging.type") -) -var ( - // in - SystemPagingDirectionIn = SystemPagingDirectionKey.String("in") - // out - SystemPagingDirectionOut = SystemPagingDirectionKey.String("out") + // SystemProcessStatusKey is the attribute Key conforming to the + // "system.process.status" semantic conventions. It represents the process + // state, e.g., [Linux Process State Codes] + // + // Stability: Development + // Type: Enum + // + // Examples: + // "running", + // + // [Linux Process State Codes]: https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES + SystemProcessStatusKey = attribute.Key("system.process.status") ) -var ( - // used - SystemPagingStateUsed = SystemPagingStateKey.String("used") - // free - SystemPagingStateFree = SystemPagingStateKey.String("free") -) +// SystemCPULogicalNumber returns an attribute KeyValue conforming to the +// "system.cpu.logical_number" semantic conventions. It represents the logical +// CPU number [0..n-1] +func SystemCPULogicalNumber(val int) attribute.KeyValue { + return SystemCPULogicalNumberKey.Int(val) +} -var ( - // major - SystemPagingTypeMajor = SystemPagingTypeKey.String("major") - // minor - SystemPagingTypeMinor = SystemPagingTypeKey.String("minor") -) +// SystemDevice returns an attribute KeyValue conforming to the "system.device" +// semantic conventions. It represents the device identifier +func SystemDevice(val string) attribute.KeyValue { + return SystemDeviceKey.String(val) +} -// Describes Filesystem attributes -const ( - // SystemFilesystemModeKey is the attribute Key conforming to the - // "system.filesystem.mode" semantic conventions. It represents the - // filesystem mode - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'rw, ro' - SystemFilesystemModeKey = attribute.Key("system.filesystem.mode") +// SystemFilesystemMode returns an attribute KeyValue conforming to the +// "system.filesystem.mode" semantic conventions. It represents the filesystem +// mode +func SystemFilesystemMode(val string) attribute.KeyValue { + return SystemFilesystemModeKey.String(val) +} - // SystemFilesystemMountpointKey is the attribute Key conforming to the - // "system.filesystem.mountpoint" semantic conventions. It represents the - // filesystem mount path - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/mnt/data' - SystemFilesystemMountpointKey = attribute.Key("system.filesystem.mountpoint") +// SystemFilesystemMountpoint returns an attribute KeyValue conforming to the +// "system.filesystem.mountpoint" semantic conventions. It represents the +// filesystem mount path +func SystemFilesystemMountpoint(val string) attribute.KeyValue { + return SystemFilesystemMountpointKey.String(val) +} - // SystemFilesystemStateKey is the attribute Key conforming to the - // "system.filesystem.state" semantic conventions. It represents the - // filesystem state - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'used' - SystemFilesystemStateKey = attribute.Key("system.filesystem.state") +// SystemFilesystemState returns an attribute KeyValue conforming to the +// "system.filesystem.state" semantic conventions. It represents the filesystem +// state +func SystemFilesystemState(val string) attribute.KeyValue { + return SystemFilesystemStateKey.String(val) +} - // SystemFilesystemTypeKey is the attribute Key conforming to the - // "system.filesystem.type" semantic conventions. It represents the - // filesystem type - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'ext4' - SystemFilesystemTypeKey = attribute.Key("system.filesystem.type") -) +// SystemFilesystemType returns an attribute KeyValue conforming to the +// "system.filesystem.type" semantic conventions. It represents the filesystem +// type +func SystemFilesystemType(val string) attribute.KeyValue { + return SystemFilesystemTypeKey.String(val) +} + +// SystemMemoryState returns an attribute KeyValue conforming to the +// "system.memory.state" semantic conventions. It represents the memory state +func SystemMemoryState(val string) attribute.KeyValue { + return SystemMemoryStateKey.String(val) +} + +// SystemPagingDirection returns an attribute KeyValue conforming to the +// "system.paging.direction" semantic conventions. It represents the paging +// access direction +func SystemPagingDirection(val string) attribute.KeyValue { + return SystemPagingDirectionKey.String(val) +} + +// SystemPagingState returns an attribute KeyValue conforming to the +// "system.paging.state" semantic conventions. It represents the memory paging +// state +func SystemPagingState(val string) attribute.KeyValue { + return SystemPagingStateKey.String(val) +} + +// SystemPagingType returns an attribute KeyValue conforming to the +// "system.paging.type" semantic conventions. It represents the memory paging +// type +func SystemPagingType(val string) attribute.KeyValue { + return SystemPagingTypeKey.String(val) +} + +// SystemProcessStatus returns an attribute KeyValue conforming to the +// "system.process.status" semantic conventions. It represents the process +// state, e.g., [Linux Process State Codes] +// +// [Linux Process State Codes]: https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES +func SystemProcessStatus(val string) attribute.KeyValue { + return SystemProcessStatusKey.String(val) +} +// Enum values for system.filesystem.state var ( // used + // Stability: development SystemFilesystemStateUsed = SystemFilesystemStateKey.String("used") // free + // Stability: development SystemFilesystemStateFree = SystemFilesystemStateKey.String("free") // reserved + // Stability: development SystemFilesystemStateReserved = SystemFilesystemStateKey.String("reserved") ) +// Enum values for system.filesystem.type var ( // fat32 + // Stability: development SystemFilesystemTypeFat32 = SystemFilesystemTypeKey.String("fat32") // exfat + // Stability: development SystemFilesystemTypeExfat = SystemFilesystemTypeKey.String("exfat") // ntfs + // Stability: development SystemFilesystemTypeNtfs = SystemFilesystemTypeKey.String("ntfs") // refs + // Stability: development SystemFilesystemTypeRefs = SystemFilesystemTypeKey.String("refs") // hfsplus + // Stability: development SystemFilesystemTypeHfsplus = SystemFilesystemTypeKey.String("hfsplus") // ext4 + // Stability: development SystemFilesystemTypeExt4 = SystemFilesystemTypeKey.String("ext4") ) -// SystemFilesystemMode returns an attribute KeyValue conforming to the -// "system.filesystem.mode" semantic conventions. It represents the filesystem -// mode -func SystemFilesystemMode(val string) attribute.KeyValue { - return SystemFilesystemModeKey.String(val) -} - -// SystemFilesystemMountpoint returns an attribute KeyValue conforming to -// the "system.filesystem.mountpoint" semantic conventions. It represents the -// filesystem mount path -func SystemFilesystemMountpoint(val string) attribute.KeyValue { - return SystemFilesystemMountpointKey.String(val) -} +// Enum values for system.memory.state +var ( + // used + // Stability: development + SystemMemoryStateUsed = SystemMemoryStateKey.String("used") + // free + // Stability: development + SystemMemoryStateFree = SystemMemoryStateKey.String("free") + // shared + // Stability: development // Removed, report shared memory usage with `metric.system.memory.shared` + // metric + SystemMemoryStateShared = SystemMemoryStateKey.String("shared") + // buffers + // Stability: development + SystemMemoryStateBuffers = SystemMemoryStateKey.String("buffers") + // cached + // Stability: development + SystemMemoryStateCached = SystemMemoryStateKey.String("cached") +) -// Describes Network attributes -const ( - // SystemNetworkStateKey is the attribute Key conforming to the - // "system.network.state" semantic conventions. It represents a stateless - // protocol MUST NOT set this attribute - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'close_wait' - SystemNetworkStateKey = attribute.Key("system.network.state") +// Enum values for system.paging.direction +var ( + // in + // Stability: development + SystemPagingDirectionIn = SystemPagingDirectionKey.String("in") + // out + // Stability: development + SystemPagingDirectionOut = SystemPagingDirectionKey.String("out") ) +// Enum values for system.paging.state var ( - // close - SystemNetworkStateClose = SystemNetworkStateKey.String("close") - // close_wait - SystemNetworkStateCloseWait = SystemNetworkStateKey.String("close_wait") - // closing - SystemNetworkStateClosing = SystemNetworkStateKey.String("closing") - // delete - SystemNetworkStateDelete = SystemNetworkStateKey.String("delete") - // established - SystemNetworkStateEstablished = SystemNetworkStateKey.String("established") - // fin_wait_1 - SystemNetworkStateFinWait1 = SystemNetworkStateKey.String("fin_wait_1") - // fin_wait_2 - SystemNetworkStateFinWait2 = SystemNetworkStateKey.String("fin_wait_2") - // last_ack - SystemNetworkStateLastAck = SystemNetworkStateKey.String("last_ack") - // listen - SystemNetworkStateListen = SystemNetworkStateKey.String("listen") - // syn_recv - SystemNetworkStateSynRecv = SystemNetworkStateKey.String("syn_recv") - // syn_sent - SystemNetworkStateSynSent = SystemNetworkStateKey.String("syn_sent") - // time_wait - SystemNetworkStateTimeWait = SystemNetworkStateKey.String("time_wait") + // used + // Stability: development + SystemPagingStateUsed = SystemPagingStateKey.String("used") + // free + // Stability: development + SystemPagingStateFree = SystemPagingStateKey.String("free") ) -// Describes System Process attributes -const ( - // SystemProcessStatusKey is the attribute Key conforming to the - // "system.process.status" semantic conventions. It represents the process - // state, e.g., [Linux Process State - // Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) - // - // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'running' - SystemProcessStatusKey = attribute.Key("system.process.status") +// Enum values for system.paging.type +var ( + // major + // Stability: development + SystemPagingTypeMajor = SystemPagingTypeKey.String("major") + // minor + // Stability: development + SystemPagingTypeMinor = SystemPagingTypeKey.String("minor") ) +// Enum values for system.process.status var ( // running + // Stability: development SystemProcessStatusRunning = SystemProcessStatusKey.String("running") // sleeping + // Stability: development SystemProcessStatusSleeping = SystemProcessStatusKey.String("sleeping") // stopped + // Stability: development SystemProcessStatusStopped = SystemProcessStatusKey.String("stopped") // defunct + // Stability: development SystemProcessStatusDefunct = SystemProcessStatusKey.String("defunct") ) -// Attributes for telemetry SDK. -const ( +// Namespace: telemetry +const ( + // TelemetryDistroNameKey is the attribute Key conforming to the + // "telemetry.distro.name" semantic conventions. It represents the name of the + // auto instrumentation agent or distribution, if used. + // + // Stability: Development + // Type: string + // + // Examples: + // "parts-unlimited-java", + // + // Note: Official auto instrumentation agents and distributions SHOULD set the + // `telemetry.distro.name` attribute to + // a string starting with `opentelemetry-`, e.g. + // `opentelemetry-java-instrumentation` + TelemetryDistroNameKey = attribute.Key("telemetry.distro.name") + + // TelemetryDistroVersionKey is the attribute Key conforming to the + // "telemetry.distro.version" semantic conventions. It represents the version + // string of the auto instrumentation agent or distribution, if used. + // + // Stability: Development + // Type: string + // + // Examples: + // "1.2.3", + TelemetryDistroVersionKey = attribute.Key("telemetry.distro.version") + // TelemetrySDKLanguageKey is the attribute Key conforming to the - // "telemetry.sdk.language" semantic conventions. It represents the - // language of the telemetry SDK. + // "telemetry.sdk.language" semantic conventions. It represents the language + // of the telemetry SDK. // + // Stability: Stable // Type: Enum - // RequirementLevel: Required - // Stability: stable + // + // Examples: undefined TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language") // TelemetrySDKNameKey is the attribute Key conforming to the // "telemetry.sdk.name" semantic conventions. It represents the name of the // telemetry SDK as defined above. // + // Stability: Stable // Type: string - // RequirementLevel: Required - // Stability: stable - // Examples: 'opentelemetry' - // Note: The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute - // to `opentelemetry`. - // If another SDK, like a fork or a vendor-provided implementation, is - // used, this SDK MUST set the - // `telemetry.sdk.name` attribute to the fully-qualified class or module - // name of this SDK's main entry point + // + // Examples: + // "opentelemetry", + // + // Note: The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to + // `opentelemetry`. + // If another SDK, like a fork or a vendor-provided implementation, is used, + // this SDK MUST set the + // `telemetry.sdk.name` attribute to the fully-qualified class or module name + // of this SDK's main entry point // or another suitable identifier depending on the language. // The identifier `opentelemetry` is reserved and MUST NOT be used in this // case. // All custom identifiers SHOULD be stable across different versions of an - // implementation. + // implementation TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name") // TelemetrySDKVersionKey is the attribute Key conforming to the // "telemetry.sdk.version" semantic conventions. It represents the version // string of the telemetry SDK. // + // Stability: Stable // Type: string - // RequirementLevel: Required - // Stability: stable - // Examples: '1.2.3' + // + // Examples: + // "1.2.3", TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version") +) - // TelemetryDistroNameKey is the attribute Key conforming to the - // "telemetry.distro.name" semantic conventions. It represents the name of - // the auto instrumentation agent or distribution, if used. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'parts-unlimited-java' - // Note: Official auto instrumentation agents and distributions SHOULD set - // the `telemetry.distro.name` attribute to - // a string starting with `opentelemetry-`, e.g. - // `opentelemetry-java-instrumentation`. - TelemetryDistroNameKey = attribute.Key("telemetry.distro.name") +// TelemetryDistroName returns an attribute KeyValue conforming to the +// "telemetry.distro.name" semantic conventions. It represents the name of the +// auto instrumentation agent or distribution, if used +func TelemetryDistroName(val string) attribute.KeyValue { + return TelemetryDistroNameKey.String(val) +} - // TelemetryDistroVersionKey is the attribute Key conforming to the - // "telemetry.distro.version" semantic conventions. It represents the - // version string of the auto instrumentation agent or distribution, if - // used. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1.2.3' - TelemetryDistroVersionKey = attribute.Key("telemetry.distro.version") -) +// TelemetryDistroVersion returns an attribute KeyValue conforming to the +// "telemetry.distro.version" semantic conventions. It represents the version +// string of the auto instrumentation agent or distribution, if used +func TelemetryDistroVersion(val string) attribute.KeyValue { + return TelemetryDistroVersionKey.String(val) +} + +// TelemetrySDKLanguage returns an attribute KeyValue conforming to the +// "telemetry.sdk.language" semantic conventions. It represents the language of +// the telemetry SDK +func TelemetrySDKLanguage(val string) attribute.KeyValue { + return TelemetrySDKLanguageKey.String(val) +} + +// TelemetrySDKName returns an attribute KeyValue conforming to the +// "telemetry.sdk.name" semantic conventions. It represents the name of the +// telemetry SDK as defined above +func TelemetrySDKName(val string) attribute.KeyValue { + return TelemetrySDKNameKey.String(val) +} + +// TelemetrySDKVersion returns an attribute KeyValue conforming to the +// "telemetry.sdk.version" semantic conventions. It represents the version +// string of the telemetry SDK +func TelemetrySDKVersion(val string) attribute.KeyValue { + return TelemetrySDKVersionKey.String(val) +} +// Enum values for telemetry.sdk.language var ( // cpp + // Stability: stable TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp") // dotnet + // Stability: stable TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet") // erlang + // Stability: stable TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang") // go + // Stability: stable TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go") // java + // Stability: stable TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java") // nodejs + // Stability: stable TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs") // php + // Stability: stable TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php") // python + // Stability: stable TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python") // ruby + // Stability: stable TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby") // rust + // Stability: stable TelemetrySDKLanguageRust = TelemetrySDKLanguageKey.String("rust") // swift + // Stability: stable TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift") // webjs + // Stability: stable TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs") ) -// TelemetrySDKName returns an attribute KeyValue conforming to the -// "telemetry.sdk.name" semantic conventions. It represents the name of the -// telemetry SDK as defined above. -func TelemetrySDKName(val string) attribute.KeyValue { - return TelemetrySDKNameKey.String(val) -} - -// TelemetrySDKVersion returns an attribute KeyValue conforming to the -// "telemetry.sdk.version" semantic conventions. It represents the version -// string of the telemetry SDK. -func TelemetrySDKVersion(val string) attribute.KeyValue { - return TelemetrySDKVersionKey.String(val) -} - -// TelemetryDistroName returns an attribute KeyValue conforming to the -// "telemetry.distro.name" semantic conventions. It represents the name of the -// auto instrumentation agent or distribution, if used. -func TelemetryDistroName(val string) attribute.KeyValue { - return TelemetryDistroNameKey.String(val) -} - -// TelemetryDistroVersion returns an attribute KeyValue conforming to the -// "telemetry.distro.version" semantic conventions. It represents the version -// string of the auto instrumentation agent or distribution, if used. -func TelemetryDistroVersion(val string) attribute.KeyValue { - return TelemetryDistroVersionKey.String(val) -} - -// This group describes attributes specific to [software -// tests](https://en.wikipedia.org/wiki/Software_testing). +// Namespace: test const ( // TestCaseNameKey is the attribute Key conforming to the "test.case.name" - // semantic conventions. It represents the fully qualified human readable - // name of the [test case](https://en.wikipedia.org/wiki/Test_case). + // semantic conventions. It represents the fully qualified human readable name + // of the [test case]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'org.example.TestCase1.test1', - // 'example/tests/TestCase1.test1', 'ExampleTestCase1_test1' + // + // Examples: + // "org.example.TestCase1.test1", + // "example/tests/TestCase1.test1", + // "ExampleTestCase1_test1", + // + // [test case]: https://wikipedia.org/wiki/Test_case TestCaseNameKey = attribute.Key("test.case.name") // TestCaseResultStatusKey is the attribute Key conforming to the - // "test.case.result.status" semantic conventions. It represents the status - // of the actual test case result from test execution. + // "test.case.result.status" semantic conventions. It represents the status of + // the actual test case result from test execution. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'pass', 'fail' + // + // Examples: + // "pass", + // "fail", TestCaseResultStatusKey = attribute.Key("test.case.result.status") - // TestSuiteNameKey is the attribute Key conforming to the - // "test.suite.name" semantic conventions. It represents the human readable - // name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). + // TestSuiteNameKey is the attribute Key conforming to the "test.suite.name" + // semantic conventions. It represents the human readable name of a + // [test suite]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'TestSuite1' + // + // Examples: + // "TestSuite1", + // + // [test suite]: https://wikipedia.org/wiki/Test_suite TestSuiteNameKey = attribute.Key("test.suite.name") // TestSuiteRunStatusKey is the attribute Key conforming to the - // "test.suite.run.status" semantic conventions. It represents the status - // of the test suite run. + // "test.suite.run.status" semantic conventions. It represents the status of + // the test suite run. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'success', 'failure', 'skipped', 'aborted', 'timed_out', - // 'in_progress' + // + // Examples: + // "success", + // "failure", + // "skipped", + // "aborted", + // "timed_out", + // "in_progress", TestSuiteRunStatusKey = attribute.Key("test.suite.run.status") ) +// TestCaseName returns an attribute KeyValue conforming to the +// "test.case.name" semantic conventions. It represents the fully qualified +// human readable name of the [test case] +// +// [test case]: https://wikipedia.org/wiki/Test_case +func TestCaseName(val string) attribute.KeyValue { + return TestCaseNameKey.String(val) +} + +// TestCaseResultStatus returns an attribute KeyValue conforming to the +// "test.case.result.status" semantic conventions. It represents the status of +// the actual test case result from test execution +func TestCaseResultStatus(val string) attribute.KeyValue { + return TestCaseResultStatusKey.String(val) +} + +// TestSuiteName returns an attribute KeyValue conforming to the +// "test.suite.name" semantic conventions. It represents the human readable +// name of a [test suite] +// +// [test suite]: https://wikipedia.org/wiki/Test_suite +func TestSuiteName(val string) attribute.KeyValue { + return TestSuiteNameKey.String(val) +} + +// TestSuiteRunStatus returns an attribute KeyValue conforming to the +// "test.suite.run.status" semantic conventions. It represents the status of +// the test suite run +func TestSuiteRunStatus(val string) attribute.KeyValue { + return TestSuiteRunStatusKey.String(val) +} + +// Enum values for test.case.result.status var ( // pass + // Stability: development TestCaseResultStatusPass = TestCaseResultStatusKey.String("pass") // fail + // Stability: development TestCaseResultStatusFail = TestCaseResultStatusKey.String("fail") ) +// Enum values for test.suite.run.status var ( // success + // Stability: development TestSuiteRunStatusSuccess = TestSuiteRunStatusKey.String("success") // failure + // Stability: development TestSuiteRunStatusFailure = TestSuiteRunStatusKey.String("failure") // skipped + // Stability: development TestSuiteRunStatusSkipped = TestSuiteRunStatusKey.String("skipped") // aborted + // Stability: development TestSuiteRunStatusAborted = TestSuiteRunStatusKey.String("aborted") // timed_out + // Stability: development TestSuiteRunStatusTimedOut = TestSuiteRunStatusKey.String("timed_out") // in_progress + // Stability: development TestSuiteRunStatusInProgress = TestSuiteRunStatusKey.String("in_progress") ) -// TestCaseName returns an attribute KeyValue conforming to the -// "test.case.name" semantic conventions. It represents the fully qualified -// human readable name of the [test -// case](https://en.wikipedia.org/wiki/Test_case). -func TestCaseName(val string) attribute.KeyValue { - return TestCaseNameKey.String(val) -} - -// TestSuiteName returns an attribute KeyValue conforming to the -// "test.suite.name" semantic conventions. It represents the human readable -// name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). -func TestSuiteName(val string) attribute.KeyValue { - return TestSuiteNameKey.String(val) -} - -// These attributes may be used for any operation to store information about a -// thread that started a span. +// Namespace: thread const ( // ThreadIDKey is the attribute Key conforming to the "thread.id" semantic - // conventions. It represents the current "managed" thread ID (as opposed - // to OS thread ID). + // conventions. It represents the current "managed" thread ID (as opposed to + // OS thread ID). // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 42 ThreadIDKey = attribute.Key("thread.id") - // ThreadNameKey is the attribute Key conforming to the "thread.name" - // semantic conventions. It represents the current thread name. + // ThreadNameKey is the attribute Key conforming to the "thread.name" semantic + // conventions. It represents the current thread name. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'main' + // + // Examples: "main" ThreadNameKey = attribute.Key("thread.name") ) // ThreadID returns an attribute KeyValue conforming to the "thread.id" // semantic conventions. It represents the current "managed" thread ID (as -// opposed to OS thread ID). +// opposed to OS thread ID) func ThreadID(val int) attribute.KeyValue { return ThreadIDKey.Int(val) } // ThreadName returns an attribute KeyValue conforming to the "thread.name" -// semantic conventions. It represents the current thread name. +// semantic conventions. It represents the current thread name func ThreadName(val string) attribute.KeyValue { return ThreadNameKey.String(val) } -// Semantic convention attributes in the TLS namespace. +// Namespace: tls const ( - // TLSCipherKey is the attribute Key conforming to the "tls.cipher" - // semantic conventions. It represents the string indicating the - // [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5) - // used during the current connection. - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'TLS_RSA_WITH_3DES_EDE_CBC_SHA', - // 'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256' - // Note: The values allowed for `tls.cipher` MUST be one of the - // `Descriptions` of the [registered TLS Cipher - // Suits](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4). + // TLSCipherKey is the attribute Key conforming to the "tls.cipher" semantic + // conventions. It represents the string indicating the [cipher] used during + // the current connection. + // + // Stability: Development + // Type: string + // + // Examples: + // "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + // "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + // + // Note: The values allowed for `tls.cipher` MUST be one of the `Descriptions` + // of the [registered TLS Cipher Suits] + // + // [cipher]: https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5 + // [registered TLS Cipher Suits]: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4 TLSCipherKey = attribute.Key("tls.cipher") // TLSClientCertificateKey is the attribute Key conforming to the // "tls.client.certificate" semantic conventions. It represents the - // pEM-encoded stand-alone certificate offered by the client. This is - // usually mutually-exclusive of `client.certificate_chain` since this - // value also exists in that list. + // pEM-encoded stand-alone certificate offered by the client. This is usually + // mutually-exclusive of `client.certificate_chain` since this value also + // exists in that list. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'MII...' + // + // Examples: + // "MII...", TLSClientCertificateKey = attribute.Key("tls.client.certificate") // TLSClientCertificateChainKey is the attribute Key conforming to the @@ -8571,190 +11855,204 @@ const ( // `client.certificate` since that value should be the first certificate in // the chain. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'MII...', 'MI...' + // + // Examples: + // [ + // "MII...", + // "MI...", + // ], TLSClientCertificateChainKey = attribute.Key("tls.client.certificate_chain") // TLSClientHashMd5Key is the attribute Key conforming to the - // "tls.client.hash.md5" semantic conventions. It represents the - // certificate fingerprint using the MD5 digest of DER-encoded version of - // certificate offered by the client. For consistency with other hash - // values, this value should be formatted as an uppercase hash. + // "tls.client.hash.md5" semantic conventions. It represents the certificate + // fingerprint using the MD5 digest of DER-encoded version of certificate + // offered by the client. For consistency with other hash values, this value + // should be formatted as an uppercase hash. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC' + // + // Examples: + // "0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC", TLSClientHashMd5Key = attribute.Key("tls.client.hash.md5") // TLSClientHashSha1Key is the attribute Key conforming to the - // "tls.client.hash.sha1" semantic conventions. It represents the - // certificate fingerprint using the SHA1 digest of DER-encoded version of - // certificate offered by the client. For consistency with other hash - // values, this value should be formatted as an uppercase hash. + // "tls.client.hash.sha1" semantic conventions. It represents the certificate + // fingerprint using the SHA1 digest of DER-encoded version of certificate + // offered by the client. For consistency with other hash values, this value + // should be formatted as an uppercase hash. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '9E393D93138888D288266C2D915214D1D1CCEB2A' + // + // Examples: + // "9E393D93138888D288266C2D915214D1D1CCEB2A", TLSClientHashSha1Key = attribute.Key("tls.client.hash.sha1") // TLSClientHashSha256Key is the attribute Key conforming to the // "tls.client.hash.sha256" semantic conventions. It represents the - // certificate fingerprint using the SHA256 digest of DER-encoded version - // of certificate offered by the client. For consistency with other hash - // values, this value should be formatted as an uppercase hash. + // certificate fingerprint using the SHA256 digest of DER-encoded version of + // certificate offered by the client. For consistency with other hash values, + // this value should be formatted as an uppercase hash. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // '0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0' + // "0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0", TLSClientHashSha256Key = attribute.Key("tls.client.hash.sha256") // TLSClientIssuerKey is the attribute Key conforming to the - // "tls.client.issuer" semantic conventions. It represents the - // distinguished name of - // [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) - // of the issuer of the x.509 certificate presented by the client. - // + // "tls.client.issuer" semantic conventions. It represents the distinguished + // name of [subject] of the issuer of the x.509 certificate presented by the + // client. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'CN=Example Root CA, OU=Infrastructure Team, DC=example, - // DC=com' + // + // Examples: + // "CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com", + // + // [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6 TLSClientIssuerKey = attribute.Key("tls.client.issuer") // TLSClientJa3Key is the attribute Key conforming to the "tls.client.ja3" - // semantic conventions. It represents a hash that identifies clients based - // on how they perform an SSL/TLS handshake. - // + // semantic conventions. It represents a hash that identifies clients based on + // how they perform an SSL/TLS handshake. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'd4e5b18d6b55c71272893221c96ba240' + // + // Examples: + // "d4e5b18d6b55c71272893221c96ba240", TLSClientJa3Key = attribute.Key("tls.client.ja3") // TLSClientNotAfterKey is the attribute Key conforming to the // "tls.client.not_after" semantic conventions. It represents the date/Time // indicating when client certificate is no longer considered valid. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2021-01-01T00:00:00.000Z' + // + // Examples: + // "2021-01-01T00:00:00.000Z", TLSClientNotAfterKey = attribute.Key("tls.client.not_after") // TLSClientNotBeforeKey is the attribute Key conforming to the - // "tls.client.not_before" semantic conventions. It represents the - // date/Time indicating when client certificate is first considered valid. - // + // "tls.client.not_before" semantic conventions. It represents the date/Time + // indicating when client certificate is first considered valid. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1970-01-01T00:00:00.000Z' + // + // Examples: + // "1970-01-01T00:00:00.000Z", TLSClientNotBeforeKey = attribute.Key("tls.client.not_before") // TLSClientSubjectKey is the attribute Key conforming to the - // "tls.client.subject" semantic conventions. It represents the - // distinguished name of subject of the x.509 certificate presented by the - // client. - // + // "tls.client.subject" semantic conventions. It represents the distinguished + // name of subject of the x.509 certificate presented by the client. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'CN=myclient, OU=Documentation Team, DC=example, DC=com' + // + // Examples: + // "CN=myclient, OU=Documentation Team, DC=example, DC=com", TLSClientSubjectKey = attribute.Key("tls.client.subject") // TLSClientSupportedCiphersKey is the attribute Key conforming to the // "tls.client.supported_ciphers" semantic conventions. It represents the // array of ciphers offered by the client during the client hello. - // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', - // 'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384', '...' + // + // Examples: + // [ + // "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + // "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + // ], TLSClientSupportedCiphersKey = attribute.Key("tls.client.supported_ciphers") // TLSCurveKey is the attribute Key conforming to the "tls.curve" semantic // conventions. It represents the string indicating the curve used for the // given cipher, when applicable - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'secp256r1' + // + // Examples: + // "secp256r1", TLSCurveKey = attribute.Key("tls.curve") - // TLSEstablishedKey is the attribute Key conforming to the - // "tls.established" semantic conventions. It represents the boolean flag - // indicating if the TLS negotiation was successful and transitioned to an - // encrypted tunnel. - // + // TLSEstablishedKey is the attribute Key conforming to the "tls.established" + // semantic conventions. It represents the boolean flag indicating if the TLS + // negotiation was successful and transitioned to an encrypted tunnel. + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental - // Examples: True + // + // Examples: + // true, TLSEstablishedKey = attribute.Key("tls.established") // TLSNextProtocolKey is the attribute Key conforming to the // "tls.next_protocol" semantic conventions. It represents the string - // indicating the protocol being tunneled. Per the values in the [IANA - // registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids), - // this string should be lower case. + // indicating the protocol being tunneled. Per the values in the + // [IANA registry], this string should be lower case. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'http/1.1' + // + // Examples: + // "http/1.1", + // + // [IANA registry]: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids TLSNextProtocolKey = attribute.Key("tls.next_protocol") // TLSProtocolNameKey is the attribute Key conforming to the // "tls.protocol.name" semantic conventions. It represents the normalized // lowercase protocol name parsed from original string of the negotiated - // [SSL/TLS protocol - // version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES) + // [SSL/TLS protocol version] // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined + // + // [SSL/TLS protocol version]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES TLSProtocolNameKey = attribute.Key("tls.protocol.name") // TLSProtocolVersionKey is the attribute Key conforming to the - // "tls.protocol.version" semantic conventions. It represents the numeric - // part of the version parsed from the original string of the negotiated - // [SSL/TLS protocol - // version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES) + // "tls.protocol.version" semantic conventions. It represents the numeric part + // of the version parsed from the original string of the negotiated + // [SSL/TLS protocol version] // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1.2', '3' + // + // Examples: + // "1.2", + // "3", + // + // [SSL/TLS protocol version]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES TLSProtocolVersionKey = attribute.Key("tls.protocol.version") - // TLSResumedKey is the attribute Key conforming to the "tls.resumed" - // semantic conventions. It represents the boolean flag indicating if this - // TLS connection was resumed from an existing TLS negotiation. - // + // TLSResumedKey is the attribute Key conforming to the "tls.resumed" semantic + // conventions. It represents the boolean flag indicating if this TLS + // connection was resumed from an existing TLS negotiation. + // Stability: Development // Type: boolean - // RequirementLevel: Optional - // Stability: experimental - // Examples: True + // + // Examples: + // true, TLSResumedKey = attribute.Key("tls.resumed") // TLSServerCertificateKey is the attribute Key conforming to the // "tls.server.certificate" semantic conventions. It represents the - // pEM-encoded stand-alone certificate offered by the server. This is - // usually mutually-exclusive of `server.certificate_chain` since this - // value also exists in that list. + // pEM-encoded stand-alone certificate offered by the server. This is usually + // mutually-exclusive of `server.certificate_chain` since this value also + // exists in that list. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'MII...' + // + // Examples: + // "MII...", TLSServerCertificateKey = attribute.Key("tls.server.certificate") // TLSServerCertificateChainKey is the attribute Key conforming to the @@ -8764,115 +12062,114 @@ const ( // `server.certificate` since that value should be the first certificate in // the chain. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'MII...', 'MI...' + // + // Examples: + // [ + // "MII...", + // "MI...", + // ], TLSServerCertificateChainKey = attribute.Key("tls.server.certificate_chain") // TLSServerHashMd5Key is the attribute Key conforming to the - // "tls.server.hash.md5" semantic conventions. It represents the - // certificate fingerprint using the MD5 digest of DER-encoded version of - // certificate offered by the server. For consistency with other hash - // values, this value should be formatted as an uppercase hash. + // "tls.server.hash.md5" semantic conventions. It represents the certificate + // fingerprint using the MD5 digest of DER-encoded version of certificate + // offered by the server. For consistency with other hash values, this value + // should be formatted as an uppercase hash. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC' + // + // Examples: + // "0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC", TLSServerHashMd5Key = attribute.Key("tls.server.hash.md5") // TLSServerHashSha1Key is the attribute Key conforming to the - // "tls.server.hash.sha1" semantic conventions. It represents the - // certificate fingerprint using the SHA1 digest of DER-encoded version of - // certificate offered by the server. For consistency with other hash - // values, this value should be formatted as an uppercase hash. + // "tls.server.hash.sha1" semantic conventions. It represents the certificate + // fingerprint using the SHA1 digest of DER-encoded version of certificate + // offered by the server. For consistency with other hash values, this value + // should be formatted as an uppercase hash. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '9E393D93138888D288266C2D915214D1D1CCEB2A' + // + // Examples: + // "9E393D93138888D288266C2D915214D1D1CCEB2A", TLSServerHashSha1Key = attribute.Key("tls.server.hash.sha1") // TLSServerHashSha256Key is the attribute Key conforming to the // "tls.server.hash.sha256" semantic conventions. It represents the - // certificate fingerprint using the SHA256 digest of DER-encoded version - // of certificate offered by the server. For consistency with other hash - // values, this value should be formatted as an uppercase hash. + // certificate fingerprint using the SHA256 digest of DER-encoded version of + // certificate offered by the server. For consistency with other hash values, + // this value should be formatted as an uppercase hash. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // '0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0' + // "0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0", TLSServerHashSha256Key = attribute.Key("tls.server.hash.sha256") // TLSServerIssuerKey is the attribute Key conforming to the - // "tls.server.issuer" semantic conventions. It represents the - // distinguished name of - // [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) - // of the issuer of the x.509 certificate presented by the client. - // + // "tls.server.issuer" semantic conventions. It represents the distinguished + // name of [subject] of the issuer of the x.509 certificate presented by the + // client. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'CN=Example Root CA, OU=Infrastructure Team, DC=example, - // DC=com' + // + // Examples: + // "CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com", + // + // [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6 TLSServerIssuerKey = attribute.Key("tls.server.issuer") - // TLSServerJa3sKey is the attribute Key conforming to the - // "tls.server.ja3s" semantic conventions. It represents a hash that - // identifies servers based on how they perform an SSL/TLS handshake. - // + // TLSServerJa3sKey is the attribute Key conforming to the "tls.server.ja3s" + // semantic conventions. It represents a hash that identifies servers based on + // how they perform an SSL/TLS handshake. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'd4e5b18d6b55c71272893221c96ba240' + // + // Examples: + // "d4e5b18d6b55c71272893221c96ba240", TLSServerJa3sKey = attribute.Key("tls.server.ja3s") // TLSServerNotAfterKey is the attribute Key conforming to the // "tls.server.not_after" semantic conventions. It represents the date/Time // indicating when server certificate is no longer considered valid. - // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '2021-01-01T00:00:00.000Z' + // + // Examples: + // "2021-01-01T00:00:00.000Z", TLSServerNotAfterKey = attribute.Key("tls.server.not_after") // TLSServerNotBeforeKey is the attribute Key conforming to the - // "tls.server.not_before" semantic conventions. It represents the - // date/Time indicating when server certificate is first considered valid. - // + // "tls.server.not_before" semantic conventions. It represents the date/Time + // indicating when server certificate is first considered valid. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '1970-01-01T00:00:00.000Z' + // + // Examples: + // "1970-01-01T00:00:00.000Z", TLSServerNotBeforeKey = attribute.Key("tls.server.not_before") // TLSServerSubjectKey is the attribute Key conforming to the - // "tls.server.subject" semantic conventions. It represents the - // distinguished name of subject of the x.509 certificate presented by the - // server. - // + // "tls.server.subject" semantic conventions. It represents the distinguished + // name of subject of the x.509 certificate presented by the server. + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'CN=myserver, OU=Documentation Team, DC=example, DC=com' + // + // Examples: + // "CN=myserver, OU=Documentation Team, DC=example, DC=com", TLSServerSubjectKey = attribute.Key("tls.server.subject") ) -var ( - // ssl - TLSProtocolNameSsl = TLSProtocolNameKey.String("ssl") - // tls - TLSProtocolNameTLS = TLSProtocolNameKey.String("tls") -) - // TLSCipher returns an attribute KeyValue conforming to the "tls.cipher" -// semantic conventions. It represents the string indicating the -// [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5) used -// during the current connection. +// semantic conventions. It represents the string indicating the [cipher] used +// during the current connection +// +// [cipher]: https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5 func TLSCipher(val string) attribute.KeyValue { return TLSCipherKey.String(val) } @@ -8881,7 +12178,7 @@ func TLSCipher(val string) attribute.KeyValue { // "tls.client.certificate" semantic conventions. It represents the pEM-encoded // stand-alone certificate offered by the client. This is usually // mutually-exclusive of `client.certificate_chain` since this value also -// exists in that list. +// exists in that list func TLSClientCertificate(val string) attribute.KeyValue { return TLSClientCertificateKey.String(val) } @@ -8890,7 +12187,7 @@ func TLSClientCertificate(val string) attribute.KeyValue { // "tls.client.certificate_chain" semantic conventions. It represents the array // of PEM-encoded certificates that make up the certificate chain offered by // the client. This is usually mutually-exclusive of `client.certificate` since -// that value should be the first certificate in the chain. +// that value should be the first certificate in the chain func TLSClientCertificateChain(val ...string) attribute.KeyValue { return TLSClientCertificateChainKey.StringSlice(val) } @@ -8899,7 +12196,7 @@ func TLSClientCertificateChain(val ...string) attribute.KeyValue { // "tls.client.hash.md5" semantic conventions. It represents the certificate // fingerprint using the MD5 digest of DER-encoded version of certificate // offered by the client. For consistency with other hash values, this value -// should be formatted as an uppercase hash. +// should be formatted as an uppercase hash func TLSClientHashMd5(val string) attribute.KeyValue { return TLSClientHashMd5Key.String(val) } @@ -8908,7 +12205,7 @@ func TLSClientHashMd5(val string) attribute.KeyValue { // "tls.client.hash.sha1" semantic conventions. It represents the certificate // fingerprint using the SHA1 digest of DER-encoded version of certificate // offered by the client. For consistency with other hash values, this value -// should be formatted as an uppercase hash. +// should be formatted as an uppercase hash func TLSClientHashSha1(val string) attribute.KeyValue { return TLSClientHashSha1Key.String(val) } @@ -8917,51 +12214,52 @@ func TLSClientHashSha1(val string) attribute.KeyValue { // "tls.client.hash.sha256" semantic conventions. It represents the certificate // fingerprint using the SHA256 digest of DER-encoded version of certificate // offered by the client. For consistency with other hash values, this value -// should be formatted as an uppercase hash. +// should be formatted as an uppercase hash func TLSClientHashSha256(val string) attribute.KeyValue { return TLSClientHashSha256Key.String(val) } // TLSClientIssuer returns an attribute KeyValue conforming to the // "tls.client.issuer" semantic conventions. It represents the distinguished -// name of -// [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of -// the issuer of the x.509 certificate presented by the client. +// name of [subject] of the issuer of the x.509 certificate presented by the +// client +// +// [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6 func TLSClientIssuer(val string) attribute.KeyValue { return TLSClientIssuerKey.String(val) } // TLSClientJa3 returns an attribute KeyValue conforming to the // "tls.client.ja3" semantic conventions. It represents a hash that identifies -// clients based on how they perform an SSL/TLS handshake. +// clients based on how they perform an SSL/TLS handshake func TLSClientJa3(val string) attribute.KeyValue { return TLSClientJa3Key.String(val) } // TLSClientNotAfter returns an attribute KeyValue conforming to the // "tls.client.not_after" semantic conventions. It represents the date/Time -// indicating when client certificate is no longer considered valid. +// indicating when client certificate is no longer considered valid func TLSClientNotAfter(val string) attribute.KeyValue { return TLSClientNotAfterKey.String(val) } // TLSClientNotBefore returns an attribute KeyValue conforming to the // "tls.client.not_before" semantic conventions. It represents the date/Time -// indicating when client certificate is first considered valid. +// indicating when client certificate is first considered valid func TLSClientNotBefore(val string) attribute.KeyValue { return TLSClientNotBeforeKey.String(val) } // TLSClientSubject returns an attribute KeyValue conforming to the // "tls.client.subject" semantic conventions. It represents the distinguished -// name of subject of the x.509 certificate presented by the client. +// name of subject of the x.509 certificate presented by the client func TLSClientSubject(val string) attribute.KeyValue { return TLSClientSubjectKey.String(val) } // TLSClientSupportedCiphers returns an attribute KeyValue conforming to the // "tls.client.supported_ciphers" semantic conventions. It represents the array -// of ciphers offered by the client during the client hello. +// of ciphers offered by the client during the client hello func TLSClientSupportedCiphers(val ...string) attribute.KeyValue { return TLSClientSupportedCiphersKey.StringSlice(val) } @@ -8976,32 +12274,44 @@ func TLSCurve(val string) attribute.KeyValue { // TLSEstablished returns an attribute KeyValue conforming to the // "tls.established" semantic conventions. It represents the boolean flag // indicating if the TLS negotiation was successful and transitioned to an -// encrypted tunnel. +// encrypted tunnel func TLSEstablished(val bool) attribute.KeyValue { return TLSEstablishedKey.Bool(val) } // TLSNextProtocol returns an attribute KeyValue conforming to the // "tls.next_protocol" semantic conventions. It represents the string -// indicating the protocol being tunneled. Per the values in the [IANA -// registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids), -// this string should be lower case. +// indicating the protocol being tunneled. Per the values in the +// [IANA registry], this string should be lower case +// +// [IANA registry]: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids func TLSNextProtocol(val string) attribute.KeyValue { return TLSNextProtocolKey.String(val) } +// TLSProtocolName returns an attribute KeyValue conforming to the +// "tls.protocol.name" semantic conventions. It represents the normalized +// lowercase protocol name parsed from original string of the negotiated +// [SSL/TLS protocol version] +// +// [SSL/TLS protocol version]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES +func TLSProtocolName(val string) attribute.KeyValue { + return TLSProtocolNameKey.String(val) +} + // TLSProtocolVersion returns an attribute KeyValue conforming to the // "tls.protocol.version" semantic conventions. It represents the numeric part -// of the version parsed from the original string of the negotiated [SSL/TLS -// protocol -// version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES) +// of the version parsed from the original string of the negotiated +// [SSL/TLS protocol version] +// +// [SSL/TLS protocol version]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES func TLSProtocolVersion(val string) attribute.KeyValue { return TLSProtocolVersionKey.String(val) } // TLSResumed returns an attribute KeyValue conforming to the "tls.resumed" // semantic conventions. It represents the boolean flag indicating if this TLS -// connection was resumed from an existing TLS negotiation. +// connection was resumed from an existing TLS negotiation func TLSResumed(val bool) attribute.KeyValue { return TLSResumedKey.Bool(val) } @@ -9010,7 +12320,7 @@ func TLSResumed(val bool) attribute.KeyValue { // "tls.server.certificate" semantic conventions. It represents the pEM-encoded // stand-alone certificate offered by the server. This is usually // mutually-exclusive of `server.certificate_chain` since this value also -// exists in that list. +// exists in that list func TLSServerCertificate(val string) attribute.KeyValue { return TLSServerCertificateKey.String(val) } @@ -9019,7 +12329,7 @@ func TLSServerCertificate(val string) attribute.KeyValue { // "tls.server.certificate_chain" semantic conventions. It represents the array // of PEM-encoded certificates that make up the certificate chain offered by // the server. This is usually mutually-exclusive of `server.certificate` since -// that value should be the first certificate in the chain. +// that value should be the first certificate in the chain func TLSServerCertificateChain(val ...string) attribute.KeyValue { return TLSServerCertificateChainKey.StringSlice(val) } @@ -9028,7 +12338,7 @@ func TLSServerCertificateChain(val ...string) attribute.KeyValue { // "tls.server.hash.md5" semantic conventions. It represents the certificate // fingerprint using the MD5 digest of DER-encoded version of certificate // offered by the server. For consistency with other hash values, this value -// should be formatted as an uppercase hash. +// should be formatted as an uppercase hash func TLSServerHashMd5(val string) attribute.KeyValue { return TLSServerHashMd5Key.String(val) } @@ -9037,7 +12347,7 @@ func TLSServerHashMd5(val string) attribute.KeyValue { // "tls.server.hash.sha1" semantic conventions. It represents the certificate // fingerprint using the SHA1 digest of DER-encoded version of certificate // offered by the server. For consistency with other hash values, this value -// should be formatted as an uppercase hash. +// should be formatted as an uppercase hash func TLSServerHashSha1(val string) attribute.KeyValue { return TLSServerHashSha1Key.String(val) } @@ -9046,316 +12356,416 @@ func TLSServerHashSha1(val string) attribute.KeyValue { // "tls.server.hash.sha256" semantic conventions. It represents the certificate // fingerprint using the SHA256 digest of DER-encoded version of certificate // offered by the server. For consistency with other hash values, this value -// should be formatted as an uppercase hash. +// should be formatted as an uppercase hash func TLSServerHashSha256(val string) attribute.KeyValue { return TLSServerHashSha256Key.String(val) } // TLSServerIssuer returns an attribute KeyValue conforming to the // "tls.server.issuer" semantic conventions. It represents the distinguished -// name of -// [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of -// the issuer of the x.509 certificate presented by the client. +// name of [subject] of the issuer of the x.509 certificate presented by the +// client +// +// [subject]: https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6 func TLSServerIssuer(val string) attribute.KeyValue { return TLSServerIssuerKey.String(val) } // TLSServerJa3s returns an attribute KeyValue conforming to the // "tls.server.ja3s" semantic conventions. It represents a hash that identifies -// servers based on how they perform an SSL/TLS handshake. +// servers based on how they perform an SSL/TLS handshake func TLSServerJa3s(val string) attribute.KeyValue { return TLSServerJa3sKey.String(val) } // TLSServerNotAfter returns an attribute KeyValue conforming to the // "tls.server.not_after" semantic conventions. It represents the date/Time -// indicating when server certificate is no longer considered valid. +// indicating when server certificate is no longer considered valid func TLSServerNotAfter(val string) attribute.KeyValue { return TLSServerNotAfterKey.String(val) } // TLSServerNotBefore returns an attribute KeyValue conforming to the // "tls.server.not_before" semantic conventions. It represents the date/Time -// indicating when server certificate is first considered valid. +// indicating when server certificate is first considered valid func TLSServerNotBefore(val string) attribute.KeyValue { return TLSServerNotBeforeKey.String(val) } // TLSServerSubject returns an attribute KeyValue conforming to the // "tls.server.subject" semantic conventions. It represents the distinguished -// name of subject of the x.509 certificate presented by the server. +// name of subject of the x.509 certificate presented by the server func TLSServerSubject(val string) attribute.KeyValue { return TLSServerSubjectKey.String(val) } -// Attributes describing URL. +// Enum values for tls.protocol.name +var ( + // ssl + // Stability: development + TLSProtocolNameSsl = TLSProtocolNameKey.String("ssl") + // tls + // Stability: development + TLSProtocolNameTLS = TLSProtocolNameKey.String("tls") +) + +// Namespace: url const ( - // URLDomainKey is the attribute Key conforming to the "url.domain" - // semantic conventions. It represents the domain extracted from the - // `url.full`, such as "opentelemetry.io". - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'www.foo.bar', 'opentelemetry.io', '3.12.167.2', - // '[1080:0:0:0:8:800:200C:417A]' - // Note: In some cases a URL may refer to an IP and/or port directly, - // without a domain name. In this case, the IP address would go to the - // domain field. If the URL contains a [literal IPv6 - // address](https://www.rfc-editor.org/rfc/rfc2732#section-2) enclosed by - // `[` and `]`, the `[` and `]` characters should also be captured in the - // domain field. + // URLDomainKey is the attribute Key conforming to the "url.domain" semantic + // conventions. It represents the domain extracted from the `url.full`, such + // as "opentelemetry.io". + // + // Stability: Development + // Type: string + // + // Examples: + // "www.foo.bar", + // "opentelemetry.io", + // "3.12.167.2", + // "[1080:0:0:0:8:800:200C:417A]", + // + // Note: In some cases a URL may refer to an IP and/or port directly, without + // a domain name. In this case, the IP address would go to the domain field. + // If the URL contains a [literal IPv6 address] enclosed by `[` and `]`, the + // `[` and `]` characters should also be captured in the domain field + // + // [literal IPv6 address]: https://www.rfc-editor.org/rfc/rfc2732#section-2 URLDomainKey = attribute.Key("url.domain") // URLExtensionKey is the attribute Key conforming to the "url.extension" - // semantic conventions. It represents the file extension extracted from - // the `url.full`, excluding the leading dot. + // semantic conventions. It represents the file extension extracted from the + // `url.full`, excluding the leading dot. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'png', 'gz' - // Note: The file extension is only set if it exists, as not every url has - // a file extension. When the file name has multiple extensions - // `example.tar.gz`, only the last one should be captured `gz`, not - // `tar.gz`. + // + // Examples: + // "png", + // "gz", + // + // Note: The file extension is only set if it exists, as not every url has a + // file extension. When the file name has multiple extensions `example.tar.gz` + // , only the last one should be captured `gz`, not `tar.gz` URLExtensionKey = attribute.Key("url.extension") // URLFragmentKey is the attribute Key conforming to the "url.fragment" - // semantic conventions. It represents the [URI - // fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component + // semantic conventions. It represents the [URI fragment] component // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'SemConv' + // + // Examples: + // "SemConv", + // + // [URI fragment]: https://www.rfc-editor.org/rfc/rfc3986#section-3.5 URLFragmentKey = attribute.Key("url.fragment") // URLFullKey is the attribute Key conforming to the "url.full" semantic - // conventions. It represents the absolute URL describing a network - // resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986) - // + // conventions. It represents the absolute URL describing a network resource + // according to [RFC3986] + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv', - // '//localhost' + // + // Examples: + // "https://www.foo.bar/search?q=OpenTelemetry#SemConv", + // "//localhost", + // // Note: For network calls, URL usually has - // `scheme://host[:port][path][?query][#fragment]` format, where the - // fragment is not transmitted over HTTP, but if it is known, it SHOULD be - // included nevertheless. + // `scheme://host[:port][path][?query][#fragment]` format, where the fragment + // is not transmitted over HTTP, but if it is known, it SHOULD be included + // nevertheless. + // // `url.full` MUST NOT contain credentials passed via URL in form of - // `https://username:password@www.example.com/`. In such case username and - // password SHOULD be redacted and attribute's value SHOULD be - // `https://REDACTED:REDACTED@www.example.com/`. - // `url.full` SHOULD capture the absolute URL when it is available (or can - // be reconstructed). Sensitive content provided in `url.full` SHOULD be - // scrubbed when instrumentations can identify it. + // `https://username:password@www.example.com/`. + // In such case username and password SHOULD be redacted and attribute's value + // SHOULD be `https://REDACTED:REDACTED@www.example.com/`. + // + // `url.full` SHOULD capture the absolute URL when it is available (or can be + // reconstructed). + // + // Sensitive content provided in `url.full` SHOULD be scrubbed when + // instrumentations can identify it. + // + // + // Query string values for the following keys SHOULD be redacted by default + // and replaced by the + // value `REDACTED`: + // + // - [`AWSAccessKeyId`] + // - [`Signature`] + // - [`sig`] + // - [`X-Goog-Signature`] + // + // This list is subject to change over time. + // + // When a query string value is redacted, the query string key SHOULD still be + // preserved, e.g. + // `https://www.example.com/path?color=blue&sig=REDACTED` + // + // [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986 + // [`AWSAccessKeyId`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth + // [`Signature`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth + // [`sig`]: https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token + // [`X-Goog-Signature`]: https://cloud.google.com/storage/docs/access-control/signed-urls URLFullKey = attribute.Key("url.full") // URLOriginalKey is the attribute Key conforming to the "url.original" - // semantic conventions. It represents the unmodified original URL as seen - // in the event source. + // semantic conventions. It represents the unmodified original URL as seen in + // the event source. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'https://www.foo.bar/search?q=OpenTelemetry#SemConv', - // 'search?q=OpenTelemetry' - // Note: In network monitoring, the observed URL may be a full URL, whereas - // in access logs, the URL is often just represented as a path. This field - // is meant to represent the URL as it was observed, complete or not. + // + // Examples: + // "https://www.foo.bar/search?q=OpenTelemetry#SemConv", + // "search?q=OpenTelemetry", + // + // Note: In network monitoring, the observed URL may be a full URL, whereas in + // access logs, the URL is often just represented as a path. This field is + // meant to represent the URL as it was observed, complete or not. // `url.original` might contain credentials passed via URL in form of // `https://username:password@www.example.com/`. In such case password and // username SHOULD NOT be redacted and attribute's value SHOULD remain the - // same. + // same URLOriginalKey = attribute.Key("url.original") // URLPathKey is the attribute Key conforming to the "url.path" semantic - // conventions. It represents the [URI - // path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component + // conventions. It represents the [URI path] component // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: '/search' + // + // Examples: + // "/search", + // // Note: Sensitive content provided in `url.path` SHOULD be scrubbed when - // instrumentations can identify it. + // instrumentations can identify it + // + // [URI path]: https://www.rfc-editor.org/rfc/rfc3986#section-3.3 URLPathKey = attribute.Key("url.path") // URLPortKey is the attribute Key conforming to the "url.port" semantic // conventions. It represents the port extracted from the `url.full` // + // Stability: Development // Type: int - // RequirementLevel: Optional - // Stability: experimental - // Examples: 443 + // + // Examples: + // 443, URLPortKey = attribute.Key("url.port") // URLQueryKey is the attribute Key conforming to the "url.query" semantic - // conventions. It represents the [URI - // query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component + // conventions. It represents the [URI query] component // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'q=OpenTelemetry' + // + // Examples: + // "q=OpenTelemetry", + // // Note: Sensitive content provided in `url.query` SHOULD be scrubbed when // instrumentations can identify it. + // + // + // Query string values for the following keys SHOULD be redacted by default + // and replaced by the value `REDACTED`: + // + // - [`AWSAccessKeyId`] + // - [`Signature`] + // - [`sig`] + // - [`X-Goog-Signature`] + // + // This list is subject to change over time. + // + // When a query string value is redacted, the query string key SHOULD still be + // preserved, e.g. + // `q=OpenTelemetry&sig=REDACTED` + // + // [URI query]: https://www.rfc-editor.org/rfc/rfc3986#section-3.4 + // [`AWSAccessKeyId`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth + // [`Signature`]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth + // [`sig`]: https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token + // [`X-Goog-Signature`]: https://cloud.google.com/storage/docs/access-control/signed-urls URLQueryKey = attribute.Key("url.query") // URLRegisteredDomainKey is the attribute Key conforming to the // "url.registered_domain" semantic conventions. It represents the highest // registered url domain, stripped of the subdomain. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'example.com', 'foo.co.uk' - // Note: This value can be determined precisely with the [public suffix - // list](http://publicsuffix.org). For example, the registered domain for - // `foo.example.com` is `example.com`. Trying to approximate this by simply - // taking the last two labels will not work well for TLDs such as `co.uk`. + // + // Examples: + // "example.com", + // "foo.co.uk", + // + // Note: This value can be determined precisely with the [public suffix list] + // . For example, the registered domain for `foo.example.com` is `example.com` + // . Trying to approximate this by simply taking the last two labels will not + // work well for TLDs such as `co.uk` + // + // [public suffix list]: http://publicsuffix.org URLRegisteredDomainKey = attribute.Key("url.registered_domain") - // URLSchemeKey is the attribute Key conforming to the "url.scheme" - // semantic conventions. It represents the [URI - // scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component - // identifying the used protocol. + // URLSchemeKey is the attribute Key conforming to the "url.scheme" semantic + // conventions. It represents the [URI scheme] component identifying the used + // protocol. // + // Stability: Stable // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'https', 'ftp', 'telnet' + // + // Examples: + // "https", + // "ftp", + // "telnet", + // + // [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1 URLSchemeKey = attribute.Key("url.scheme") // URLSubdomainKey is the attribute Key conforming to the "url.subdomain" // semantic conventions. It represents the subdomain portion of a fully - // qualified domain name includes all of the names except the host name - // under the registered_domain. In a partially qualified domain, or if the + // qualified domain name includes all of the names except the host name under + // the registered_domain. In a partially qualified domain, or if the // qualification level of the full name cannot be determined, subdomain // contains all of the names below the registered domain. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'east', 'sub2.sub1' - // Note: The subdomain portion of `www.east.mydomain.co.uk` is `east`. If - // the domain has multiple levels of subdomain, such as - // `sub2.sub1.example.com`, the subdomain field should contain `sub2.sub1`, - // with no trailing period. + // + // Examples: + // "east", + // "sub2.sub1", + // + // Note: The subdomain portion of `www.east.mydomain.co.uk` is `east`. If the + // domain has multiple levels of subdomain, such as `sub2.sub1.example.com`, + // the subdomain field should contain `sub2.sub1`, with no trailing period URLSubdomainKey = attribute.Key("url.subdomain") // URLTemplateKey is the attribute Key conforming to the "url.template" // semantic conventions. It represents the low-cardinality template of an - // [absolute path - // reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2). + // [absolute path reference]. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '/users/{id}', '/users/:id', '/users?id={id}' + // + // Examples: + // "/users/{id}", + // "/users/:id", + // "/users?id={id}", + // + // [absolute path reference]: https://www.rfc-editor.org/rfc/rfc3986#section-4.2 URLTemplateKey = attribute.Key("url.template") // URLTopLevelDomainKey is the attribute Key conforming to the // "url.top_level_domain" semantic conventions. It represents the effective - // top level domain (eTLD), also known as the domain suffix, is the last - // part of the domain name. For example, the top level domain for - // example.com is `com`. + // top level domain (eTLD), also known as the domain suffix, is the last part + // of the domain name. For example, the top level domain for example.com is + // `com`. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'com', 'co.uk' - // Note: This value can be determined precisely with the [public suffix - // list](http://publicsuffix.org). + // + // Examples: + // "com", + // "co.uk", + // + // Note: This value can be determined precisely with the [public suffix list] + // + // [public suffix list]: http://publicsuffix.org URLTopLevelDomainKey = attribute.Key("url.top_level_domain") ) // URLDomain returns an attribute KeyValue conforming to the "url.domain" -// semantic conventions. It represents the domain extracted from the -// `url.full`, such as "opentelemetry.io". +// semantic conventions. It represents the domain extracted from the `url.full` +// , such as "opentelemetry.io" func URLDomain(val string) attribute.KeyValue { return URLDomainKey.String(val) } -// URLExtension returns an attribute KeyValue conforming to the -// "url.extension" semantic conventions. It represents the file extension -// extracted from the `url.full`, excluding the leading dot. +// URLExtension returns an attribute KeyValue conforming to the "url.extension" +// semantic conventions. It represents the file extension extracted from the +// `url.full`, excluding the leading dot func URLExtension(val string) attribute.KeyValue { return URLExtensionKey.String(val) } -// URLFragment returns an attribute KeyValue conforming to the -// "url.fragment" semantic conventions. It represents the [URI -// fragment](https://www.rfc-editor.org/rfc/rfc3986#section-3.5) component +// URLFragment returns an attribute KeyValue conforming to the "url.fragment" +// semantic conventions. It represents the [URI fragment] component +// +// [URI fragment]: https://www.rfc-editor.org/rfc/rfc3986#section-3.5 func URLFragment(val string) attribute.KeyValue { return URLFragmentKey.String(val) } -// URLFull returns an attribute KeyValue conforming to the "url.full" -// semantic conventions. It represents the absolute URL describing a network -// resource according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986) +// URLFull returns an attribute KeyValue conforming to the "url.full" semantic +// conventions. It represents the absolute URL describing a network resource +// according to [RFC3986] +// +// [RFC3986]: https://www.rfc-editor.org/rfc/rfc3986 func URLFull(val string) attribute.KeyValue { return URLFullKey.String(val) } -// URLOriginal returns an attribute KeyValue conforming to the -// "url.original" semantic conventions. It represents the unmodified original -// URL as seen in the event source. +// URLOriginal returns an attribute KeyValue conforming to the "url.original" +// semantic conventions. It represents the unmodified original URL as seen in +// the event source func URLOriginal(val string) attribute.KeyValue { return URLOriginalKey.String(val) } -// URLPath returns an attribute KeyValue conforming to the "url.path" -// semantic conventions. It represents the [URI -// path](https://www.rfc-editor.org/rfc/rfc3986#section-3.3) component +// URLPath returns an attribute KeyValue conforming to the "url.path" semantic +// conventions. It represents the [URI path] component +// +// [URI path]: https://www.rfc-editor.org/rfc/rfc3986#section-3.3 func URLPath(val string) attribute.KeyValue { return URLPathKey.String(val) } -// URLPort returns an attribute KeyValue conforming to the "url.port" -// semantic conventions. It represents the port extracted from the `url.full` +// URLPort returns an attribute KeyValue conforming to the "url.port" semantic +// conventions. It represents the port extracted from the `url.full` func URLPort(val int) attribute.KeyValue { return URLPortKey.Int(val) } // URLQuery returns an attribute KeyValue conforming to the "url.query" -// semantic conventions. It represents the [URI -// query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component +// semantic conventions. It represents the [URI query] component +// +// [URI query]: https://www.rfc-editor.org/rfc/rfc3986#section-3.4 func URLQuery(val string) attribute.KeyValue { return URLQueryKey.String(val) } // URLRegisteredDomain returns an attribute KeyValue conforming to the // "url.registered_domain" semantic conventions. It represents the highest -// registered url domain, stripped of the subdomain. +// registered url domain, stripped of the subdomain func URLRegisteredDomain(val string) attribute.KeyValue { return URLRegisteredDomainKey.String(val) } // URLScheme returns an attribute KeyValue conforming to the "url.scheme" -// semantic conventions. It represents the [URI -// scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component -// identifying the used protocol. +// semantic conventions. It represents the [URI scheme] component identifying +// the used protocol +// +// [URI scheme]: https://www.rfc-editor.org/rfc/rfc3986#section-3.1 func URLScheme(val string) attribute.KeyValue { return URLSchemeKey.String(val) } -// URLSubdomain returns an attribute KeyValue conforming to the -// "url.subdomain" semantic conventions. It represents the subdomain portion of -// a fully qualified domain name includes all of the names except the host name -// under the registered_domain. In a partially qualified domain, or if the +// URLSubdomain returns an attribute KeyValue conforming to the "url.subdomain" +// semantic conventions. It represents the subdomain portion of a fully +// qualified domain name includes all of the names except the host name under +// the registered_domain. In a partially qualified domain, or if the // qualification level of the full name cannot be determined, subdomain -// contains all of the names below the registered domain. +// contains all of the names below the registered domain func URLSubdomain(val string) attribute.KeyValue { return URLSubdomainKey.String(val) } -// URLTemplate returns an attribute KeyValue conforming to the -// "url.template" semantic conventions. It represents the low-cardinality -// template of an [absolute path -// reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2). +// URLTemplate returns an attribute KeyValue conforming to the "url.template" +// semantic conventions. It represents the low-cardinality template of an +// [absolute path reference] +// +// [absolute path reference]: https://www.rfc-editor.org/rfc/rfc3986#section-4.2 func URLTemplate(val string) attribute.KeyValue { return URLTemplateKey.String(val) } @@ -9363,147 +12773,84 @@ func URLTemplate(val string) attribute.KeyValue { // URLTopLevelDomain returns an attribute KeyValue conforming to the // "url.top_level_domain" semantic conventions. It represents the effective top // level domain (eTLD), also known as the domain suffix, is the last part of -// the domain name. For example, the top level domain for example.com is `com`. +// the domain name. For example, the top level domain for example.com is `com` func URLTopLevelDomain(val string) attribute.KeyValue { return URLTopLevelDomainKey.String(val) } -// Describes user-agent attributes. +// Namespace: user const ( - // UserAgentNameKey is the attribute Key conforming to the - // "user_agent.name" semantic conventions. It represents the name of the - // user-agent extracted from original. Usually refers to the browser's - // name. + // UserEmailKey is the attribute Key conforming to the "user.email" semantic + // conventions. It represents the user email address. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Safari', 'YourApp' - // Note: [Example](https://www.whatsmyua.info) of extracting browser's name - // from original string. In the case of using a user-agent for non-browser - // products, such as microservices with multiple names/versions inside the - // `user_agent.original`, the most significant name SHOULD be selected. In - // such a scenario it should align with `user_agent.version` - UserAgentNameKey = attribute.Key("user_agent.name") - - // UserAgentOriginalKey is the attribute Key conforming to the - // "user_agent.original" semantic conventions. It represents the value of - // the [HTTP - // User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) - // header sent by the client. - // - // Type: string - // RequirementLevel: Optional - // Stability: stable - // Examples: 'CERN-LineMode/2.15 libwww/2.17b3', 'Mozilla/5.0 (iPhone; CPU - // iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) - // Version/14.1.2 Mobile/15E148 Safari/604.1', 'YourApp/1.0.0 - // grpc-java-okhttp/1.27.2' - UserAgentOriginalKey = attribute.Key("user_agent.original") - - // UserAgentVersionKey is the attribute Key conforming to the - // "user_agent.version" semantic conventions. It represents the version of - // the user-agent extracted from original. Usually refers to the browser's - // version - // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '14.1.2', '1.0.0' - // Note: [Example](https://www.whatsmyua.info) of extracting browser's - // version from original string. In the case of using a user-agent for - // non-browser products, such as microservices with multiple names/versions - // inside the `user_agent.original`, the most significant version SHOULD be - // selected. In such a scenario it should align with `user_agent.name` - UserAgentVersionKey = attribute.Key("user_agent.version") -) - -// UserAgentName returns an attribute KeyValue conforming to the -// "user_agent.name" semantic conventions. It represents the name of the -// user-agent extracted from original. Usually refers to the browser's name. -func UserAgentName(val string) attribute.KeyValue { - return UserAgentNameKey.String(val) -} - -// UserAgentOriginal returns an attribute KeyValue conforming to the -// "user_agent.original" semantic conventions. It represents the value of the -// [HTTP -// User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) -// header sent by the client. -func UserAgentOriginal(val string) attribute.KeyValue { - return UserAgentOriginalKey.String(val) -} - -// UserAgentVersion returns an attribute KeyValue conforming to the -// "user_agent.version" semantic conventions. It represents the version of the -// user-agent extracted from original. Usually refers to the browser's version -func UserAgentVersion(val string) attribute.KeyValue { - return UserAgentVersionKey.String(val) -} - -// Describes information about the user. -const ( - // UserEmailKey is the attribute Key conforming to the "user.email" - // semantic conventions. It represents the user email address. // - // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'a.einstein@example.com' + // Examples: + // "a.einstein@example.com", UserEmailKey = attribute.Key("user.email") // UserFullNameKey is the attribute Key conforming to the "user.full_name" // semantic conventions. It represents the user's full name // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Albert Einstein' + // + // Examples: + // "Albert Einstein", UserFullNameKey = attribute.Key("user.full_name") // UserHashKey is the attribute Key conforming to the "user.hash" semantic // conventions. It represents the unique user hash to correlate information // for a user in anonymized form. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '364fc68eaf4c8acec74a4e52d7d1feaa' - // Note: Useful if `user.id` or `user.name` contain confidential - // information and cannot be used. + // + // Examples: + // "364fc68eaf4c8acec74a4e52d7d1feaa", + // + // Note: Useful if `user.id` or `user.name` contain confidential information + // and cannot be used UserHashKey = attribute.Key("user.hash") // UserIDKey is the attribute Key conforming to the "user.id" semantic // conventions. It represents the unique identifier of the user. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'S-1-5-21-202424912787-2692429404-2351956786-1000' + // + // Examples: + // "S-1-5-21-202424912787-2692429404-2351956786-1000", UserIDKey = attribute.Key("user.id") // UserNameKey is the attribute Key conforming to the "user.name" semantic // conventions. It represents the short name or login/username of the user. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'a.einstein' + // + // Examples: + // "a.einstein", UserNameKey = attribute.Key("user.name") - // UserRolesKey is the attribute Key conforming to the "user.roles" - // semantic conventions. It represents the array of user roles at the time - // of the event. + // UserRolesKey is the attribute Key conforming to the "user.roles" semantic + // conventions. It represents the array of user roles at the time of the + // event. // + // Stability: Development // Type: string[] - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'admin', 'reporting_user' + // + // Examples: + // [ + // "admin", + // "reporting_user", + // ], UserRolesKey = attribute.Key("user.roles") ) // UserEmail returns an attribute KeyValue conforming to the "user.email" -// semantic conventions. It represents the user email address. +// semantic conventions. It represents the user email address func UserEmail(val string) attribute.KeyValue { return UserEmailKey.String(val) } @@ -9516,268 +12863,735 @@ func UserFullName(val string) attribute.KeyValue { // UserHash returns an attribute KeyValue conforming to the "user.hash" // semantic conventions. It represents the unique user hash to correlate -// information for a user in anonymized form. +// information for a user in anonymized form func UserHash(val string) attribute.KeyValue { return UserHashKey.String(val) } // UserID returns an attribute KeyValue conforming to the "user.id" semantic -// conventions. It represents the unique identifier of the user. +// conventions. It represents the unique identifier of the user func UserID(val string) attribute.KeyValue { return UserIDKey.String(val) } // UserName returns an attribute KeyValue conforming to the "user.name" // semantic conventions. It represents the short name or login/username of the -// user. +// user func UserName(val string) attribute.KeyValue { return UserNameKey.String(val) } // UserRoles returns an attribute KeyValue conforming to the "user.roles" // semantic conventions. It represents the array of user roles at the time of -// the event. +// the event func UserRoles(val ...string) attribute.KeyValue { return UserRolesKey.StringSlice(val) } -// Describes V8 JS Engine Runtime related attributes. +// Namespace: user_agent +const ( + // UserAgentNameKey is the attribute Key conforming to the "user_agent.name" + // semantic conventions. It represents the name of the user-agent extracted + // from original. Usually refers to the browser's name. + // + // Stability: Development + // Type: string + // + // Examples: + // "Safari", + // "YourApp", + // + // Note: [Example] of extracting browser's name from original string. In the + // case of using a user-agent for non-browser products, such as microservices + // with multiple names/versions inside the `user_agent.original`, the most + // significant name SHOULD be selected. In such a scenario it should align + // with `user_agent.version` + // + // [Example]: https://www.whatsmyua.info + UserAgentNameKey = attribute.Key("user_agent.name") + + // UserAgentOriginalKey is the attribute Key conforming to the + // "user_agent.original" semantic conventions. It represents the value of the + // [HTTP User-Agent] header sent by the client. + // + // Stability: Stable + // Type: string + // + // Examples: + // "CERN-LineMode/2.15 libwww/2.17b3", + // "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) + // AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 + // Safari/604.1", + // "YourApp/1.0.0 grpc-java-okhttp/1.27.2", + // + // [HTTP User-Agent]: https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent + UserAgentOriginalKey = attribute.Key("user_agent.original") + + // UserAgentSyntheticTypeKey is the attribute Key conforming to the + // "user_agent.synthetic.type" semantic conventions. It represents the + // specifies the category of synthetic traffic, such as tests or bots. + // + // Stability: Development + // Type: Enum + // + // Examples: undefined + // Note: This attribute MAY be derived from the contents of the + // `user_agent.original` attribute. Components that populate the attribute are + // responsible for determining what they consider to be synthetic bot or test + // traffic. This attribute can either be set for self-identification purposes, + // or on telemetry detected to be generated as a result of a synthetic + // request. This attribute is useful for distinguishing between genuine client + // traffic and synthetic traffic generated by bots or tests + UserAgentSyntheticTypeKey = attribute.Key("user_agent.synthetic.type") + + // UserAgentVersionKey is the attribute Key conforming to the + // "user_agent.version" semantic conventions. It represents the version of the + // user-agent extracted from original. Usually refers to the browser's version + // + // Stability: Development + // Type: string + // + // Examples: + // "14.1.2", + // "1.0.0", + // + // Note: [Example] of extracting browser's version from original string. In + // the case of using a user-agent for non-browser products, such as + // microservices with multiple names/versions inside the `user_agent.original` + // , the most significant version SHOULD be selected. In such a scenario it + // should align with `user_agent.name` + // + // [Example]: https://www.whatsmyua.info + UserAgentVersionKey = attribute.Key("user_agent.version") +) + +// UserAgentName returns an attribute KeyValue conforming to the +// "user_agent.name" semantic conventions. It represents the name of the +// user-agent extracted from original. Usually refers to the browser's name +func UserAgentName(val string) attribute.KeyValue { + return UserAgentNameKey.String(val) +} + +// UserAgentOriginal returns an attribute KeyValue conforming to the +// "user_agent.original" semantic conventions. It represents the value of the +// [HTTP User-Agent] header sent by the client +// +// [HTTP User-Agent]: https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent +func UserAgentOriginal(val string) attribute.KeyValue { + return UserAgentOriginalKey.String(val) +} + +// UserAgentSyntheticType returns an attribute KeyValue conforming to the +// "user_agent.synthetic.type" semantic conventions. It represents the +// specifies the category of synthetic traffic, such as tests or bots +func UserAgentSyntheticType(val string) attribute.KeyValue { + return UserAgentSyntheticTypeKey.String(val) +} + +// UserAgentVersion returns an attribute KeyValue conforming to the +// "user_agent.version" semantic conventions. It represents the version of the +// user-agent extracted from original. Usually refers to the browser's version +func UserAgentVersion(val string) attribute.KeyValue { + return UserAgentVersionKey.String(val) +} + +// Enum values for user_agent.synthetic.type +var ( + // Bot source. + // Stability: development + UserAgentSyntheticTypeBot = UserAgentSyntheticTypeKey.String("bot") + // Synthetic test source. + // Stability: development + UserAgentSyntheticTypeTest = UserAgentSyntheticTypeKey.String("test") +) + +// Namespace: v8js const ( // V8JSGCTypeKey is the attribute Key conforming to the "v8js.gc.type" // semantic conventions. It represents the type of garbage collection. - // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined V8JSGCTypeKey = attribute.Key("v8js.gc.type") // V8JSHeapSpaceNameKey is the attribute Key conforming to the - // "v8js.heap.space.name" semantic conventions. It represents the name of - // the space type of heap memory. - // + // "v8js.heap.space.name" semantic conventions. It represents the name of the + // space type of heap memory. + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental + // + // Examples: undefined // Note: Value can be retrieved from value `space_name` of - // [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics) + // [`v8.getHeapSpaceStatistics()`] + // + // [`v8.getHeapSpaceStatistics()`]: https://nodejs.org/api/v8.html#v8getheapspacestatistics V8JSHeapSpaceNameKey = attribute.Key("v8js.heap.space.name") ) +// V8JSGCType returns an attribute KeyValue conforming to the "v8js.gc.type" +// semantic conventions. It represents the type of garbage collection +func V8JSGCType(val string) attribute.KeyValue { + return V8JSGCTypeKey.String(val) +} + +// V8JSHeapSpaceName returns an attribute KeyValue conforming to the +// "v8js.heap.space.name" semantic conventions. It represents the name of the +// space type of heap memory +func V8JSHeapSpaceName(val string) attribute.KeyValue { + return V8JSHeapSpaceNameKey.String(val) +} + +// Enum values for v8js.gc.type var ( - // Major (Mark Sweep Compact) + // Major (Mark Sweep Compact). + // Stability: development V8JSGCTypeMajor = V8JSGCTypeKey.String("major") - // Minor (Scavenge) + // Minor (Scavenge). + // Stability: development V8JSGCTypeMinor = V8JSGCTypeKey.String("minor") - // Incremental (Incremental Marking) + // Incremental (Incremental Marking). + // Stability: development V8JSGCTypeIncremental = V8JSGCTypeKey.String("incremental") - // Weak Callbacks (Process Weak Callbacks) + // Weak Callbacks (Process Weak Callbacks). + // Stability: development V8JSGCTypeWeakcb = V8JSGCTypeKey.String("weakcb") ) +// Enum values for v8js.heap.space.name var ( - // New memory space + // New memory space. + // Stability: development V8JSHeapSpaceNameNewSpace = V8JSHeapSpaceNameKey.String("new_space") - // Old memory space + // Old memory space. + // Stability: development V8JSHeapSpaceNameOldSpace = V8JSHeapSpaceNameKey.String("old_space") - // Code memory space + // Code memory space. + // Stability: development V8JSHeapSpaceNameCodeSpace = V8JSHeapSpaceNameKey.String("code_space") - // Map memory space + // Map memory space. + // Stability: development V8JSHeapSpaceNameMapSpace = V8JSHeapSpaceNameKey.String("map_space") - // Large object memory space + // Large object memory space. + // Stability: development V8JSHeapSpaceNameLargeObjectSpace = V8JSHeapSpaceNameKey.String("large_object_space") ) -// This group defines the attributes for [Version Control Systems -// (VCS)](https://en.wikipedia.org/wiki/Version_control). +// Namespace: vcs const ( - // VCSRepositoryChangeIDKey is the attribute Key conforming to the - // "vcs.repository.change.id" semantic conventions. It represents the ID of - // the change (pull request/merge request) if applicable. This is usually a - // unique (within repository) identifier generated by the VCS system. + // VCSChangeIDKey is the attribute Key conforming to the "vcs.change.id" + // semantic conventions. It represents the ID of the change (pull + // request/merge request/changelist) if applicable. This is usually a unique + // (within repository) identifier generated by the VCS system. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '123' - VCSRepositoryChangeIDKey = attribute.Key("vcs.repository.change.id") + // + // Examples: + // "123", + VCSChangeIDKey = attribute.Key("vcs.change.id") - // VCSRepositoryChangeTitleKey is the attribute Key conforming to the - // "vcs.repository.change.title" semantic conventions. It represents the - // human readable title of the change (pull request/merge request). This - // title is often a brief summary of the change and may get merged in to a - // ref as the commit summary. + // VCSChangeStateKey is the attribute Key conforming to the "vcs.change.state" + // semantic conventions. It represents the state of the change (pull + // request/merge request/changelist). // + // Stability: Development + // Type: Enum + // + // Examples: + // "open", + // "closed", + // "merged", + VCSChangeStateKey = attribute.Key("vcs.change.state") + + // VCSChangeTitleKey is the attribute Key conforming to the "vcs.change.title" + // semantic conventions. It represents the human readable title of the change + // (pull request/merge request/changelist). This title is often a brief + // summary of the change and may get merged in to a ref as the commit summary. + // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'Fixes broken thing', 'feat: add my new feature', '[chore] - // update dependency' - VCSRepositoryChangeTitleKey = attribute.Key("vcs.repository.change.title") + // + // Examples: + // "Fixes broken thing", + // "feat: add my new feature", + // "[chore] update dependency", + VCSChangeTitleKey = attribute.Key("vcs.change.title") + + // VCSLineChangeTypeKey is the attribute Key conforming to the + // "vcs.line_change.type" semantic conventions. It represents the type of line + // change being measured on a branch or change. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "added", + // "removed", + VCSLineChangeTypeKey = attribute.Key("vcs.line_change.type") - // VCSRepositoryRefNameKey is the attribute Key conforming to the - // "vcs.repository.ref.name" semantic conventions. It represents the name - // of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as - // **branch** or **tag** in the repository. + // VCSRefBaseNameKey is the attribute Key conforming to the + // "vcs.ref.base.name" semantic conventions. It represents the name of the + // [reference] such as **branch** or **tag** in the repository. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'my-feature-branch', 'tag-1-test' - VCSRepositoryRefNameKey = attribute.Key("vcs.repository.ref.name") + // + // Examples: + // "my-feature-branch", + // "tag-1-test", + // + // Note: `base` refers to the starting point of a change. For example, `main` + // would be the base reference of type branch if you've created a new + // reference of type branch from it and created new commits + // + // [reference]: https://git-scm.com/docs/gitglossary#def_ref + VCSRefBaseNameKey = attribute.Key("vcs.ref.base.name") - // VCSRepositoryRefRevisionKey is the attribute Key conforming to the - // "vcs.repository.ref.revision" semantic conventions. It represents the - // revision, literally [revised - // version](https://www.merriam-webster.com/dictionary/revision), The - // revision most often refers to a commit object in Git, or a revision - // number in SVN. + // VCSRefBaseRevisionKey is the attribute Key conforming to the + // "vcs.ref.base.revision" semantic conventions. It represents the revision, + // literally [revised version], The revision most often refers to a commit + // object in Git, or a revision number in SVN. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // '9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc', - // 'main', '123', 'HEAD' - // Note: The revision can be a full [hash value (see - // glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + // "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc", + // "main", + // "123", + // "HEAD", + // + // Note: `base` refers to the starting point of a change. For example, `main` + // would be the base reference of type branch if you've created a new + // reference of type branch from it and created new commits. The + // revision can be a full [hash value (see + // glossary)], // of the recorded change to a ref within a repository pointing to a - // commit [commit](https://git-scm.com/docs/git-commit) object. It does - // not necessarily have to be a hash; it can simply define a + // commit [commit] object. It does + // not necessarily have to be a hash; it can simply define a [revision + // number] + // which is an integer that is monotonically increasing. In cases where + // it is identical to the `ref.base.name`, it SHOULD still be included. + // It is up to the implementer to decide which value to set as the + // revision based on the VCS system and situational context + // + // [revised version]: https://www.merriam-webster.com/dictionary/revision + // [hash value (see + // glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf + // [commit]: https://git-scm.com/docs/git-commit // [revision - // number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) + // number]: https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html + VCSRefBaseRevisionKey = attribute.Key("vcs.ref.base.revision") + + // VCSRefBaseTypeKey is the attribute Key conforming to the + // "vcs.ref.base.type" semantic conventions. It represents the type of the + // [reference] in the repository. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "branch", + // "tag", + // + // Note: `base` refers to the starting point of a change. For example, `main` + // would be the base reference of type branch if you've created a new + // reference of type branch from it and created new commits + // + // [reference]: https://git-scm.com/docs/gitglossary#def_ref + VCSRefBaseTypeKey = attribute.Key("vcs.ref.base.type") + + // VCSRefHeadNameKey is the attribute Key conforming to the + // "vcs.ref.head.name" semantic conventions. It represents the name of the + // [reference] such as **branch** or **tag** in the repository. + // + // Stability: Development + // Type: string + // + // Examples: + // "my-feature-branch", + // "tag-1-test", + // + // Note: `head` refers to where you are right now; the current reference at a + // given time + // + // [reference]: https://git-scm.com/docs/gitglossary#def_ref + VCSRefHeadNameKey = attribute.Key("vcs.ref.head.name") + + // VCSRefHeadRevisionKey is the attribute Key conforming to the + // "vcs.ref.head.revision" semantic conventions. It represents the revision, + // literally [revised version], The revision most often refers to a commit + // object in Git, or a revision number in SVN. + // + // Stability: Development + // Type: string + // + // Examples: + // "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc", + // "main", + // "123", + // "HEAD", + // + // Note: `head` refers to where you are right now; the current reference at a + // given time.The revision can be a full [hash value (see + // glossary)], + // of the recorded change to a ref within a repository pointing to a + // commit [commit] object. It does + // not necessarily have to be a hash; it can simply define a [revision + // number] // which is an integer that is monotonically increasing. In cases where - // it is identical to the `ref.name`, it SHOULD still be included. It is - // up to the implementer to decide which value to set as the revision - // based on the VCS system and situational context. - VCSRepositoryRefRevisionKey = attribute.Key("vcs.repository.ref.revision") - - // VCSRepositoryRefTypeKey is the attribute Key conforming to the - // "vcs.repository.ref.type" semantic conventions. It represents the type - // of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the + // it is identical to the `ref.head.name`, it SHOULD still be included. + // It is up to the implementer to decide which value to set as the + // revision based on the VCS system and situational context + // + // [revised version]: https://www.merriam-webster.com/dictionary/revision + // [hash value (see + // glossary)]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf + // [commit]: https://git-scm.com/docs/git-commit + // [revision + // number]: https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html + VCSRefHeadRevisionKey = attribute.Key("vcs.ref.head.revision") + + // VCSRefHeadTypeKey is the attribute Key conforming to the + // "vcs.ref.head.type" semantic conventions. It represents the type of the + // [reference] in the repository. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "branch", + // "tag", + // + // Note: `head` refers to where you are right now; the current reference at a + // given time + // + // [reference]: https://git-scm.com/docs/gitglossary#def_ref + VCSRefHeadTypeKey = attribute.Key("vcs.ref.head.type") + + // VCSRefTypeKey is the attribute Key conforming to the "vcs.ref.type" + // semantic conventions. It represents the type of the [reference] in the // repository. // + // Stability: Development // Type: Enum - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'branch', 'tag' - VCSRepositoryRefTypeKey = attribute.Key("vcs.repository.ref.type") + // + // Examples: + // "branch", + // "tag", + // + // [reference]: https://git-scm.com/docs/gitglossary#def_ref + VCSRefTypeKey = attribute.Key("vcs.ref.type") + + // VCSRepositoryNameKey is the attribute Key conforming to the + // "vcs.repository.name" semantic conventions. It represents the human + // readable name of the repository. It SHOULD NOT include any additional + // identifier like Group/SubGroup in GitLab or organization in GitHub. + // + // Stability: Development + // Type: string + // + // Examples: + // "semantic-conventions", + // "my-cool-repo", + // + // Note: Due to it only being the name, it can clash with forks of the same + // repository if collecting telemetry across multiple orgs or groups in + // the same backends + VCSRepositoryNameKey = attribute.Key("vcs.repository.name") // VCSRepositoryURLFullKey is the attribute Key conforming to the // "vcs.repository.url.full" semantic conventions. It represents the - // [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the - // complete address in order to locate and identify the repository. + // [canonical URL] of the repository providing the complete HTTP(S) address in + // order to locate and identify the repository through a browser. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental + // // Examples: - // 'https://github.com/opentelemetry/open-telemetry-collector-contrib', - // 'https://gitlab.com/my-org/my-project/my-projects-project/repo' + // "https://github.com/opentelemetry/open-telemetry-collector-contrib", + // "https://gitlab.com/my-org/my-project/my-projects-project/repo", + // + // Note: In Git Version Control Systems, the canonical URL SHOULD NOT include + // the `.git` extension + // + // [canonical URL]: https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical. VCSRepositoryURLFullKey = attribute.Key("vcs.repository.url.full") -) -var ( - // [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) - VCSRepositoryRefTypeBranch = VCSRepositoryRefTypeKey.String("branch") - // [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) - VCSRepositoryRefTypeTag = VCSRepositoryRefTypeKey.String("tag") + // VCSRevisionDeltaDirectionKey is the attribute Key conforming to the + // "vcs.revision_delta.direction" semantic conventions. It represents the type + // of revision comparison. + // + // Stability: Development + // Type: Enum + // + // Examples: + // "ahead", + // "behind", + VCSRevisionDeltaDirectionKey = attribute.Key("vcs.revision_delta.direction") ) -// VCSRepositoryChangeID returns an attribute KeyValue conforming to the -// "vcs.repository.change.id" semantic conventions. It represents the ID of the -// change (pull request/merge request) if applicable. This is usually a unique -// (within repository) identifier generated by the VCS system. -func VCSRepositoryChangeID(val string) attribute.KeyValue { - return VCSRepositoryChangeIDKey.String(val) -} - -// VCSRepositoryChangeTitle returns an attribute KeyValue conforming to the -// "vcs.repository.change.title" semantic conventions. It represents the human -// readable title of the change (pull request/merge request). This title is -// often a brief summary of the change and may get merged in to a ref as the -// commit summary. -func VCSRepositoryChangeTitle(val string) attribute.KeyValue { - return VCSRepositoryChangeTitleKey.String(val) +// VCSChangeID returns an attribute KeyValue conforming to the "vcs.change.id" +// semantic conventions. It represents the ID of the change (pull request/merge +// request/changelist) if applicable. This is usually a unique (within +// repository) identifier generated by the VCS system +func VCSChangeID(val string) attribute.KeyValue { + return VCSChangeIDKey.String(val) } -// VCSRepositoryRefName returns an attribute KeyValue conforming to the -// "vcs.repository.ref.name" semantic conventions. It represents the name of -// the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as -// **branch** or **tag** in the repository. -func VCSRepositoryRefName(val string) attribute.KeyValue { - return VCSRepositoryRefNameKey.String(val) +// VCSChangeState returns an attribute KeyValue conforming to the +// "vcs.change.state" semantic conventions. It represents the state of the +// change (pull request/merge request/changelist) +func VCSChangeState(val string) attribute.KeyValue { + return VCSChangeStateKey.String(val) } -// VCSRepositoryRefRevision returns an attribute KeyValue conforming to the -// "vcs.repository.ref.revision" semantic conventions. It represents the -// revision, literally [revised -// version](https://www.merriam-webster.com/dictionary/revision), The revision -// most often refers to a commit object in Git, or a revision number in SVN. -func VCSRepositoryRefRevision(val string) attribute.KeyValue { - return VCSRepositoryRefRevisionKey.String(val) +// VCSChangeTitle returns an attribute KeyValue conforming to the +// "vcs.change.title" semantic conventions. It represents the human readable +// title of the change (pull request/merge request/changelist). This title is +// often a brief summary of the change and may get merged in to a ref as the +// commit summary +func VCSChangeTitle(val string) attribute.KeyValue { + return VCSChangeTitleKey.String(val) +} + +// VCSLineChangeType returns an attribute KeyValue conforming to the +// "vcs.line_change.type" semantic conventions. It represents the type of line +// change being measured on a branch or change +func VCSLineChangeType(val string) attribute.KeyValue { + return VCSLineChangeTypeKey.String(val) +} + +// VCSRefBaseName returns an attribute KeyValue conforming to the +// "vcs.ref.base.name" semantic conventions. It represents the name of the +// [reference] such as **branch** or **tag** in the repository +// +// [reference]: https://git-scm.com/docs/gitglossary#def_ref +func VCSRefBaseName(val string) attribute.KeyValue { + return VCSRefBaseNameKey.String(val) +} + +// VCSRefBaseRevision returns an attribute KeyValue conforming to the +// "vcs.ref.base.revision" semantic conventions. It represents the revision, +// literally [revised version], The revision most often refers to a commit +// object in Git, or a revision number in SVN +// +// [revised version]: https://www.merriam-webster.com/dictionary/revision +func VCSRefBaseRevision(val string) attribute.KeyValue { + return VCSRefBaseRevisionKey.String(val) +} + +// VCSRefBaseType returns an attribute KeyValue conforming to the +// "vcs.ref.base.type" semantic conventions. It represents the type of the +// [reference] in the repository +// +// [reference]: https://git-scm.com/docs/gitglossary#def_ref +func VCSRefBaseType(val string) attribute.KeyValue { + return VCSRefBaseTypeKey.String(val) +} + +// VCSRefHeadName returns an attribute KeyValue conforming to the +// "vcs.ref.head.name" semantic conventions. It represents the name of the +// [reference] such as **branch** or **tag** in the repository +// +// [reference]: https://git-scm.com/docs/gitglossary#def_ref +func VCSRefHeadName(val string) attribute.KeyValue { + return VCSRefHeadNameKey.String(val) +} + +// VCSRefHeadRevision returns an attribute KeyValue conforming to the +// "vcs.ref.head.revision" semantic conventions. It represents the revision, +// literally [revised version], The revision most often refers to a commit +// object in Git, or a revision number in SVN +// +// [revised version]: https://www.merriam-webster.com/dictionary/revision +func VCSRefHeadRevision(val string) attribute.KeyValue { + return VCSRefHeadRevisionKey.String(val) +} + +// VCSRefHeadType returns an attribute KeyValue conforming to the +// "vcs.ref.head.type" semantic conventions. It represents the type of the +// [reference] in the repository +// +// [reference]: https://git-scm.com/docs/gitglossary#def_ref +func VCSRefHeadType(val string) attribute.KeyValue { + return VCSRefHeadTypeKey.String(val) +} + +// VCSRefType returns an attribute KeyValue conforming to the "vcs.ref.type" +// semantic conventions. It represents the type of the [reference] in the +// repository +// +// [reference]: https://git-scm.com/docs/gitglossary#def_ref +func VCSRefType(val string) attribute.KeyValue { + return VCSRefTypeKey.String(val) +} + +// VCSRepositoryName returns an attribute KeyValue conforming to the +// "vcs.repository.name" semantic conventions. It represents the human readable +// name of the repository. It SHOULD NOT include any additional identifier like +// Group/SubGroup in GitLab or organization in GitHub +func VCSRepositoryName(val string) attribute.KeyValue { + return VCSRepositoryNameKey.String(val) } // VCSRepositoryURLFull returns an attribute KeyValue conforming to the // "vcs.repository.url.full" semantic conventions. It represents the -// [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the -// complete address in order to locate and identify the repository. +// [canonical URL] of the repository providing the complete HTTP(S) address in +// order to locate and identify the repository through a browser +// +// [canonical URL]: https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical. func VCSRepositoryURLFull(val string) attribute.KeyValue { return VCSRepositoryURLFullKey.String(val) } -// The attributes used to describe the packaged software running the -// application code. +// VCSRevisionDeltaDirection returns an attribute KeyValue conforming to the +// "vcs.revision_delta.direction" semantic conventions. It represents the type +// of revision comparison +func VCSRevisionDeltaDirection(val string) attribute.KeyValue { + return VCSRevisionDeltaDirectionKey.String(val) +} + +// Enum values for vcs.change.state +var ( + // Open means the change is currently active and under review. It hasn't been + // merged into the target branch yet, and it's still possible to make changes + // or add comments. + // Stability: development + VCSChangeStateOpen = VCSChangeStateKey.String("open") + // WIP (work-in-progress, draft) means the change is still in progress and not + // yet ready for a full review. It might still undergo significant changes. + // Stability: development + VCSChangeStateWip = VCSChangeStateKey.String("wip") + // Closed means the merge request has been closed without merging. This can + // happen for various reasons, such as the changes being deemed unnecessary, + // the issue being resolved in another way, or the author deciding to withdraw + // the request. + // Stability: development + VCSChangeStateClosed = VCSChangeStateKey.String("closed") + // Merged indicates that the change has been successfully integrated into the + // target codebase. + // Stability: development + VCSChangeStateMerged = VCSChangeStateKey.String("merged") +) + +// Enum values for vcs.line_change.type +var ( + // How many lines were added. + // Stability: development + VCSLineChangeTypeAdded = VCSLineChangeTypeKey.String("added") + // How many lines were removed. + // Stability: development + VCSLineChangeTypeRemoved = VCSLineChangeTypeKey.String("removed") +) + +// Enum values for vcs.ref.base.type +var ( + // [branch] + // Stability: development + // + // [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch + VCSRefBaseTypeBranch = VCSRefBaseTypeKey.String("branch") + // [tag] + // Stability: development + // + // [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag + VCSRefBaseTypeTag = VCSRefBaseTypeKey.String("tag") +) + +// Enum values for vcs.ref.head.type +var ( + // [branch] + // Stability: development + // + // [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch + VCSRefHeadTypeBranch = VCSRefHeadTypeKey.String("branch") + // [tag] + // Stability: development + // + // [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag + VCSRefHeadTypeTag = VCSRefHeadTypeKey.String("tag") +) + +// Enum values for vcs.ref.type +var ( + // [branch] + // Stability: development + // + // [branch]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch + VCSRefTypeBranch = VCSRefTypeKey.String("branch") + // [tag] + // Stability: development + // + // [tag]: https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag + VCSRefTypeTag = VCSRefTypeKey.String("tag") +) + +// Enum values for vcs.revision_delta.direction +var ( + // How many revisions the change is behind the target ref. + // Stability: development + VCSRevisionDeltaDirectionBehind = VCSRevisionDeltaDirectionKey.String("behind") + // How many revisions the change is ahead of the target ref. + // Stability: development + VCSRevisionDeltaDirectionAhead = VCSRevisionDeltaDirectionKey.String("ahead") +) + +// Namespace: webengine const ( // WebEngineDescriptionKey is the attribute Key conforming to the - // "webengine.description" semantic conventions. It represents the - // additional description of the web engine (e.g. detailed version and - // edition information). + // "webengine.description" semantic conventions. It represents the additional + // description of the web engine (e.g. detailed version and edition + // information). // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - - // 2.2.2.Final' + // + // Examples: + // "WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final", WebEngineDescriptionKey = attribute.Key("webengine.description") // WebEngineNameKey is the attribute Key conforming to the "webengine.name" // semantic conventions. It represents the name of the web engine. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: 'WildFly' + // + // Examples: + // "WildFly", WebEngineNameKey = attribute.Key("webengine.name") // WebEngineVersionKey is the attribute Key conforming to the - // "webengine.version" semantic conventions. It represents the version of - // the web engine. + // "webengine.version" semantic conventions. It represents the version of the + // web engine. // + // Stability: Development // Type: string - // RequirementLevel: Optional - // Stability: experimental - // Examples: '21.0.0' + // + // Examples: + // "21.0.0", WebEngineVersionKey = attribute.Key("webengine.version") ) // WebEngineDescription returns an attribute KeyValue conforming to the // "webengine.description" semantic conventions. It represents the additional // description of the web engine (e.g. detailed version and edition -// information). +// information) func WebEngineDescription(val string) attribute.KeyValue { return WebEngineDescriptionKey.String(val) } // WebEngineName returns an attribute KeyValue conforming to the // "webengine.name" semantic conventions. It represents the name of the web -// engine. +// engine func WebEngineName(val string) attribute.KeyValue { return WebEngineNameKey.String(val) } // WebEngineVersion returns an attribute KeyValue conforming to the // "webengine.version" semantic conventions. It represents the version of the -// web engine. +// web engine func WebEngineVersion(val string) attribute.KeyValue { return WebEngineVersionKey.String(val) -} +} \ No newline at end of file diff --git a/semconv/v1.27.0/metric.go b/semconv/v1.27.0/metric.go index a9719f75d1d..07b4e4b9daa 100644 --- a/semconv/v1.27.0/metric.go +++ b/semconv/v1.27.0/metric.go @@ -6,1620 +6,2289 @@ package semconv // import "go.opentelemetry.io/otel/semconv/v1.27.0" const ( - - // ContainerCPUTime is the metric conforming to the "container.cpu.time" - // semantic conventions. It represents the total CPU time consumed. - // Instrument: counter - // Unit: s - // Stability: Experimental - ContainerCPUTimeName = "container.cpu.time" - ContainerCPUTimeUnit = "s" - ContainerCPUTimeDescription = "Total CPU time consumed" - - // ContainerMemoryUsage is the metric conforming to the - // "container.memory.usage" semantic conventions. It represents the memory - // usage of the container. - // Instrument: counter - // Unit: By - // Stability: Experimental - ContainerMemoryUsageName = "container.memory.usage" - ContainerMemoryUsageUnit = "By" - ContainerMemoryUsageDescription = "Memory usage of the container." - - // ContainerDiskIo is the metric conforming to the "container.disk.io" semantic - // conventions. It represents the disk bytes for the container. - // Instrument: counter - // Unit: By - // Stability: Experimental - ContainerDiskIoName = "container.disk.io" - ContainerDiskIoUnit = "By" - ContainerDiskIoDescription = "Disk bytes for the container." - - // ContainerNetworkIo is the metric conforming to the "container.network.io" - // semantic conventions. It represents the network bytes for the container. - // Instrument: counter - // Unit: By - // Stability: Experimental - ContainerNetworkIoName = "container.network.io" - ContainerNetworkIoUnit = "By" - ContainerNetworkIoDescription = "Network bytes for the container." - - // DBClientOperationDuration is the metric conforming to the - // "db.client.operation.duration" semantic conventions. It represents the - // duration of database client operations. - // Instrument: histogram - // Unit: s - // Stability: Experimental - DBClientOperationDurationName = "db.client.operation.duration" - DBClientOperationDurationUnit = "s" - DBClientOperationDurationDescription = "Duration of database client operations." - - // DBClientConnectionCount is the metric conforming to the - // "db.client.connection.count" semantic conventions. It represents the number - // of connections that are currently in state described by the `state` - // attribute. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionCountName = "db.client.connection.count" - DBClientConnectionCountUnit = "{connection}" - DBClientConnectionCountDescription = "The number of connections that are currently in state described by the `state` attribute" - - // DBClientConnectionIdleMax is the metric conforming to the - // "db.client.connection.idle.max" semantic conventions. It represents the - // maximum number of idle open connections allowed. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionIdleMaxName = "db.client.connection.idle.max" - DBClientConnectionIdleMaxUnit = "{connection}" - DBClientConnectionIdleMaxDescription = "The maximum number of idle open connections allowed" - - // DBClientConnectionIdleMin is the metric conforming to the - // "db.client.connection.idle.min" semantic conventions. It represents the - // minimum number of idle open connections allowed. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionIdleMinName = "db.client.connection.idle.min" - DBClientConnectionIdleMinUnit = "{connection}" - DBClientConnectionIdleMinDescription = "The minimum number of idle open connections allowed" - - // DBClientConnectionMax is the metric conforming to the - // "db.client.connection.max" semantic conventions. It represents the maximum - // number of open connections allowed. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionMaxName = "db.client.connection.max" - DBClientConnectionMaxUnit = "{connection}" - DBClientConnectionMaxDescription = "The maximum number of open connections allowed" - - // DBClientConnectionPendingRequests is the metric conforming to the - // "db.client.connection.pending_requests" semantic conventions. It represents - // the number of pending requests for an open connection, cumulative for the - // entire pool. - // Instrument: updowncounter - // Unit: {request} - // Stability: Experimental - DBClientConnectionPendingRequestsName = "db.client.connection.pending_requests" - DBClientConnectionPendingRequestsUnit = "{request}" - DBClientConnectionPendingRequestsDescription = "The number of pending requests for an open connection, cumulative for the entire pool" - - // DBClientConnectionTimeouts is the metric conforming to the - // "db.client.connection.timeouts" semantic conventions. It represents the - // number of connection timeouts that have occurred trying to obtain a - // connection from the pool. - // Instrument: counter - // Unit: {timeout} - // Stability: Experimental - DBClientConnectionTimeoutsName = "db.client.connection.timeouts" - DBClientConnectionTimeoutsUnit = "{timeout}" - DBClientConnectionTimeoutsDescription = "The number of connection timeouts that have occurred trying to obtain a connection from the pool" - - // DBClientConnectionCreateTime is the metric conforming to the - // "db.client.connection.create_time" semantic conventions. It represents the - // time it took to create a new connection. - // Instrument: histogram - // Unit: s - // Stability: Experimental - DBClientConnectionCreateTimeName = "db.client.connection.create_time" - DBClientConnectionCreateTimeUnit = "s" - DBClientConnectionCreateTimeDescription = "The time it took to create a new connection" - - // DBClientConnectionWaitTime is the metric conforming to the - // "db.client.connection.wait_time" semantic conventions. It represents the - // time it took to obtain an open connection from the pool. - // Instrument: histogram - // Unit: s - // Stability: Experimental - DBClientConnectionWaitTimeName = "db.client.connection.wait_time" - DBClientConnectionWaitTimeUnit = "s" - DBClientConnectionWaitTimeDescription = "The time it took to obtain an open connection from the pool" - - // DBClientConnectionUseTime is the metric conforming to the - // "db.client.connection.use_time" semantic conventions. It represents the time - // between borrowing a connection and returning it to the pool. - // Instrument: histogram - // Unit: s - // Stability: Experimental - DBClientConnectionUseTimeName = "db.client.connection.use_time" - DBClientConnectionUseTimeUnit = "s" - DBClientConnectionUseTimeDescription = "The time between borrowing a connection and returning it to the pool" - - // DBClientConnectionsUsage is the metric conforming to the - // "db.client.connections.usage" semantic conventions. It represents the - // deprecated, use `db.client.connection.count` instead. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionsUsageName = "db.client.connections.usage" - DBClientConnectionsUsageUnit = "{connection}" - DBClientConnectionsUsageDescription = "Deprecated, use `db.client.connection.count` instead." - - // DBClientConnectionsIdleMax is the metric conforming to the - // "db.client.connections.idle.max" semantic conventions. It represents the - // deprecated, use `db.client.connection.idle.max` instead. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionsIdleMaxName = "db.client.connections.idle.max" - DBClientConnectionsIdleMaxUnit = "{connection}" - DBClientConnectionsIdleMaxDescription = "Deprecated, use `db.client.connection.idle.max` instead." - - // DBClientConnectionsIdleMin is the metric conforming to the - // "db.client.connections.idle.min" semantic conventions. It represents the - // deprecated, use `db.client.connection.idle.min` instead. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionsIdleMinName = "db.client.connections.idle.min" - DBClientConnectionsIdleMinUnit = "{connection}" - DBClientConnectionsIdleMinDescription = "Deprecated, use `db.client.connection.idle.min` instead." - - // DBClientConnectionsMax is the metric conforming to the - // "db.client.connections.max" semantic conventions. It represents the - // deprecated, use `db.client.connection.max` instead. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - DBClientConnectionsMaxName = "db.client.connections.max" - DBClientConnectionsMaxUnit = "{connection}" - DBClientConnectionsMaxDescription = "Deprecated, use `db.client.connection.max` instead." - - // DBClientConnectionsPendingRequests is the metric conforming to the - // "db.client.connections.pending_requests" semantic conventions. It represents - // the deprecated, use `db.client.connection.pending_requests` instead. - // Instrument: updowncounter - // Unit: {request} - // Stability: Experimental - DBClientConnectionsPendingRequestsName = "db.client.connections.pending_requests" - DBClientConnectionsPendingRequestsUnit = "{request}" - DBClientConnectionsPendingRequestsDescription = "Deprecated, use `db.client.connection.pending_requests` instead." - - // DBClientConnectionsTimeouts is the metric conforming to the - // "db.client.connections.timeouts" semantic conventions. It represents the - // deprecated, use `db.client.connection.timeouts` instead. - // Instrument: counter - // Unit: {timeout} - // Stability: Experimental - DBClientConnectionsTimeoutsName = "db.client.connections.timeouts" - DBClientConnectionsTimeoutsUnit = "{timeout}" - DBClientConnectionsTimeoutsDescription = "Deprecated, use `db.client.connection.timeouts` instead." - - // DBClientConnectionsCreateTime is the metric conforming to the - // "db.client.connections.create_time" semantic conventions. It represents the - // deprecated, use `db.client.connection.create_time` instead. Note: the unit - // also changed from `ms` to `s`. - // Instrument: histogram - // Unit: ms - // Stability: Experimental - DBClientConnectionsCreateTimeName = "db.client.connections.create_time" - DBClientConnectionsCreateTimeUnit = "ms" - DBClientConnectionsCreateTimeDescription = "Deprecated, use `db.client.connection.create_time` instead. Note: the unit also changed from `ms` to `s`." - - // DBClientConnectionsWaitTime is the metric conforming to the - // "db.client.connections.wait_time" semantic conventions. It represents the - // deprecated, use `db.client.connection.wait_time` instead. Note: the unit - // also changed from `ms` to `s`. - // Instrument: histogram - // Unit: ms - // Stability: Experimental - DBClientConnectionsWaitTimeName = "db.client.connections.wait_time" - DBClientConnectionsWaitTimeUnit = "ms" - DBClientConnectionsWaitTimeDescription = "Deprecated, use `db.client.connection.wait_time` instead. Note: the unit also changed from `ms` to `s`." - - // DBClientConnectionsUseTime is the metric conforming to the - // "db.client.connections.use_time" semantic conventions. It represents the - // deprecated, use `db.client.connection.use_time` instead. Note: the unit also - // changed from `ms` to `s`. - // Instrument: histogram - // Unit: ms - // Stability: Experimental - DBClientConnectionsUseTimeName = "db.client.connections.use_time" - DBClientConnectionsUseTimeUnit = "ms" - DBClientConnectionsUseTimeDescription = "Deprecated, use `db.client.connection.use_time` instead. Note: the unit also changed from `ms` to `s`." - - // JvmBufferMemoryUsage is the metric conforming to the - // "jvm.buffer.memory.usage" semantic conventions. It represents the - // deprecated, use `jvm.buffer.memory.used` instead. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - JvmBufferMemoryUsageName = "jvm.buffer.memory.usage" - JvmBufferMemoryUsageUnit = "By" - JvmBufferMemoryUsageDescription = "Deprecated, use `jvm.buffer.memory.used` instead." - - // MessagingPublishDuration is the metric conforming to the - // "messaging.publish.duration" semantic conventions. It represents the - // deprecated. Use `messaging.client.operation.duration` instead. - // Instrument: histogram - // Unit: s - // Stability: Experimental - MessagingPublishDurationName = "messaging.publish.duration" - MessagingPublishDurationUnit = "s" - MessagingPublishDurationDescription = "Deprecated. Use `messaging.client.operation.duration` instead." - - // MessagingReceiveDuration is the metric conforming to the - // "messaging.receive.duration" semantic conventions. It represents the - // deprecated. Use `messaging.client.operation.duration` instead. - // Instrument: histogram - // Unit: s - // Stability: Experimental - MessagingReceiveDurationName = "messaging.receive.duration" - MessagingReceiveDurationUnit = "s" - MessagingReceiveDurationDescription = "Deprecated. Use `messaging.client.operation.duration` instead." - - // MessagingProcessMessages is the metric conforming to the - // "messaging.process.messages" semantic conventions. It represents the - // deprecated. Use `messaging.client.consumed.messages` instead. - // Instrument: counter - // Unit: {message} - // Stability: Experimental - MessagingProcessMessagesName = "messaging.process.messages" - MessagingProcessMessagesUnit = "{message}" - MessagingProcessMessagesDescription = "Deprecated. Use `messaging.client.consumed.messages` instead." - - // MessagingPublishMessages is the metric conforming to the - // "messaging.publish.messages" semantic conventions. It represents the - // deprecated. Use `messaging.client.produced.messages` instead. - // Instrument: counter - // Unit: {message} - // Stability: Experimental - MessagingPublishMessagesName = "messaging.publish.messages" - MessagingPublishMessagesUnit = "{message}" - MessagingPublishMessagesDescription = "Deprecated. Use `messaging.client.produced.messages` instead." - - // MessagingReceiveMessages is the metric conforming to the - // "messaging.receive.messages" semantic conventions. It represents the - // deprecated. Use `messaging.client.consumed.messages` instead. - // Instrument: counter - // Unit: {message} - // Stability: Experimental - MessagingReceiveMessagesName = "messaging.receive.messages" - MessagingReceiveMessagesUnit = "{message}" - MessagingReceiveMessagesDescription = "Deprecated. Use `messaging.client.consumed.messages` instead." - - // DNSLookupDuration is the metric conforming to the "dns.lookup.duration" - // semantic conventions. It represents the measures the time taken to perform a - // DNS lookup. - // Instrument: histogram - // Unit: s - // Stability: Experimental - DNSLookupDurationName = "dns.lookup.duration" - DNSLookupDurationUnit = "s" - DNSLookupDurationDescription = "Measures the time taken to perform a DNS lookup." - - // AspnetcoreRoutingMatchAttempts is the metric conforming to the - // "aspnetcore.routing.match_attempts" semantic conventions. It represents the - // number of requests that were attempted to be matched to an endpoint. - // Instrument: counter - // Unit: {match_attempt} - // Stability: Stable - AspnetcoreRoutingMatchAttemptsName = "aspnetcore.routing.match_attempts" - AspnetcoreRoutingMatchAttemptsUnit = "{match_attempt}" - AspnetcoreRoutingMatchAttemptsDescription = "Number of requests that were attempted to be matched to an endpoint." - - // AspnetcoreDiagnosticsExceptions is the metric conforming to the - // "aspnetcore.diagnostics.exceptions" semantic conventions. It represents the - // number of exceptions caught by exception handling middleware. - // Instrument: counter - // Unit: {exception} - // Stability: Stable - AspnetcoreDiagnosticsExceptionsName = "aspnetcore.diagnostics.exceptions" - AspnetcoreDiagnosticsExceptionsUnit = "{exception}" - AspnetcoreDiagnosticsExceptionsDescription = "Number of exceptions caught by exception handling middleware." - - // AspnetcoreRateLimitingActiveRequestLeases is the metric conforming to the - // "aspnetcore.rate_limiting.active_request_leases" semantic conventions. It - // represents the number of requests that are currently active on the server - // that hold a rate limiting lease. - // Instrument: updowncounter - // Unit: {request} - // Stability: Stable - AspnetcoreRateLimitingActiveRequestLeasesName = "aspnetcore.rate_limiting.active_request_leases" - AspnetcoreRateLimitingActiveRequestLeasesUnit = "{request}" - AspnetcoreRateLimitingActiveRequestLeasesDescription = "Number of requests that are currently active on the server that hold a rate limiting lease." - - // AspnetcoreRateLimitingRequestLeaseDuration is the metric conforming to the - // "aspnetcore.rate_limiting.request_lease.duration" semantic conventions. It - // represents the duration of rate limiting lease held by requests on the - // server. - // Instrument: histogram - // Unit: s - // Stability: Stable - AspnetcoreRateLimitingRequestLeaseDurationName = "aspnetcore.rate_limiting.request_lease.duration" - AspnetcoreRateLimitingRequestLeaseDurationUnit = "s" - AspnetcoreRateLimitingRequestLeaseDurationDescription = "The duration of rate limiting lease held by requests on the server." - - // AspnetcoreRateLimitingRequestTimeInQueue is the metric conforming to the - // "aspnetcore.rate_limiting.request.time_in_queue" semantic conventions. It - // represents the time the request spent in a queue waiting to acquire a rate - // limiting lease. - // Instrument: histogram - // Unit: s - // Stability: Stable - AspnetcoreRateLimitingRequestTimeInQueueName = "aspnetcore.rate_limiting.request.time_in_queue" - AspnetcoreRateLimitingRequestTimeInQueueUnit = "s" - AspnetcoreRateLimitingRequestTimeInQueueDescription = "The time the request spent in a queue waiting to acquire a rate limiting lease." - - // AspnetcoreRateLimitingQueuedRequests is the metric conforming to the - // "aspnetcore.rate_limiting.queued_requests" semantic conventions. It - // represents the number of requests that are currently queued, waiting to - // acquire a rate limiting lease. - // Instrument: updowncounter - // Unit: {request} - // Stability: Stable - AspnetcoreRateLimitingQueuedRequestsName = "aspnetcore.rate_limiting.queued_requests" - AspnetcoreRateLimitingQueuedRequestsUnit = "{request}" - AspnetcoreRateLimitingQueuedRequestsDescription = "Number of requests that are currently queued, waiting to acquire a rate limiting lease." - - // AspnetcoreRateLimitingRequests is the metric conforming to the - // "aspnetcore.rate_limiting.requests" semantic conventions. It represents the - // number of requests that tried to acquire a rate limiting lease. - // Instrument: counter - // Unit: {request} - // Stability: Stable - AspnetcoreRateLimitingRequestsName = "aspnetcore.rate_limiting.requests" - AspnetcoreRateLimitingRequestsUnit = "{request}" - AspnetcoreRateLimitingRequestsDescription = "Number of requests that tried to acquire a rate limiting lease." - - // KestrelActiveConnections is the metric conforming to the - // "kestrel.active_connections" semantic conventions. It represents the number - // of connections that are currently active on the server. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Stable - KestrelActiveConnectionsName = "kestrel.active_connections" - KestrelActiveConnectionsUnit = "{connection}" - KestrelActiveConnectionsDescription = "Number of connections that are currently active on the server." - - // KestrelConnectionDuration is the metric conforming to the - // "kestrel.connection.duration" semantic conventions. It represents the - // duration of connections on the server. - // Instrument: histogram - // Unit: s - // Stability: Stable - KestrelConnectionDurationName = "kestrel.connection.duration" - KestrelConnectionDurationUnit = "s" - KestrelConnectionDurationDescription = "The duration of connections on the server." - - // KestrelRejectedConnections is the metric conforming to the - // "kestrel.rejected_connections" semantic conventions. It represents the - // number of connections rejected by the server. - // Instrument: counter - // Unit: {connection} - // Stability: Stable - KestrelRejectedConnectionsName = "kestrel.rejected_connections" - KestrelRejectedConnectionsUnit = "{connection}" - KestrelRejectedConnectionsDescription = "Number of connections rejected by the server." - - // KestrelQueuedConnections is the metric conforming to the - // "kestrel.queued_connections" semantic conventions. It represents the number - // of connections that are currently queued and are waiting to start. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Stable - KestrelQueuedConnectionsName = "kestrel.queued_connections" - KestrelQueuedConnectionsUnit = "{connection}" - KestrelQueuedConnectionsDescription = "Number of connections that are currently queued and are waiting to start." - - // KestrelQueuedRequests is the metric conforming to the - // "kestrel.queued_requests" semantic conventions. It represents the number of - // HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are - // currently queued and are waiting to start. - // Instrument: updowncounter - // Unit: {request} - // Stability: Stable - KestrelQueuedRequestsName = "kestrel.queued_requests" - KestrelQueuedRequestsUnit = "{request}" - KestrelQueuedRequestsDescription = "Number of HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are currently queued and are waiting to start." - - // KestrelUpgradedConnections is the metric conforming to the - // "kestrel.upgraded_connections" semantic conventions. It represents the - // number of connections that are currently upgraded (WebSockets). . - // Instrument: updowncounter - // Unit: {connection} - // Stability: Stable - KestrelUpgradedConnectionsName = "kestrel.upgraded_connections" - KestrelUpgradedConnectionsUnit = "{connection}" - KestrelUpgradedConnectionsDescription = "Number of connections that are currently upgraded (WebSockets). ." - - // KestrelTLSHandshakeDuration is the metric conforming to the - // "kestrel.tls_handshake.duration" semantic conventions. It represents the - // duration of TLS handshakes on the server. - // Instrument: histogram - // Unit: s - // Stability: Stable - KestrelTLSHandshakeDurationName = "kestrel.tls_handshake.duration" - KestrelTLSHandshakeDurationUnit = "s" - KestrelTLSHandshakeDurationDescription = "The duration of TLS handshakes on the server." - - // KestrelActiveTLSHandshakes is the metric conforming to the - // "kestrel.active_tls_handshakes" semantic conventions. It represents the - // number of TLS handshakes that are currently in progress on the server. - // Instrument: updowncounter - // Unit: {handshake} - // Stability: Stable - KestrelActiveTLSHandshakesName = "kestrel.active_tls_handshakes" - KestrelActiveTLSHandshakesUnit = "{handshake}" - KestrelActiveTLSHandshakesDescription = "Number of TLS handshakes that are currently in progress on the server." - - // SignalrServerConnectionDuration is the metric conforming to the - // "signalr.server.connection.duration" semantic conventions. It represents the - // duration of connections on the server. - // Instrument: histogram - // Unit: s - // Stability: Stable - SignalrServerConnectionDurationName = "signalr.server.connection.duration" - SignalrServerConnectionDurationUnit = "s" - SignalrServerConnectionDurationDescription = "The duration of connections on the server." - - // SignalrServerActiveConnections is the metric conforming to the - // "signalr.server.active_connections" semantic conventions. It represents the - // number of connections that are currently active on the server. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Stable - SignalrServerActiveConnectionsName = "signalr.server.active_connections" - SignalrServerActiveConnectionsUnit = "{connection}" - SignalrServerActiveConnectionsDescription = "Number of connections that are currently active on the server." - - // FaaSInvokeDuration is the metric conforming to the "faas.invoke_duration" - // semantic conventions. It represents the measures the duration of the - // function's logic execution. - // Instrument: histogram - // Unit: s - // Stability: Experimental - FaaSInvokeDurationName = "faas.invoke_duration" - FaaSInvokeDurationUnit = "s" - FaaSInvokeDurationDescription = "Measures the duration of the function's logic execution" - - // FaaSInitDuration is the metric conforming to the "faas.init_duration" - // semantic conventions. It represents the measures the duration of the - // function's initialization, such as a cold start. - // Instrument: histogram - // Unit: s - // Stability: Experimental - FaaSInitDurationName = "faas.init_duration" - FaaSInitDurationUnit = "s" - FaaSInitDurationDescription = "Measures the duration of the function's initialization, such as a cold start" - - // FaaSColdstarts is the metric conforming to the "faas.coldstarts" semantic - // conventions. It represents the number of invocation cold starts. - // Instrument: counter - // Unit: {coldstart} - // Stability: Experimental - FaaSColdstartsName = "faas.coldstarts" - FaaSColdstartsUnit = "{coldstart}" - FaaSColdstartsDescription = "Number of invocation cold starts" - - // FaaSErrors is the metric conforming to the "faas.errors" semantic - // conventions. It represents the number of invocation errors. - // Instrument: counter - // Unit: {error} - // Stability: Experimental - FaaSErrorsName = "faas.errors" - FaaSErrorsUnit = "{error}" - FaaSErrorsDescription = "Number of invocation errors" - - // FaaSInvocations is the metric conforming to the "faas.invocations" semantic - // conventions. It represents the number of successful invocations. - // Instrument: counter - // Unit: {invocation} - // Stability: Experimental - FaaSInvocationsName = "faas.invocations" - FaaSInvocationsUnit = "{invocation}" - FaaSInvocationsDescription = "Number of successful invocations" - - // FaaSTimeouts is the metric conforming to the "faas.timeouts" semantic - // conventions. It represents the number of invocation timeouts. - // Instrument: counter - // Unit: {timeout} - // Stability: Experimental - FaaSTimeoutsName = "faas.timeouts" - FaaSTimeoutsUnit = "{timeout}" - FaaSTimeoutsDescription = "Number of invocation timeouts" - - // FaaSMemUsage is the metric conforming to the "faas.mem_usage" semantic - // conventions. It represents the distribution of max memory usage per - // invocation. - // Instrument: histogram - // Unit: By - // Stability: Experimental - FaaSMemUsageName = "faas.mem_usage" - FaaSMemUsageUnit = "By" - FaaSMemUsageDescription = "Distribution of max memory usage per invocation" - - // FaaSCPUUsage is the metric conforming to the "faas.cpu_usage" semantic - // conventions. It represents the distribution of CPU usage per invocation. - // Instrument: histogram - // Unit: s - // Stability: Experimental - FaaSCPUUsageName = "faas.cpu_usage" - FaaSCPUUsageUnit = "s" - FaaSCPUUsageDescription = "Distribution of CPU usage per invocation" - - // FaaSNetIo is the metric conforming to the "faas.net_io" semantic - // conventions. It represents the distribution of net I/O usage per invocation. - // Instrument: histogram - // Unit: By - // Stability: Experimental - FaaSNetIoName = "faas.net_io" - FaaSNetIoUnit = "By" - FaaSNetIoDescription = "Distribution of net I/O usage per invocation" - - // GenAiClientTokenUsage is the metric conforming to the - // "gen_ai.client.token.usage" semantic conventions. It represents the measures - // number of input and output tokens used. - // Instrument: histogram - // Unit: {token} - // Stability: Experimental - GenAiClientTokenUsageName = "gen_ai.client.token.usage" - GenAiClientTokenUsageUnit = "{token}" - GenAiClientTokenUsageDescription = "Measures number of input and output tokens used" - - // GenAiClientOperationDuration is the metric conforming to the - // "gen_ai.client.operation.duration" semantic conventions. It represents the - // genAI operation duration. - // Instrument: histogram - // Unit: s - // Stability: Experimental - GenAiClientOperationDurationName = "gen_ai.client.operation.duration" - GenAiClientOperationDurationUnit = "s" - GenAiClientOperationDurationDescription = "GenAI operation duration" - - // GenAiServerRequestDuration is the metric conforming to the - // "gen_ai.server.request.duration" semantic conventions. It represents the - // generative AI server request duration such as time-to-last byte or last - // output token. - // Instrument: histogram - // Unit: s - // Stability: Experimental - GenAiServerRequestDurationName = "gen_ai.server.request.duration" - GenAiServerRequestDurationUnit = "s" - GenAiServerRequestDurationDescription = "Generative AI server request duration such as time-to-last byte or last output token" - - // GenAiServerTimePerOutputToken is the metric conforming to the - // "gen_ai.server.time_per_output_token" semantic conventions. It represents - // the time per output token generated after the first token for successful - // responses. - // Instrument: histogram - // Unit: s - // Stability: Experimental - GenAiServerTimePerOutputTokenName = "gen_ai.server.time_per_output_token" - GenAiServerTimePerOutputTokenUnit = "s" - GenAiServerTimePerOutputTokenDescription = "Time per output token generated after the first token for successful responses" - - // GenAiServerTimeToFirstToken is the metric conforming to the - // "gen_ai.server.time_to_first_token" semantic conventions. It represents the - // time to generate first token for successful responses. - // Instrument: histogram - // Unit: s - // Stability: Experimental - GenAiServerTimeToFirstTokenName = "gen_ai.server.time_to_first_token" - GenAiServerTimeToFirstTokenUnit = "s" - GenAiServerTimeToFirstTokenDescription = "Time to generate first token for successful responses" - - // GoMemoryUsed is the metric conforming to the "go.memory.used" semantic - // conventions. It represents the memory used by the Go runtime. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - GoMemoryUsedName = "go.memory.used" - GoMemoryUsedUnit = "By" - GoMemoryUsedDescription = "Memory used by the Go runtime." - - // GoMemoryLimit is the metric conforming to the "go.memory.limit" semantic - // conventions. It represents the go runtime memory limit configured by the - // user, if a limit exists. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - GoMemoryLimitName = "go.memory.limit" - GoMemoryLimitUnit = "By" - GoMemoryLimitDescription = "Go runtime memory limit configured by the user, if a limit exists." - - // GoMemoryAllocated is the metric conforming to the "go.memory.allocated" - // semantic conventions. It represents the memory allocated to the heap by the - // application. - // Instrument: counter - // Unit: By - // Stability: Experimental - GoMemoryAllocatedName = "go.memory.allocated" - GoMemoryAllocatedUnit = "By" - GoMemoryAllocatedDescription = "Memory allocated to the heap by the application." - - // GoMemoryAllocations is the metric conforming to the "go.memory.allocations" - // semantic conventions. It represents the count of allocations to the heap by - // the application. - // Instrument: counter - // Unit: {allocation} - // Stability: Experimental - GoMemoryAllocationsName = "go.memory.allocations" - GoMemoryAllocationsUnit = "{allocation}" - GoMemoryAllocationsDescription = "Count of allocations to the heap by the application." - - // GoMemoryGcGoal is the metric conforming to the "go.memory.gc.goal" semantic - // conventions. It represents the heap size target for the end of the GC cycle. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - GoMemoryGcGoalName = "go.memory.gc.goal" - GoMemoryGcGoalUnit = "By" - GoMemoryGcGoalDescription = "Heap size target for the end of the GC cycle." - - // GoGoroutineCount is the metric conforming to the "go.goroutine.count" - // semantic conventions. It represents the count of live goroutines. - // Instrument: updowncounter - // Unit: {goroutine} - // Stability: Experimental - GoGoroutineCountName = "go.goroutine.count" - GoGoroutineCountUnit = "{goroutine}" - GoGoroutineCountDescription = "Count of live goroutines." - - // GoProcessorLimit is the metric conforming to the "go.processor.limit" - // semantic conventions. It represents the number of OS threads that can - // execute user-level Go code simultaneously. - // Instrument: updowncounter - // Unit: {thread} - // Stability: Experimental - GoProcessorLimitName = "go.processor.limit" - GoProcessorLimitUnit = "{thread}" - GoProcessorLimitDescription = "The number of OS threads that can execute user-level Go code simultaneously." - - // GoScheduleDuration is the metric conforming to the "go.schedule.duration" - // semantic conventions. It represents the time goroutines have spent in the - // scheduler in a runnable state before actually running. - // Instrument: histogram - // Unit: s - // Stability: Experimental - GoScheduleDurationName = "go.schedule.duration" - GoScheduleDurationUnit = "s" - GoScheduleDurationDescription = "The time goroutines have spent in the scheduler in a runnable state before actually running." - - // GoConfigGogc is the metric conforming to the "go.config.gogc" semantic - // conventions. It represents the heap size target percentage configured by the - // user, otherwise 100. - // Instrument: updowncounter - // Unit: % - // Stability: Experimental - GoConfigGogcName = "go.config.gogc" - GoConfigGogcUnit = "%" - GoConfigGogcDescription = "Heap size target percentage configured by the user, otherwise 100." - - // HTTPServerRequestDuration is the metric conforming to the - // "http.server.request.duration" semantic conventions. It represents the - // duration of HTTP server requests. - // Instrument: histogram - // Unit: s - // Stability: Stable - HTTPServerRequestDurationName = "http.server.request.duration" - HTTPServerRequestDurationUnit = "s" - HTTPServerRequestDurationDescription = "Duration of HTTP server requests." - - // HTTPServerActiveRequests is the metric conforming to the - // "http.server.active_requests" semantic conventions. It represents the number - // of active HTTP server requests. - // Instrument: updowncounter - // Unit: {request} - // Stability: Experimental - HTTPServerActiveRequestsName = "http.server.active_requests" - HTTPServerActiveRequestsUnit = "{request}" - HTTPServerActiveRequestsDescription = "Number of active HTTP server requests." - - // HTTPServerRequestBodySize is the metric conforming to the - // "http.server.request.body.size" semantic conventions. It represents the size - // of HTTP server request bodies. - // Instrument: histogram - // Unit: By - // Stability: Experimental - HTTPServerRequestBodySizeName = "http.server.request.body.size" - HTTPServerRequestBodySizeUnit = "By" - HTTPServerRequestBodySizeDescription = "Size of HTTP server request bodies." - - // HTTPServerResponseBodySize is the metric conforming to the - // "http.server.response.body.size" semantic conventions. It represents the - // size of HTTP server response bodies. - // Instrument: histogram - // Unit: By - // Stability: Experimental - HTTPServerResponseBodySizeName = "http.server.response.body.size" - HTTPServerResponseBodySizeUnit = "By" - HTTPServerResponseBodySizeDescription = "Size of HTTP server response bodies." - - // HTTPClientRequestDuration is the metric conforming to the - // "http.client.request.duration" semantic conventions. It represents the - // duration of HTTP client requests. - // Instrument: histogram - // Unit: s - // Stability: Stable - HTTPClientRequestDurationName = "http.client.request.duration" - HTTPClientRequestDurationUnit = "s" - HTTPClientRequestDurationDescription = "Duration of HTTP client requests." - - // HTTPClientRequestBodySize is the metric conforming to the - // "http.client.request.body.size" semantic conventions. It represents the size - // of HTTP client request bodies. - // Instrument: histogram - // Unit: By - // Stability: Experimental - HTTPClientRequestBodySizeName = "http.client.request.body.size" - HTTPClientRequestBodySizeUnit = "By" - HTTPClientRequestBodySizeDescription = "Size of HTTP client request bodies." - - // HTTPClientResponseBodySize is the metric conforming to the - // "http.client.response.body.size" semantic conventions. It represents the - // size of HTTP client response bodies. - // Instrument: histogram - // Unit: By - // Stability: Experimental - HTTPClientResponseBodySizeName = "http.client.response.body.size" - HTTPClientResponseBodySizeUnit = "By" - HTTPClientResponseBodySizeDescription = "Size of HTTP client response bodies." - - // HTTPClientOpenConnections is the metric conforming to the - // "http.client.open_connections" semantic conventions. It represents the - // number of outbound HTTP connections that are currently active or idle on the - // client. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - HTTPClientOpenConnectionsName = "http.client.open_connections" - HTTPClientOpenConnectionsUnit = "{connection}" - HTTPClientOpenConnectionsDescription = "Number of outbound HTTP connections that are currently active or idle on the client." - - // HTTPClientConnectionDuration is the metric conforming to the - // "http.client.connection.duration" semantic conventions. It represents the - // duration of the successfully established outbound HTTP connections. - // Instrument: histogram - // Unit: s - // Stability: Experimental - HTTPClientConnectionDurationName = "http.client.connection.duration" - HTTPClientConnectionDurationUnit = "s" - HTTPClientConnectionDurationDescription = "The duration of the successfully established outbound HTTP connections." - - // HTTPClientActiveRequests is the metric conforming to the - // "http.client.active_requests" semantic conventions. It represents the number - // of active HTTP requests. - // Instrument: updowncounter - // Unit: {request} - // Stability: Experimental - HTTPClientActiveRequestsName = "http.client.active_requests" - HTTPClientActiveRequestsUnit = "{request}" - HTTPClientActiveRequestsDescription = "Number of active HTTP requests." - - // JvmMemoryInit is the metric conforming to the "jvm.memory.init" semantic - // conventions. It represents the measure of initial memory requested. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - JvmMemoryInitName = "jvm.memory.init" - JvmMemoryInitUnit = "By" - JvmMemoryInitDescription = "Measure of initial memory requested." - - // JvmSystemCPUUtilization is the metric conforming to the - // "jvm.system.cpu.utilization" semantic conventions. It represents the recent - // CPU utilization for the whole system as reported by the JVM. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - JvmSystemCPUUtilizationName = "jvm.system.cpu.utilization" - JvmSystemCPUUtilizationUnit = "1" - JvmSystemCPUUtilizationDescription = "Recent CPU utilization for the whole system as reported by the JVM." - - // JvmSystemCPULoad1m is the metric conforming to the "jvm.system.cpu.load_1m" - // semantic conventions. It represents the average CPU load of the whole system - // for the last minute as reported by the JVM. - // Instrument: gauge - // Unit: {run_queue_item} - // Stability: Experimental - JvmSystemCPULoad1mName = "jvm.system.cpu.load_1m" - JvmSystemCPULoad1mUnit = "{run_queue_item}" - JvmSystemCPULoad1mDescription = "Average CPU load of the whole system for the last minute as reported by the JVM." - - // JvmBufferMemoryUsed is the metric conforming to the "jvm.buffer.memory.used" - // semantic conventions. It represents the measure of memory used by buffers. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - JvmBufferMemoryUsedName = "jvm.buffer.memory.used" - JvmBufferMemoryUsedUnit = "By" - JvmBufferMemoryUsedDescription = "Measure of memory used by buffers." - - // JvmBufferMemoryLimit is the metric conforming to the - // "jvm.buffer.memory.limit" semantic conventions. It represents the measure of - // total memory capacity of buffers. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - JvmBufferMemoryLimitName = "jvm.buffer.memory.limit" - JvmBufferMemoryLimitUnit = "By" - JvmBufferMemoryLimitDescription = "Measure of total memory capacity of buffers." - - // JvmBufferCount is the metric conforming to the "jvm.buffer.count" semantic - // conventions. It represents the number of buffers in the pool. - // Instrument: updowncounter - // Unit: {buffer} - // Stability: Experimental - JvmBufferCountName = "jvm.buffer.count" - JvmBufferCountUnit = "{buffer}" - JvmBufferCountDescription = "Number of buffers in the pool." - - // JvmMemoryUsed is the metric conforming to the "jvm.memory.used" semantic - // conventions. It represents the measure of memory used. - // Instrument: updowncounter - // Unit: By - // Stability: Stable - JvmMemoryUsedName = "jvm.memory.used" - JvmMemoryUsedUnit = "By" - JvmMemoryUsedDescription = "Measure of memory used." - - // JvmMemoryCommitted is the metric conforming to the "jvm.memory.committed" - // semantic conventions. It represents the measure of memory committed. - // Instrument: updowncounter - // Unit: By - // Stability: Stable - JvmMemoryCommittedName = "jvm.memory.committed" - JvmMemoryCommittedUnit = "By" - JvmMemoryCommittedDescription = "Measure of memory committed." - - // JvmMemoryLimit is the metric conforming to the "jvm.memory.limit" semantic - // conventions. It represents the measure of max obtainable memory. - // Instrument: updowncounter - // Unit: By - // Stability: Stable - JvmMemoryLimitName = "jvm.memory.limit" - JvmMemoryLimitUnit = "By" - JvmMemoryLimitDescription = "Measure of max obtainable memory." - - // JvmMemoryUsedAfterLastGc is the metric conforming to the - // "jvm.memory.used_after_last_gc" semantic conventions. It represents the - // measure of memory used, as measured after the most recent garbage collection - // event on this pool. - // Instrument: updowncounter - // Unit: By - // Stability: Stable - JvmMemoryUsedAfterLastGcName = "jvm.memory.used_after_last_gc" - JvmMemoryUsedAfterLastGcUnit = "By" - JvmMemoryUsedAfterLastGcDescription = "Measure of memory used, as measured after the most recent garbage collection event on this pool." - - // JvmGcDuration is the metric conforming to the "jvm.gc.duration" semantic - // conventions. It represents the duration of JVM garbage collection actions. - // Instrument: histogram - // Unit: s - // Stability: Stable - JvmGcDurationName = "jvm.gc.duration" - JvmGcDurationUnit = "s" - JvmGcDurationDescription = "Duration of JVM garbage collection actions." - - // JvmThreadCount is the metric conforming to the "jvm.thread.count" semantic - // conventions. It represents the number of executing platform threads. - // Instrument: updowncounter - // Unit: {thread} - // Stability: Stable - JvmThreadCountName = "jvm.thread.count" - JvmThreadCountUnit = "{thread}" - JvmThreadCountDescription = "Number of executing platform threads." - - // JvmClassLoaded is the metric conforming to the "jvm.class.loaded" semantic - // conventions. It represents the number of classes loaded since JVM start. - // Instrument: counter - // Unit: {class} - // Stability: Stable - JvmClassLoadedName = "jvm.class.loaded" - JvmClassLoadedUnit = "{class}" - JvmClassLoadedDescription = "Number of classes loaded since JVM start." - - // JvmClassUnloaded is the metric conforming to the "jvm.class.unloaded" - // semantic conventions. It represents the number of classes unloaded since JVM - // start. - // Instrument: counter - // Unit: {class} - // Stability: Stable - JvmClassUnloadedName = "jvm.class.unloaded" - JvmClassUnloadedUnit = "{class}" - JvmClassUnloadedDescription = "Number of classes unloaded since JVM start." - - // JvmClassCount is the metric conforming to the "jvm.class.count" semantic - // conventions. It represents the number of classes currently loaded. - // Instrument: updowncounter - // Unit: {class} - // Stability: Stable - JvmClassCountName = "jvm.class.count" - JvmClassCountUnit = "{class}" - JvmClassCountDescription = "Number of classes currently loaded." - - // JvmCPUCount is the metric conforming to the "jvm.cpu.count" semantic - // conventions. It represents the number of processors available to the Java - // virtual machine. - // Instrument: updowncounter - // Unit: {cpu} - // Stability: Stable - JvmCPUCountName = "jvm.cpu.count" - JvmCPUCountUnit = "{cpu}" - JvmCPUCountDescription = "Number of processors available to the Java virtual machine." - - // JvmCPUTime is the metric conforming to the "jvm.cpu.time" semantic - // conventions. It represents the cPU time used by the process as reported by - // the JVM. - // Instrument: counter - // Unit: s - // Stability: Stable - JvmCPUTimeName = "jvm.cpu.time" - JvmCPUTimeUnit = "s" - JvmCPUTimeDescription = "CPU time used by the process as reported by the JVM." - - // JvmCPURecentUtilization is the metric conforming to the - // "jvm.cpu.recent_utilization" semantic conventions. It represents the recent - // CPU utilization for the process as reported by the JVM. - // Instrument: gauge - // Unit: 1 - // Stability: Stable - JvmCPURecentUtilizationName = "jvm.cpu.recent_utilization" - JvmCPURecentUtilizationUnit = "1" - JvmCPURecentUtilizationDescription = "Recent CPU utilization for the process as reported by the JVM." - - // MessagingClientOperationDuration is the metric conforming to the - // "messaging.client.operation.duration" semantic conventions. It represents - // the duration of messaging operation initiated by a producer or consumer - // client. - // Instrument: histogram - // Unit: s - // Stability: Experimental - MessagingClientOperationDurationName = "messaging.client.operation.duration" - MessagingClientOperationDurationUnit = "s" - MessagingClientOperationDurationDescription = "Duration of messaging operation initiated by a producer or consumer client." - - // MessagingProcessDuration is the metric conforming to the - // "messaging.process.duration" semantic conventions. It represents the - // duration of processing operation. - // Instrument: histogram - // Unit: s - // Stability: Experimental - MessagingProcessDurationName = "messaging.process.duration" - MessagingProcessDurationUnit = "s" - MessagingProcessDurationDescription = "Duration of processing operation." - - // MessagingClientPublishedMessages is the metric conforming to the - // "messaging.client.published.messages" semantic conventions. It represents - // the number of messages producer attempted to publish to the broker. - // Instrument: counter - // Unit: {message} - // Stability: Experimental - MessagingClientPublishedMessagesName = "messaging.client.published.messages" - MessagingClientPublishedMessagesUnit = "{message}" - MessagingClientPublishedMessagesDescription = "Number of messages producer attempted to publish to the broker." - - // MessagingClientConsumedMessages is the metric conforming to the - // "messaging.client.consumed.messages" semantic conventions. It represents the - // number of messages that were delivered to the application. - // Instrument: counter - // Unit: {message} - // Stability: Experimental - MessagingClientConsumedMessagesName = "messaging.client.consumed.messages" - MessagingClientConsumedMessagesUnit = "{message}" - MessagingClientConsumedMessagesDescription = "Number of messages that were delivered to the application." - - // NodejsEventloopDelayMin is the metric conforming to the - // "nodejs.eventloop.delay.min" semantic conventions. It represents the event - // loop minimum delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayMinName = "nodejs.eventloop.delay.min" - NodejsEventloopDelayMinUnit = "s" - NodejsEventloopDelayMinDescription = "Event loop minimum delay." - - // NodejsEventloopDelayMax is the metric conforming to the - // "nodejs.eventloop.delay.max" semantic conventions. It represents the event - // loop maximum delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayMaxName = "nodejs.eventloop.delay.max" - NodejsEventloopDelayMaxUnit = "s" - NodejsEventloopDelayMaxDescription = "Event loop maximum delay." - - // NodejsEventloopDelayMean is the metric conforming to the - // "nodejs.eventloop.delay.mean" semantic conventions. It represents the event - // loop mean delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayMeanName = "nodejs.eventloop.delay.mean" - NodejsEventloopDelayMeanUnit = "s" - NodejsEventloopDelayMeanDescription = "Event loop mean delay." - - // NodejsEventloopDelayStddev is the metric conforming to the - // "nodejs.eventloop.delay.stddev" semantic conventions. It represents the - // event loop standard deviation delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayStddevName = "nodejs.eventloop.delay.stddev" - NodejsEventloopDelayStddevUnit = "s" - NodejsEventloopDelayStddevDescription = "Event loop standard deviation delay." - - // NodejsEventloopDelayP50 is the metric conforming to the - // "nodejs.eventloop.delay.p50" semantic conventions. It represents the event - // loop 50 percentile delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayP50Name = "nodejs.eventloop.delay.p50" - NodejsEventloopDelayP50Unit = "s" - NodejsEventloopDelayP50Description = "Event loop 50 percentile delay." - - // NodejsEventloopDelayP90 is the metric conforming to the - // "nodejs.eventloop.delay.p90" semantic conventions. It represents the event - // loop 90 percentile delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayP90Name = "nodejs.eventloop.delay.p90" - NodejsEventloopDelayP90Unit = "s" - NodejsEventloopDelayP90Description = "Event loop 90 percentile delay." - - // NodejsEventloopDelayP99 is the metric conforming to the - // "nodejs.eventloop.delay.p99" semantic conventions. It represents the event - // loop 99 percentile delay. - // Instrument: gauge - // Unit: s - // Stability: Experimental - NodejsEventloopDelayP99Name = "nodejs.eventloop.delay.p99" - NodejsEventloopDelayP99Unit = "s" - NodejsEventloopDelayP99Description = "Event loop 99 percentile delay." - - // NodejsEventloopUtilization is the metric conforming to the - // "nodejs.eventloop.utilization" semantic conventions. It represents the event - // loop utilization. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - NodejsEventloopUtilizationName = "nodejs.eventloop.utilization" - NodejsEventloopUtilizationUnit = "1" - NodejsEventloopUtilizationDescription = "Event loop utilization." - - // ProcessCPUTime is the metric conforming to the "process.cpu.time" semantic - // conventions. It represents the total CPU seconds broken down by different - // states. - // Instrument: counter - // Unit: s - // Stability: Experimental - ProcessCPUTimeName = "process.cpu.time" - ProcessCPUTimeUnit = "s" - ProcessCPUTimeDescription = "Total CPU seconds broken down by different states." - - // ProcessCPUUtilization is the metric conforming to the - // "process.cpu.utilization" semantic conventions. It represents the difference - // in process.cpu.time since the last measurement, divided by the elapsed time - // and number of CPUs available to the process. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - ProcessCPUUtilizationName = "process.cpu.utilization" - ProcessCPUUtilizationUnit = "1" - ProcessCPUUtilizationDescription = "Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process." - - // ProcessMemoryUsage is the metric conforming to the "process.memory.usage" - // semantic conventions. It represents the amount of physical memory in use. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - ProcessMemoryUsageName = "process.memory.usage" - ProcessMemoryUsageUnit = "By" - ProcessMemoryUsageDescription = "The amount of physical memory in use." - - // ProcessMemoryVirtual is the metric conforming to the - // "process.memory.virtual" semantic conventions. It represents the amount of - // committed virtual memory. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - ProcessMemoryVirtualName = "process.memory.virtual" - ProcessMemoryVirtualUnit = "By" - ProcessMemoryVirtualDescription = "The amount of committed virtual memory." - - // ProcessDiskIo is the metric conforming to the "process.disk.io" semantic - // conventions. It represents the disk bytes transferred. - // Instrument: counter - // Unit: By - // Stability: Experimental - ProcessDiskIoName = "process.disk.io" - ProcessDiskIoUnit = "By" - ProcessDiskIoDescription = "Disk bytes transferred." - - // ProcessNetworkIo is the metric conforming to the "process.network.io" - // semantic conventions. It represents the network bytes transferred. - // Instrument: counter - // Unit: By - // Stability: Experimental - ProcessNetworkIoName = "process.network.io" - ProcessNetworkIoUnit = "By" - ProcessNetworkIoDescription = "Network bytes transferred." - - // ProcessThreadCount is the metric conforming to the "process.thread.count" - // semantic conventions. It represents the process threads count. - // Instrument: updowncounter - // Unit: {thread} - // Stability: Experimental - ProcessThreadCountName = "process.thread.count" - ProcessThreadCountUnit = "{thread}" - ProcessThreadCountDescription = "Process threads count." - - // ProcessOpenFileDescriptorCount is the metric conforming to the - // "process.open_file_descriptor.count" semantic conventions. It represents the - // number of file descriptors in use by the process. - // Instrument: updowncounter - // Unit: {count} - // Stability: Experimental - ProcessOpenFileDescriptorCountName = "process.open_file_descriptor.count" - ProcessOpenFileDescriptorCountUnit = "{count}" - ProcessOpenFileDescriptorCountDescription = "Number of file descriptors in use by the process." - - // ProcessContextSwitches is the metric conforming to the - // "process.context_switches" semantic conventions. It represents the number of - // times the process has been context switched. - // Instrument: counter - // Unit: {count} - // Stability: Experimental - ProcessContextSwitchesName = "process.context_switches" - ProcessContextSwitchesUnit = "{count}" - ProcessContextSwitchesDescription = "Number of times the process has been context switched." - - // ProcessPagingFaults is the metric conforming to the "process.paging.faults" - // semantic conventions. It represents the number of page faults the process - // has made. - // Instrument: counter - // Unit: {fault} - // Stability: Experimental - ProcessPagingFaultsName = "process.paging.faults" - ProcessPagingFaultsUnit = "{fault}" - ProcessPagingFaultsDescription = "Number of page faults the process has made." - - // RPCServerDuration is the metric conforming to the "rpc.server.duration" - // semantic conventions. It represents the measures the duration of inbound - // RPC. - // Instrument: histogram - // Unit: ms - // Stability: Experimental - RPCServerDurationName = "rpc.server.duration" - RPCServerDurationUnit = "ms" - RPCServerDurationDescription = "Measures the duration of inbound RPC." - - // RPCServerRequestSize is the metric conforming to the - // "rpc.server.request.size" semantic conventions. It represents the measures - // the size of RPC request messages (uncompressed). - // Instrument: histogram - // Unit: By - // Stability: Experimental - RPCServerRequestSizeName = "rpc.server.request.size" - RPCServerRequestSizeUnit = "By" - RPCServerRequestSizeDescription = "Measures the size of RPC request messages (uncompressed)." - - // RPCServerResponseSize is the metric conforming to the - // "rpc.server.response.size" semantic conventions. It represents the measures - // the size of RPC response messages (uncompressed). - // Instrument: histogram - // Unit: By - // Stability: Experimental - RPCServerResponseSizeName = "rpc.server.response.size" - RPCServerResponseSizeUnit = "By" - RPCServerResponseSizeDescription = "Measures the size of RPC response messages (uncompressed)." - - // RPCServerRequestsPerRPC is the metric conforming to the - // "rpc.server.requests_per_rpc" semantic conventions. It represents the - // measures the number of messages received per RPC. - // Instrument: histogram - // Unit: {count} - // Stability: Experimental - RPCServerRequestsPerRPCName = "rpc.server.requests_per_rpc" - RPCServerRequestsPerRPCUnit = "{count}" - RPCServerRequestsPerRPCDescription = "Measures the number of messages received per RPC." - - // RPCServerResponsesPerRPC is the metric conforming to the - // "rpc.server.responses_per_rpc" semantic conventions. It represents the - // measures the number of messages sent per RPC. - // Instrument: histogram - // Unit: {count} - // Stability: Experimental - RPCServerResponsesPerRPCName = "rpc.server.responses_per_rpc" - RPCServerResponsesPerRPCUnit = "{count}" - RPCServerResponsesPerRPCDescription = "Measures the number of messages sent per RPC." - - // RPCClientDuration is the metric conforming to the "rpc.client.duration" - // semantic conventions. It represents the measures the duration of outbound - // RPC. - // Instrument: histogram - // Unit: ms - // Stability: Experimental - RPCClientDurationName = "rpc.client.duration" - RPCClientDurationUnit = "ms" - RPCClientDurationDescription = "Measures the duration of outbound RPC." - - // RPCClientRequestSize is the metric conforming to the - // "rpc.client.request.size" semantic conventions. It represents the measures - // the size of RPC request messages (uncompressed). - // Instrument: histogram - // Unit: By - // Stability: Experimental - RPCClientRequestSizeName = "rpc.client.request.size" - RPCClientRequestSizeUnit = "By" - RPCClientRequestSizeDescription = "Measures the size of RPC request messages (uncompressed)." - - // RPCClientResponseSize is the metric conforming to the - // "rpc.client.response.size" semantic conventions. It represents the measures - // the size of RPC response messages (uncompressed). - // Instrument: histogram - // Unit: By - // Stability: Experimental - RPCClientResponseSizeName = "rpc.client.response.size" - RPCClientResponseSizeUnit = "By" - RPCClientResponseSizeDescription = "Measures the size of RPC response messages (uncompressed)." - - // RPCClientRequestsPerRPC is the metric conforming to the - // "rpc.client.requests_per_rpc" semantic conventions. It represents the - // measures the number of messages received per RPC. - // Instrument: histogram - // Unit: {count} - // Stability: Experimental - RPCClientRequestsPerRPCName = "rpc.client.requests_per_rpc" - RPCClientRequestsPerRPCUnit = "{count}" - RPCClientRequestsPerRPCDescription = "Measures the number of messages received per RPC." - - // RPCClientResponsesPerRPC is the metric conforming to the - // "rpc.client.responses_per_rpc" semantic conventions. It represents the - // measures the number of messages sent per RPC. - // Instrument: histogram - // Unit: {count} - // Stability: Experimental - RPCClientResponsesPerRPCName = "rpc.client.responses_per_rpc" - RPCClientResponsesPerRPCUnit = "{count}" - RPCClientResponsesPerRPCDescription = "Measures the number of messages sent per RPC." - - // SystemCPUTime is the metric conforming to the "system.cpu.time" semantic - // conventions. It represents the seconds each logical CPU spent on each mode. - // Instrument: counter - // Unit: s - // Stability: Experimental - SystemCPUTimeName = "system.cpu.time" - SystemCPUTimeUnit = "s" - SystemCPUTimeDescription = "Seconds each logical CPU spent on each mode" - - // SystemCPUUtilization is the metric conforming to the - // "system.cpu.utilization" semantic conventions. It represents the difference - // in system.cpu.time since the last measurement, divided by the elapsed time - // and number of logical CPUs. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - SystemCPUUtilizationName = "system.cpu.utilization" - SystemCPUUtilizationUnit = "1" - SystemCPUUtilizationDescription = "Difference in system.cpu.time since the last measurement, divided by the elapsed time and number of logical CPUs" - - // SystemCPUFrequency is the metric conforming to the "system.cpu.frequency" - // semantic conventions. It represents the reports the current frequency of the - // CPU in Hz. - // Instrument: gauge - // Unit: {Hz} - // Stability: Experimental - SystemCPUFrequencyName = "system.cpu.frequency" - SystemCPUFrequencyUnit = "{Hz}" - SystemCPUFrequencyDescription = "Reports the current frequency of the CPU in Hz" - - // SystemCPUPhysicalCount is the metric conforming to the - // "system.cpu.physical.count" semantic conventions. It represents the reports - // the number of actual physical processor cores on the hardware. - // Instrument: updowncounter - // Unit: {cpu} - // Stability: Experimental - SystemCPUPhysicalCountName = "system.cpu.physical.count" - SystemCPUPhysicalCountUnit = "{cpu}" - SystemCPUPhysicalCountDescription = "Reports the number of actual physical processor cores on the hardware" - - // SystemCPULogicalCount is the metric conforming to the - // "system.cpu.logical.count" semantic conventions. It represents the reports - // the number of logical (virtual) processor cores created by the operating - // system to manage multitasking. - // Instrument: updowncounter - // Unit: {cpu} - // Stability: Experimental - SystemCPULogicalCountName = "system.cpu.logical.count" - SystemCPULogicalCountUnit = "{cpu}" - SystemCPULogicalCountDescription = "Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking" - - // SystemMemoryUsage is the metric conforming to the "system.memory.usage" - // semantic conventions. It represents the reports memory in use by state. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - SystemMemoryUsageName = "system.memory.usage" - SystemMemoryUsageUnit = "By" - SystemMemoryUsageDescription = "Reports memory in use by state." - - // SystemMemoryLimit is the metric conforming to the "system.memory.limit" - // semantic conventions. It represents the total memory available in the - // system. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - SystemMemoryLimitName = "system.memory.limit" - SystemMemoryLimitUnit = "By" - SystemMemoryLimitDescription = "Total memory available in the system." - - // SystemMemoryShared is the metric conforming to the "system.memory.shared" - // semantic conventions. It represents the shared memory used (mostly by - // tmpfs). - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - SystemMemorySharedName = "system.memory.shared" - SystemMemorySharedUnit = "By" - SystemMemorySharedDescription = "Shared memory used (mostly by tmpfs)." - - // SystemMemoryUtilization is the metric conforming to the - // "system.memory.utilization" semantic conventions. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemMemoryUtilizationName = "system.memory.utilization" - SystemMemoryUtilizationUnit = "1" - - // SystemPagingUsage is the metric conforming to the "system.paging.usage" - // semantic conventions. It represents the unix swap or windows pagefile usage. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - SystemPagingUsageName = "system.paging.usage" - SystemPagingUsageUnit = "By" - SystemPagingUsageDescription = "Unix swap or windows pagefile usage" - - // SystemPagingUtilization is the metric conforming to the - // "system.paging.utilization" semantic conventions. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemPagingUtilizationName = "system.paging.utilization" - SystemPagingUtilizationUnit = "1" - - // SystemPagingFaults is the metric conforming to the "system.paging.faults" - // semantic conventions. - // Instrument: counter - // Unit: {fault} - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemPagingFaultsName = "system.paging.faults" - SystemPagingFaultsUnit = "{fault}" - - // SystemPagingOperations is the metric conforming to the - // "system.paging.operations" semantic conventions. - // Instrument: counter - // Unit: {operation} - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemPagingOperationsName = "system.paging.operations" - SystemPagingOperationsUnit = "{operation}" - - // SystemDiskIo is the metric conforming to the "system.disk.io" semantic - // conventions. - // Instrument: counter - // Unit: By - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemDiskIoName = "system.disk.io" - SystemDiskIoUnit = "By" - - // SystemDiskOperations is the metric conforming to the - // "system.disk.operations" semantic conventions. - // Instrument: counter - // Unit: {operation} - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemDiskOperationsName = "system.disk.operations" - SystemDiskOperationsUnit = "{operation}" - - // SystemDiskIoTime is the metric conforming to the "system.disk.io_time" - // semantic conventions. It represents the time disk spent activated. - // Instrument: counter - // Unit: s - // Stability: Experimental - SystemDiskIoTimeName = "system.disk.io_time" - SystemDiskIoTimeUnit = "s" - SystemDiskIoTimeDescription = "Time disk spent activated" - - // SystemDiskOperationTime is the metric conforming to the - // "system.disk.operation_time" semantic conventions. It represents the sum of - // the time each operation took to complete. - // Instrument: counter - // Unit: s - // Stability: Experimental - SystemDiskOperationTimeName = "system.disk.operation_time" - SystemDiskOperationTimeUnit = "s" - SystemDiskOperationTimeDescription = "Sum of the time each operation took to complete" - - // SystemDiskMerged is the metric conforming to the "system.disk.merged" - // semantic conventions. - // Instrument: counter - // Unit: {operation} - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemDiskMergedName = "system.disk.merged" - SystemDiskMergedUnit = "{operation}" - - // SystemFilesystemUsage is the metric conforming to the - // "system.filesystem.usage" semantic conventions. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemFilesystemUsageName = "system.filesystem.usage" - SystemFilesystemUsageUnit = "By" - - // SystemFilesystemUtilization is the metric conforming to the - // "system.filesystem.utilization" semantic conventions. - // Instrument: gauge - // Unit: 1 - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemFilesystemUtilizationName = "system.filesystem.utilization" - SystemFilesystemUtilizationUnit = "1" - - // SystemNetworkDropped is the metric conforming to the - // "system.network.dropped" semantic conventions. It represents the count of - // packets that are dropped or discarded even though there was no error. - // Instrument: counter - // Unit: {packet} - // Stability: Experimental - SystemNetworkDroppedName = "system.network.dropped" - SystemNetworkDroppedUnit = "{packet}" - SystemNetworkDroppedDescription = "Count of packets that are dropped or discarded even though there was no error" - - // SystemNetworkPackets is the metric conforming to the - // "system.network.packets" semantic conventions. - // Instrument: counter - // Unit: {packet} - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemNetworkPacketsName = "system.network.packets" - SystemNetworkPacketsUnit = "{packet}" - - // SystemNetworkErrors is the metric conforming to the "system.network.errors" - // semantic conventions. It represents the count of network errors detected. - // Instrument: counter - // Unit: {error} - // Stability: Experimental - SystemNetworkErrorsName = "system.network.errors" - SystemNetworkErrorsUnit = "{error}" - SystemNetworkErrorsDescription = "Count of network errors detected" - - // SystemNetworkIo is the metric conforming to the "system.network.io" semantic - // conventions. - // Instrument: counter - // Unit: By - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemNetworkIoName = "system.network.io" - SystemNetworkIoUnit = "By" - - // SystemNetworkConnections is the metric conforming to the - // "system.network.connections" semantic conventions. - // Instrument: updowncounter - // Unit: {connection} - // Stability: Experimental - // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. - SystemNetworkConnectionsName = "system.network.connections" - SystemNetworkConnectionsUnit = "{connection}" - - // SystemProcessCount is the metric conforming to the "system.process.count" - // semantic conventions. It represents the total number of processes in each - // state. - // Instrument: updowncounter - // Unit: {process} - // Stability: Experimental - SystemProcessCountName = "system.process.count" - SystemProcessCountUnit = "{process}" - SystemProcessCountDescription = "Total number of processes in each state" - - // SystemProcessCreated is the metric conforming to the - // "system.process.created" semantic conventions. It represents the total - // number of processes created over uptime of the host. - // Instrument: counter - // Unit: {process} - // Stability: Experimental - SystemProcessCreatedName = "system.process.created" - SystemProcessCreatedUnit = "{process}" - SystemProcessCreatedDescription = "Total number of processes created over uptime of the host" - - // SystemLinuxMemoryAvailable is the metric conforming to the - // "system.linux.memory.available" semantic conventions. It represents an - // estimate of how much memory is available for starting new applications, - // without causing swapping. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - SystemLinuxMemoryAvailableName = "system.linux.memory.available" - SystemLinuxMemoryAvailableUnit = "By" - SystemLinuxMemoryAvailableDescription = "An estimate of how much memory is available for starting new applications, without causing swapping" - - // SystemLinuxMemorySlabUsage is the metric conforming to the - // "system.linux.memory.slab.usage" semantic conventions. It represents the - // reports the memory used by the Linux kernel for managing caches of - // frequently used objects. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - SystemLinuxMemorySlabUsageName = "system.linux.memory.slab.usage" - SystemLinuxMemorySlabUsageUnit = "By" - SystemLinuxMemorySlabUsageDescription = "Reports the memory used by the Linux kernel for managing caches of frequently used objects." - - // V8jsGcDuration is the metric conforming to the "v8js.gc.duration" semantic - // conventions. It represents the garbage collection duration. - // Instrument: histogram - // Unit: s - // Stability: Experimental - V8jsGcDurationName = "v8js.gc.duration" - V8jsGcDurationUnit = "s" - V8jsGcDurationDescription = "Garbage collection duration." - - // V8jsMemoryHeapLimit is the metric conforming to the "v8js.memory.heap.limit" - // semantic conventions. It represents the total heap memory size - // pre-allocated. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - V8jsMemoryHeapLimitName = "v8js.memory.heap.limit" - V8jsMemoryHeapLimitUnit = "By" - V8jsMemoryHeapLimitDescription = "Total heap memory size pre-allocated." - - // V8jsMemoryHeapUsed is the metric conforming to the "v8js.memory.heap.used" - // semantic conventions. It represents the heap Memory size allocated. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - V8jsMemoryHeapUsedName = "v8js.memory.heap.used" - V8jsMemoryHeapUsedUnit = "By" - V8jsMemoryHeapUsedDescription = "Heap Memory size allocated." - - // V8jsHeapSpaceAvailableSize is the metric conforming to the - // "v8js.heap.space.available_size" semantic conventions. It represents the - // heap space available size. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - V8jsHeapSpaceAvailableSizeName = "v8js.heap.space.available_size" - V8jsHeapSpaceAvailableSizeUnit = "By" - V8jsHeapSpaceAvailableSizeDescription = "Heap space available size." - - // V8jsHeapSpacePhysicalSize is the metric conforming to the - // "v8js.heap.space.physical_size" semantic conventions. It represents the - // committed size of a heap space. - // Instrument: updowncounter - // Unit: By - // Stability: Experimental - V8jsHeapSpacePhysicalSizeName = "v8js.heap.space.physical_size" - V8jsHeapSpacePhysicalSizeUnit = "By" - V8jsHeapSpacePhysicalSizeDescription = "Committed size of a heap space." -) + // ASPNETCoreRoutingMatchAttempts is the metric conforming to the + // "aspnetcore.routing.match_attempts" semantic conventions. It represents + // the number of requests that were attempted to be matched to an endpoint + // Instrument: counter + // Unit: {match_attempt} + // Stability: stable + ASPNETCoreRoutingMatchAttemptsName = "aspnetcore.routing.match_attempts" + ASPNETCoreRoutingMatchAttemptsUnit = "{match_attempt}" + ASPNETCoreRoutingMatchAttemptsDescription = "Number of requests that were attempted to be matched to an endpoint." + // ASPNETCoreDiagnosticsExceptions is the metric conforming to the + // "aspnetcore.diagnostics.exceptions" semantic conventions. It represents + // the number of exceptions caught by exception handling middleware + // Instrument: counter + // Unit: {exception} + // Stability: stable + ASPNETCoreDiagnosticsExceptionsName = "aspnetcore.diagnostics.exceptions" + ASPNETCoreDiagnosticsExceptionsUnit = "{exception}" + ASPNETCoreDiagnosticsExceptionsDescription = "Number of exceptions caught by exception handling middleware." + // ASPNETCoreRateLimitingActiveRequestLeases is the metric conforming to the + // "aspnetcore.rate_limiting.active_request_leases" semantic conventions. It + // represents the number of requests that are currently active on the server + // that hold a rate limiting lease + // Instrument: updowncounter + // Unit: {request} + // Stability: stable + ASPNETCoreRateLimitingActiveRequestLeasesName = "aspnetcore.rate_limiting.active_request_leases" + ASPNETCoreRateLimitingActiveRequestLeasesUnit = "{request}" + ASPNETCoreRateLimitingActiveRequestLeasesDescription = "Number of requests that are currently active on the server that hold a rate limiting lease." + // ASPNETCoreRateLimitingRequestLeaseDuration is the metric conforming to the + // "aspnetcore.rate_limiting.request_lease.duration" semantic conventions. It + // represents the duration of rate limiting lease held by requests on the + // server + // Instrument: histogram + // Unit: s + // Stability: stable + ASPNETCoreRateLimitingRequestLeaseDurationName = "aspnetcore.rate_limiting.request_lease.duration" + ASPNETCoreRateLimitingRequestLeaseDurationUnit = "s" + ASPNETCoreRateLimitingRequestLeaseDurationDescription = "The duration of rate limiting lease held by requests on the server." + // ASPNETCoreRateLimitingRequestTimeInQueue is the metric conforming to the + // "aspnetcore.rate_limiting.request.time_in_queue" semantic conventions. It + // represents the time the request spent in a queue waiting to acquire a rate + // limiting lease + // Instrument: histogram + // Unit: s + // Stability: stable + ASPNETCoreRateLimitingRequestTimeInQueueName = "aspnetcore.rate_limiting.request.time_in_queue" + ASPNETCoreRateLimitingRequestTimeInQueueUnit = "s" + ASPNETCoreRateLimitingRequestTimeInQueueDescription = "The time the request spent in a queue waiting to acquire a rate limiting lease." + // ASPNETCoreRateLimitingQueuedRequests is the metric conforming to the + // "aspnetcore.rate_limiting.queued_requests" semantic conventions. It + // represents the number of requests that are currently queued, waiting to + // acquire a rate limiting lease + // Instrument: updowncounter + // Unit: {request} + // Stability: stable + ASPNETCoreRateLimitingQueuedRequestsName = "aspnetcore.rate_limiting.queued_requests" + ASPNETCoreRateLimitingQueuedRequestsUnit = "{request}" + ASPNETCoreRateLimitingQueuedRequestsDescription = "Number of requests that are currently queued, waiting to acquire a rate limiting lease." + // ASPNETCoreRateLimitingRequests is the metric conforming to the + // "aspnetcore.rate_limiting.requests" semantic conventions. It represents + // the number of requests that tried to acquire a rate limiting lease + // Instrument: counter + // Unit: {request} + // Stability: stable + ASPNETCoreRateLimitingRequestsName = "aspnetcore.rate_limiting.requests" + ASPNETCoreRateLimitingRequestsUnit = "{request}" + ASPNETCoreRateLimitingRequestsDescription = "Number of requests that tried to acquire a rate limiting lease." + // AzureCosmosDBClientOperationRequestCharge is the metric conforming to the + // "azure.cosmosdb.client.operation.request_charge" semantic conventions. It + // represents the [Request units] consumed by the operation + // + // [Request units]: https://learn.microsoft.com/azure/cosmos-db/request-units + // Instrument: histogram + // Unit: {request_unit} + // Stability: development + AzureCosmosDBClientOperationRequestChargeName = "azure.cosmosdb.client.operation.request_charge" + AzureCosmosDBClientOperationRequestChargeUnit = "{request_unit}" + AzureCosmosDBClientOperationRequestChargeDescription = "[Request units](https://learn.microsoft.com/azure/cosmos-db/request-units) consumed by the operation" + // AzureCosmosDBClientActiveInstanceCount is the metric conforming to the + // "azure.cosmosdb.client.active_instance.count" semantic conventions. It + // represents the number of active client instances + // Instrument: updowncounter + // Unit: {instance} + // Stability: development + AzureCosmosDBClientActiveInstanceCountName = "azure.cosmosdb.client.active_instance.count" + AzureCosmosDBClientActiveInstanceCountUnit = "{instance}" + AzureCosmosDBClientActiveInstanceCountDescription = "Number of active client instances" + // CICDPipelineRunDuration is the metric conforming to the + // "cicd.pipeline.run.duration" semantic conventions. It represents the + // duration of a pipeline run grouped by pipeline, state and result + // Instrument: histogram + // Unit: s + // Stability: development + CICDPipelineRunDurationName = "cicd.pipeline.run.duration" + CICDPipelineRunDurationUnit = "s" + CICDPipelineRunDurationDescription = "Duration of a pipeline run grouped by pipeline, state and result." + // CICDPipelineRunActive is the metric conforming to the + // "cicd.pipeline.run.active" semantic conventions. It represents the number + // of pipeline runs currently active in the system by state + // Instrument: updowncounter + // Unit: {run} + // Stability: development + CICDPipelineRunActiveName = "cicd.pipeline.run.active" + CICDPipelineRunActiveUnit = "{run}" + CICDPipelineRunActiveDescription = "The number of pipeline runs currently active in the system by state." + // CICDWorkerCount is the metric conforming to the "cicd.worker.count" + // semantic conventions. It represents the number of workers on the CICD + // system by state + // Instrument: updowncounter + // Unit: {count} + // Stability: development + CICDWorkerCountName = "cicd.worker.count" + CICDWorkerCountUnit = "{count}" + CICDWorkerCountDescription = "The number of workers on the CICD system by state." + // CICDPipelineRunErrors is the metric conforming to the + // "cicd.pipeline.run.errors" semantic conventions. It represents the number + // of errors encountered in pipeline runs (eg. compile, test failures) + // Instrument: counter + // Unit: {error} + // Stability: development + CICDPipelineRunErrorsName = "cicd.pipeline.run.errors" + CICDPipelineRunErrorsUnit = "{error}" + CICDPipelineRunErrorsDescription = "The number of errors encountered in pipeline runs (eg. compile, test failures)." + // CICDSystemErrors is the metric conforming to the "cicd.system.errors" + // semantic conventions. It represents the number of errors in a component of + // the CICD system (eg. controller, scheduler, agent) + // Instrument: counter + // Unit: {error} + // Stability: development + CICDSystemErrorsName = "cicd.system.errors" + CICDSystemErrorsUnit = "{error}" + CICDSystemErrorsDescription = "The number of errors in a component of the CICD system (eg. controller, scheduler, agent)." + // ContainerUptime is the metric conforming to the "container.uptime" + // semantic conventions. It represents the time the container has been + // running + // Instrument: gauge + // Unit: s + // Stability: development + ContainerUptimeName = "container.uptime" + ContainerUptimeUnit = "s" + ContainerUptimeDescription = "The time the container has been running" + // ContainerCPUTime is the metric conforming to the "container.cpu.time" + // semantic conventions. It represents the total CPU time consumed + // Instrument: counter + // Unit: s + // Stability: development + ContainerCPUTimeName = "container.cpu.time" + ContainerCPUTimeUnit = "s" + ContainerCPUTimeDescription = "Total CPU time consumed" + // ContainerCPUUsage is the metric conforming to the "container.cpu.usage" + // semantic conventions. It represents the container's CPU usage, measured in + // cpus. Range from 0 to the number of allocatable CPUs + // Instrument: gauge + // Unit: {cpu} + // Stability: development + ContainerCPUUsageName = "container.cpu.usage" + ContainerCPUUsageUnit = "{cpu}" + ContainerCPUUsageDescription = "Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs" + // ContainerMemoryUsage is the metric conforming to the + // "container.memory.usage" semantic conventions. It represents the memory + // usage of the container + // Instrument: counter + // Unit: By + // Stability: development + ContainerMemoryUsageName = "container.memory.usage" + ContainerMemoryUsageUnit = "By" + ContainerMemoryUsageDescription = "Memory usage of the container." + // ContainerDiskIo is the metric conforming to the "container.disk.io" + // semantic conventions. It represents the disk bytes for the container + // Instrument: counter + // Unit: By + // Stability: development + ContainerDiskIoName = "container.disk.io" + ContainerDiskIoUnit = "By" + ContainerDiskIoDescription = "Disk bytes for the container." + // ContainerNetworkIo is the metric conforming to the "container.network.io" + // semantic conventions. It represents the network bytes for the container + // Instrument: counter + // Unit: By + // Stability: development + ContainerNetworkIoName = "container.network.io" + ContainerNetworkIoUnit = "By" + ContainerNetworkIoDescription = "Network bytes for the container." + // DBClientConnectionsUsage is the metric conforming to the + // "db.client.connections.usage" semantic conventions. It represents the + // deprecated, use `db.client.connection.count` instead + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + // Deprecated: Replaced by `db.client.connection.count`. + DBClientConnectionsUsageName = "db.client.connections.usage" + DBClientConnectionsUsageUnit = "{connection}" + DBClientConnectionsUsageDescription = "Deprecated, use `db.client.connection.count` instead." + // DBClientConnectionsIdleMax is the metric conforming to the + // "db.client.connections.idle.max" semantic conventions. It represents the + // deprecated, use `db.client.connection.idle.max` instead + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + // Deprecated: Replaced by `db.client.connection.idle.max`. + DBClientConnectionsIdleMaxName = "db.client.connections.idle.max" + DBClientConnectionsIdleMaxUnit = "{connection}" + DBClientConnectionsIdleMaxDescription = "Deprecated, use `db.client.connection.idle.max` instead." + // DBClientConnectionsIdleMin is the metric conforming to the + // "db.client.connections.idle.min" semantic conventions. It represents the + // deprecated, use `db.client.connection.idle.min` instead + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + // Deprecated: Replaced by `db.client.connection.idle.min`. + DBClientConnectionsIdleMinName = "db.client.connections.idle.min" + DBClientConnectionsIdleMinUnit = "{connection}" + DBClientConnectionsIdleMinDescription = "Deprecated, use `db.client.connection.idle.min` instead." + // DBClientConnectionsMax is the metric conforming to the + // "db.client.connections.max" semantic conventions. It represents the + // deprecated, use `db.client.connection.max` instead + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + // Deprecated: Replaced by `db.client.connection.max`. + DBClientConnectionsMaxName = "db.client.connections.max" + DBClientConnectionsMaxUnit = "{connection}" + DBClientConnectionsMaxDescription = "Deprecated, use `db.client.connection.max` instead." + // DBClientConnectionsPendingRequests is the metric conforming to the + // "db.client.connections.pending_requests" semantic conventions. It + // represents the deprecated, use `db.client.connection.pending_requests` + // instead + // Instrument: updowncounter + // Unit: {request} + // Stability: development + // Deprecated: Replaced by `db.client.connection.pending_requests`. + DBClientConnectionsPendingRequestsName = "db.client.connections.pending_requests" + DBClientConnectionsPendingRequestsUnit = "{request}" + DBClientConnectionsPendingRequestsDescription = "Deprecated, use `db.client.connection.pending_requests` instead." + // DBClientConnectionsTimeouts is the metric conforming to the + // "db.client.connections.timeouts" semantic conventions. It represents the + // deprecated, use `db.client.connection.timeouts` instead + // Instrument: counter + // Unit: {timeout} + // Stability: development + // Deprecated: Replaced by `db.client.connection.timeouts`. + DBClientConnectionsTimeoutsName = "db.client.connections.timeouts" + DBClientConnectionsTimeoutsUnit = "{timeout}" + DBClientConnectionsTimeoutsDescription = "Deprecated, use `db.client.connection.timeouts` instead." + // DBClientConnectionsCreateTime is the metric conforming to the + // "db.client.connections.create_time" semantic conventions. It represents + // the deprecated, use `db.client.connection.create_time` instead. Note: the + // unit also changed from `ms` to `s` + // Instrument: histogram + // Unit: ms + // Stability: development + // Deprecated: Replaced by `db.client.connection.create_time`. Note: the unit also changed from `ms` to `s`. + DBClientConnectionsCreateTimeName = "db.client.connections.create_time" + DBClientConnectionsCreateTimeUnit = "ms" + DBClientConnectionsCreateTimeDescription = "Deprecated, use `db.client.connection.create_time` instead. Note: the unit also changed from `ms` to `s`." + // DBClientConnectionsWaitTime is the metric conforming to the + // "db.client.connections.wait_time" semantic conventions. It represents the + // deprecated, use `db.client.connection.wait_time` instead. Note: the unit + // also changed from `ms` to `s` + // Instrument: histogram + // Unit: ms + // Stability: development + // Deprecated: Replaced by `db.client.connection.wait_time`. Note: the unit also changed from `ms` to `s`. + DBClientConnectionsWaitTimeName = "db.client.connections.wait_time" + DBClientConnectionsWaitTimeUnit = "ms" + DBClientConnectionsWaitTimeDescription = "Deprecated, use `db.client.connection.wait_time` instead. Note: the unit also changed from `ms` to `s`." + // DBClientConnectionsUseTime is the metric conforming to the + // "db.client.connections.use_time" semantic conventions. It represents the + // deprecated, use `db.client.connection.use_time` instead. Note: the unit + // also changed from `ms` to `s` + // Instrument: histogram + // Unit: ms + // Stability: development + // Deprecated: Replaced by `db.client.connection.use_time`. Note: the unit also changed from `ms` to `s`. + DBClientConnectionsUseTimeName = "db.client.connections.use_time" + DBClientConnectionsUseTimeUnit = "ms" + DBClientConnectionsUseTimeDescription = "Deprecated, use `db.client.connection.use_time` instead. Note: the unit also changed from `ms` to `s`." + // DBClientCosmosDBOperationRequestCharge is the metric conforming to the + // "db.client.cosmosdb.operation.request_charge" semantic conventions. It + // represents the deprecated, use + // `azure.cosmosdb.client.operation.request_charge` instead + // Instrument: histogram + // Unit: {request_unit} + // Stability: development + // Deprecated: Replaced by `azure.cosmosdb.client.operation.request_charge`. + DBClientCosmosDBOperationRequestChargeName = "db.client.cosmosdb.operation.request_charge" + DBClientCosmosDBOperationRequestChargeUnit = "{request_unit}" + DBClientCosmosDBOperationRequestChargeDescription = "Deprecated, use `azure.cosmosdb.client.operation.request_charge` instead." + // DBClientCosmosDBActiveInstanceCount is the metric conforming to the + // "db.client.cosmosdb.active_instance.count" semantic conventions. It + // represents the deprecated, use + // `azure.cosmosdb.client.active_instance.count` instead + // Instrument: updowncounter + // Unit: {instance} + // Stability: development + // Deprecated: Replaced by `azure.cosmosdb.client.active_instance.count`. + DBClientCosmosDBActiveInstanceCountName = "db.client.cosmosdb.active_instance.count" + DBClientCosmosDBActiveInstanceCountUnit = "{instance}" + DBClientCosmosDBActiveInstanceCountDescription = "Deprecated, use `azure.cosmosdb.client.active_instance.count` instead." + // DBClientOperationDuration is the metric conforming to the + // "db.client.operation.duration" semantic conventions. It represents the + // duration of database client operations + // Instrument: histogram + // Unit: s + // Stability: release_candidate + DBClientOperationDurationName = "db.client.operation.duration" + DBClientOperationDurationUnit = "s" + DBClientOperationDurationDescription = "Duration of database client operations." + // DBClientConnectionCount is the metric conforming to the + // "db.client.connection.count" semantic conventions. It represents the + // number of connections that are currently in state described by the `state` + // attribute + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + DBClientConnectionCountName = "db.client.connection.count" + DBClientConnectionCountUnit = "{connection}" + DBClientConnectionCountDescription = "The number of connections that are currently in state described by the `state` attribute" + // DBClientConnectionIdleMax is the metric conforming to the + // "db.client.connection.idle.max" semantic conventions. It represents the + // maximum number of idle open connections allowed + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + DBClientConnectionIdleMaxName = "db.client.connection.idle.max" + DBClientConnectionIdleMaxUnit = "{connection}" + DBClientConnectionIdleMaxDescription = "The maximum number of idle open connections allowed" + // DBClientConnectionIdleMin is the metric conforming to the + // "db.client.connection.idle.min" semantic conventions. It represents the + // minimum number of idle open connections allowed + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + DBClientConnectionIdleMinName = "db.client.connection.idle.min" + DBClientConnectionIdleMinUnit = "{connection}" + DBClientConnectionIdleMinDescription = "The minimum number of idle open connections allowed" + // DBClientConnectionMax is the metric conforming to the + // "db.client.connection.max" semantic conventions. It represents the maximum + // number of open connections allowed + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + DBClientConnectionMaxName = "db.client.connection.max" + DBClientConnectionMaxUnit = "{connection}" + DBClientConnectionMaxDescription = "The maximum number of open connections allowed" + // DBClientConnectionPendingRequests is the metric conforming to the + // "db.client.connection.pending_requests" semantic conventions. It + // represents the number of current pending requests for an open connection + // Instrument: updowncounter + // Unit: {request} + // Stability: development + DBClientConnectionPendingRequestsName = "db.client.connection.pending_requests" + DBClientConnectionPendingRequestsUnit = "{request}" + DBClientConnectionPendingRequestsDescription = "The number of current pending requests for an open connection" + // DBClientConnectionTimeouts is the metric conforming to the + // "db.client.connection.timeouts" semantic conventions. It represents the + // number of connection timeouts that have occurred trying to obtain a + // connection from the pool + // Instrument: counter + // Unit: {timeout} + // Stability: development + DBClientConnectionTimeoutsName = "db.client.connection.timeouts" + DBClientConnectionTimeoutsUnit = "{timeout}" + DBClientConnectionTimeoutsDescription = "The number of connection timeouts that have occurred trying to obtain a connection from the pool" + // DBClientConnectionCreateTime is the metric conforming to the + // "db.client.connection.create_time" semantic conventions. It represents the + // time it took to create a new connection + // Instrument: histogram + // Unit: s + // Stability: development + DBClientConnectionCreateTimeName = "db.client.connection.create_time" + DBClientConnectionCreateTimeUnit = "s" + DBClientConnectionCreateTimeDescription = "The time it took to create a new connection" + // DBClientConnectionWaitTime is the metric conforming to the + // "db.client.connection.wait_time" semantic conventions. It represents the + // time it took to obtain an open connection from the pool + // Instrument: histogram + // Unit: s + // Stability: development + DBClientConnectionWaitTimeName = "db.client.connection.wait_time" + DBClientConnectionWaitTimeUnit = "s" + DBClientConnectionWaitTimeDescription = "The time it took to obtain an open connection from the pool" + // DBClientConnectionUseTime is the metric conforming to the + // "db.client.connection.use_time" semantic conventions. It represents the + // time between borrowing a connection and returning it to the pool + // Instrument: histogram + // Unit: s + // Stability: development + DBClientConnectionUseTimeName = "db.client.connection.use_time" + DBClientConnectionUseTimeUnit = "s" + DBClientConnectionUseTimeDescription = "The time between borrowing a connection and returning it to the pool" + // DBClientResponseReturnedRows is the metric conforming to the + // "db.client.response.returned_rows" semantic conventions. It represents the + // actual number of records returned by the database operation + // Instrument: histogram + // Unit: {row} + // Stability: development + DBClientResponseReturnedRowsName = "db.client.response.returned_rows" + DBClientResponseReturnedRowsUnit = "{row}" + DBClientResponseReturnedRowsDescription = "The actual number of records returned by the database operation." + // DNSLookupDuration is the metric conforming to the "dns.lookup.duration" + // semantic conventions. It represents the measures the time taken to perform + // a DNS lookup + // Instrument: histogram + // Unit: s + // Stability: development + DNSLookupDurationName = "dns.lookup.duration" + DNSLookupDurationUnit = "s" + DNSLookupDurationDescription = "Measures the time taken to perform a DNS lookup." + // DotnetProcessCPUCount is the metric conforming to the + // "dotnet.process.cpu.count" semantic conventions. It represents the number + // of processors available to the process + // Instrument: updowncounter + // Unit: {cpu} + // Stability: stable + DotnetProcessCPUCountName = "dotnet.process.cpu.count" + DotnetProcessCPUCountUnit = "{cpu}" + DotnetProcessCPUCountDescription = "The number of processors available to the process." + // DotnetProcessCPUTime is the metric conforming to the + // "dotnet.process.cpu.time" semantic conventions. It represents the cPU time + // used by the process + // Instrument: counter + // Unit: s + // Stability: stable + DotnetProcessCPUTimeName = "dotnet.process.cpu.time" + DotnetProcessCPUTimeUnit = "s" + DotnetProcessCPUTimeDescription = "CPU time used by the process." + // DotnetProcessMemoryWorkingSet is the metric conforming to the + // "dotnet.process.memory.working_set" semantic conventions. It represents + // the number of bytes of physical memory mapped to the process context + // Instrument: updowncounter + // Unit: By + // Stability: stable + DotnetProcessMemoryWorkingSetName = "dotnet.process.memory.working_set" + DotnetProcessMemoryWorkingSetUnit = "By" + DotnetProcessMemoryWorkingSetDescription = "The number of bytes of physical memory mapped to the process context." + // DotnetGCCollections is the metric conforming to the + // "dotnet.gc.collections" semantic conventions. It represents the number of + // garbage collections that have occurred since the process has started + // Instrument: counter + // Unit: {collection} + // Stability: stable + DotnetGCCollectionsName = "dotnet.gc.collections" + DotnetGCCollectionsUnit = "{collection}" + DotnetGCCollectionsDescription = "The number of garbage collections that have occurred since the process has started." + // DotnetGCHeapTotalAllocated is the metric conforming to the + // "dotnet.gc.heap.total_allocated" semantic conventions. It represents the + // *approximate* number of bytes allocated on the managed GC heap since the + // process has started. The returned value does not include any native + // allocations. + // Instrument: counter + // Unit: By + // Stability: stable + DotnetGCHeapTotalAllocatedName = "dotnet.gc.heap.total_allocated" + DotnetGCHeapTotalAllocatedUnit = "By" + DotnetGCHeapTotalAllocatedDescription = "The *approximate* number of bytes allocated on the managed GC heap since the process has started. The returned value does not include any native allocations." + // DotnetGCLastCollectionMemoryCommittedSize is the metric conforming to the + // "dotnet.gc.last_collection.memory.committed_size" semantic conventions. It + // represents the amount of committed virtual memory in use by the .NET GC, + // as observed during the latest garbage collection. + // Instrument: updowncounter + // Unit: By + // Stability: stable + DotnetGCLastCollectionMemoryCommittedSizeName = "dotnet.gc.last_collection.memory.committed_size" + DotnetGCLastCollectionMemoryCommittedSizeUnit = "By" + DotnetGCLastCollectionMemoryCommittedSizeDescription = "The amount of committed virtual memory in use by the .NET GC, as observed during the latest garbage collection." + // DotnetGCLastCollectionHeapSize is the metric conforming to the + // "dotnet.gc.last_collection.heap.size" semantic conventions. It represents + // the managed GC heap size (including fragmentation), as observed during the + // latest garbage collection. + // Instrument: updowncounter + // Unit: By + // Stability: stable + DotnetGCLastCollectionHeapSizeName = "dotnet.gc.last_collection.heap.size" + DotnetGCLastCollectionHeapSizeUnit = "By" + DotnetGCLastCollectionHeapSizeDescription = "The managed GC heap size (including fragmentation), as observed during the latest garbage collection." + // DotnetGCLastCollectionHeapFragmentationSize is the metric conforming to + // the "dotnet.gc.last_collection.heap.fragmentation.size" semantic + // conventions. It represents the heap fragmentation, as observed during the + // latest garbage collection. + // Instrument: updowncounter + // Unit: By + // Stability: stable + DotnetGCLastCollectionHeapFragmentationSizeName = "dotnet.gc.last_collection.heap.fragmentation.size" + DotnetGCLastCollectionHeapFragmentationSizeUnit = "By" + DotnetGCLastCollectionHeapFragmentationSizeDescription = "The heap fragmentation, as observed during the latest garbage collection." + // DotnetGCPauseTime is the metric conforming to the "dotnet.gc.pause.time" + // semantic conventions. It represents the total amount of time paused in GC + // since the process has started + // Instrument: counter + // Unit: s + // Stability: stable + DotnetGCPauseTimeName = "dotnet.gc.pause.time" + DotnetGCPauseTimeUnit = "s" + DotnetGCPauseTimeDescription = "The total amount of time paused in GC since the process has started." + // DotnetJitCompiledIlSize is the metric conforming to the + // "dotnet.jit.compiled_il.size" semantic conventions. It represents the + // count of bytes of intermediate language that have been compiled since the + // process has started + // Instrument: counter + // Unit: By + // Stability: stable + DotnetJitCompiledIlSizeName = "dotnet.jit.compiled_il.size" + DotnetJitCompiledIlSizeUnit = "By" + DotnetJitCompiledIlSizeDescription = "Count of bytes of intermediate language that have been compiled since the process has started." + // DotnetJitCompiledMethods is the metric conforming to the + // "dotnet.jit.compiled_methods" semantic conventions. It represents the + // number of times the JIT compiler (re)compiled methods since the process + // has started. + // Instrument: counter + // Unit: {method} + // Stability: stable + DotnetJitCompiledMethodsName = "dotnet.jit.compiled_methods" + DotnetJitCompiledMethodsUnit = "{method}" + DotnetJitCompiledMethodsDescription = "The number of times the JIT compiler (re)compiled methods since the process has started." + // DotnetJitCompilationTime is the metric conforming to the + // "dotnet.jit.compilation.time" semantic conventions. It represents the + // amount of time the JIT compiler has spent compiling methods since the + // process has started. + // Instrument: counter + // Unit: s + // Stability: stable + DotnetJitCompilationTimeName = "dotnet.jit.compilation.time" + DotnetJitCompilationTimeUnit = "s" + DotnetJitCompilationTimeDescription = "The amount of time the JIT compiler has spent compiling methods since the process has started." + // DotnetMonitorLockContentions is the metric conforming to the + // "dotnet.monitor.lock_contentions" semantic conventions. It represents the + // number of times there was contention when trying to acquire a monitor lock + // since the process has started. + // Instrument: counter + // Unit: {contention} + // Stability: stable + DotnetMonitorLockContentionsName = "dotnet.monitor.lock_contentions" + DotnetMonitorLockContentionsUnit = "{contention}" + DotnetMonitorLockContentionsDescription = "The number of times there was contention when trying to acquire a monitor lock since the process has started." + // DotnetThreadPoolThreadCount is the metric conforming to the + // "dotnet.thread_pool.thread.count" semantic conventions. It represents the + // number of thread pool threads that currently exist + // Instrument: updowncounter + // Unit: {thread} + // Stability: stable + DotnetThreadPoolThreadCountName = "dotnet.thread_pool.thread.count" + DotnetThreadPoolThreadCountUnit = "{thread}" + DotnetThreadPoolThreadCountDescription = "The number of thread pool threads that currently exist." + // DotnetThreadPoolWorkItemCount is the metric conforming to the + // "dotnet.thread_pool.work_item.count" semantic conventions. It represents + // the number of work items that the thread pool has completed since the + // process has started. + // Instrument: counter + // Unit: {work_item} + // Stability: stable + DotnetThreadPoolWorkItemCountName = "dotnet.thread_pool.work_item.count" + DotnetThreadPoolWorkItemCountUnit = "{work_item}" + DotnetThreadPoolWorkItemCountDescription = "The number of work items that the thread pool has completed since the process has started." + // DotnetThreadPoolQueueLength is the metric conforming to the + // "dotnet.thread_pool.queue.length" semantic conventions. It represents the + // number of work items that are currently queued to be processed by the + // thread pool. + // Instrument: updowncounter + // Unit: {work_item} + // Stability: stable + DotnetThreadPoolQueueLengthName = "dotnet.thread_pool.queue.length" + DotnetThreadPoolQueueLengthUnit = "{work_item}" + DotnetThreadPoolQueueLengthDescription = "The number of work items that are currently queued to be processed by the thread pool." + // DotnetTimerCount is the metric conforming to the "dotnet.timer.count" + // semantic conventions. It represents the number of timer instances that are + // currently active + // Instrument: updowncounter + // Unit: {timer} + // Stability: stable + DotnetTimerCountName = "dotnet.timer.count" + DotnetTimerCountUnit = "{timer}" + DotnetTimerCountDescription = "The number of timer instances that are currently active." + // DotnetAssemblyCount is the metric conforming to the + // "dotnet.assembly.count" semantic conventions. It represents the number of + // .NET assemblies that are currently loaded + // Instrument: updowncounter + // Unit: {assembly} + // Stability: stable + DotnetAssemblyCountName = "dotnet.assembly.count" + DotnetAssemblyCountUnit = "{assembly}" + DotnetAssemblyCountDescription = "The number of .NET assemblies that are currently loaded." + // DotnetExceptions is the metric conforming to the "dotnet.exceptions" + // semantic conventions. It represents the number of exceptions that have + // been thrown in managed code + // Instrument: counter + // Unit: {exception} + // Stability: stable + DotnetExceptionsName = "dotnet.exceptions" + DotnetExceptionsUnit = "{exception}" + DotnetExceptionsDescription = "The number of exceptions that have been thrown in managed code." + // FaaSInvokeDuration is the metric conforming to the "faas.invoke_duration" + // semantic conventions. It represents the measures the duration of the + // function's logic execution + // Instrument: histogram + // Unit: s + // Stability: development + FaaSInvokeDurationName = "faas.invoke_duration" + FaaSInvokeDurationUnit = "s" + FaaSInvokeDurationDescription = "Measures the duration of the function's logic execution" + // FaaSInitDuration is the metric conforming to the "faas.init_duration" + // semantic conventions. It represents the measures the duration of the + // function's initialization, such as a cold start + // Instrument: histogram + // Unit: s + // Stability: development + FaaSInitDurationName = "faas.init_duration" + FaaSInitDurationUnit = "s" + FaaSInitDurationDescription = "Measures the duration of the function's initialization, such as a cold start" + // FaaSColdstarts is the metric conforming to the "faas.coldstarts" semantic + // conventions. It represents the number of invocation cold starts + // Instrument: counter + // Unit: {coldstart} + // Stability: development + FaaSColdstartsName = "faas.coldstarts" + FaaSColdstartsUnit = "{coldstart}" + FaaSColdstartsDescription = "Number of invocation cold starts" + // FaaSErrors is the metric conforming to the "faas.errors" semantic + // conventions. It represents the number of invocation errors + // Instrument: counter + // Unit: {error} + // Stability: development + FaaSErrorsName = "faas.errors" + FaaSErrorsUnit = "{error}" + FaaSErrorsDescription = "Number of invocation errors" + // FaaSInvocations is the metric conforming to the "faas.invocations" + // semantic conventions. It represents the number of successful invocations + // Instrument: counter + // Unit: {invocation} + // Stability: development + FaaSInvocationsName = "faas.invocations" + FaaSInvocationsUnit = "{invocation}" + FaaSInvocationsDescription = "Number of successful invocations" + // FaaSTimeouts is the metric conforming to the "faas.timeouts" semantic + // conventions. It represents the number of invocation timeouts + // Instrument: counter + // Unit: {timeout} + // Stability: development + FaaSTimeoutsName = "faas.timeouts" + FaaSTimeoutsUnit = "{timeout}" + FaaSTimeoutsDescription = "Number of invocation timeouts" + // FaaSMemUsage is the metric conforming to the "faas.mem_usage" semantic + // conventions. It represents the distribution of max memory usage per + // invocation + // Instrument: histogram + // Unit: By + // Stability: development + FaaSMemUsageName = "faas.mem_usage" + FaaSMemUsageUnit = "By" + FaaSMemUsageDescription = "Distribution of max memory usage per invocation" + // FaaSCpuUsage is the metric conforming to the "faas.cpu_usage" semantic + // conventions. It represents the distribution of CPU usage per invocation + // Instrument: histogram + // Unit: s + // Stability: development + FaaSCpuUsageName = "faas.cpu_usage" + FaaSCpuUsageUnit = "s" + FaaSCpuUsageDescription = "Distribution of CPU usage per invocation" + // FaaSNetIo is the metric conforming to the "faas.net_io" semantic + // conventions. It represents the distribution of net I/O usage per + // invocation + // Instrument: histogram + // Unit: By + // Stability: development + FaaSNetIoName = "faas.net_io" + FaaSNetIoUnit = "By" + FaaSNetIoDescription = "Distribution of net I/O usage per invocation" + // GenAiClientTokenUsage is the metric conforming to the + // "gen_ai.client.token.usage" semantic conventions. It represents the + // measures number of input and output tokens used + // Instrument: histogram + // Unit: {token} + // Stability: development + GenAiClientTokenUsageName = "gen_ai.client.token.usage" + GenAiClientTokenUsageUnit = "{token}" + GenAiClientTokenUsageDescription = "Measures number of input and output tokens used" + // GenAiClientOperationDuration is the metric conforming to the + // "gen_ai.client.operation.duration" semantic conventions. It represents the + // genAI operation duration + // Instrument: histogram + // Unit: s + // Stability: development + GenAiClientOperationDurationName = "gen_ai.client.operation.duration" + GenAiClientOperationDurationUnit = "s" + GenAiClientOperationDurationDescription = "GenAI operation duration" + // GenAiServerRequestDuration is the metric conforming to the + // "gen_ai.server.request.duration" semantic conventions. It represents the + // generative AI server request duration such as time-to-last byte or last + // output token + // Instrument: histogram + // Unit: s + // Stability: development + GenAiServerRequestDurationName = "gen_ai.server.request.duration" + GenAiServerRequestDurationUnit = "s" + GenAiServerRequestDurationDescription = "Generative AI server request duration such as time-to-last byte or last output token" + // GenAiServerTimePerOutputToken is the metric conforming to the + // "gen_ai.server.time_per_output_token" semantic conventions. It represents + // the time per output token generated after the first token for successful + // responses + // Instrument: histogram + // Unit: s + // Stability: development + GenAiServerTimePerOutputTokenName = "gen_ai.server.time_per_output_token" + GenAiServerTimePerOutputTokenUnit = "s" + GenAiServerTimePerOutputTokenDescription = "Time per output token generated after the first token for successful responses" + // GenAiServerTimeToFirstToken is the metric conforming to the + // "gen_ai.server.time_to_first_token" semantic conventions. It represents + // the time to generate first token for successful responses + // Instrument: histogram + // Unit: s + // Stability: development + GenAiServerTimeToFirstTokenName = "gen_ai.server.time_to_first_token" + GenAiServerTimeToFirstTokenUnit = "s" + GenAiServerTimeToFirstTokenDescription = "Time to generate first token for successful responses" + // GoMemoryUsed is the metric conforming to the "go.memory.used" semantic + // conventions. It represents the memory used by the Go runtime + // Instrument: updowncounter + // Unit: By + // Stability: development + GoMemoryUsedName = "go.memory.used" + GoMemoryUsedUnit = "By" + GoMemoryUsedDescription = "Memory used by the Go runtime." + // GoMemoryLimit is the metric conforming to the "go.memory.limit" semantic + // conventions. It represents the go runtime memory limit configured by the + // user, if a limit exists + // Instrument: updowncounter + // Unit: By + // Stability: development + GoMemoryLimitName = "go.memory.limit" + GoMemoryLimitUnit = "By" + GoMemoryLimitDescription = "Go runtime memory limit configured by the user, if a limit exists." + // GoMemoryAllocated is the metric conforming to the "go.memory.allocated" + // semantic conventions. It represents the memory allocated to the heap by + // the application + // Instrument: counter + // Unit: By + // Stability: development + GoMemoryAllocatedName = "go.memory.allocated" + GoMemoryAllocatedUnit = "By" + GoMemoryAllocatedDescription = "Memory allocated to the heap by the application." + // GoMemoryAllocations is the metric conforming to the + // "go.memory.allocations" semantic conventions. It represents the count of + // allocations to the heap by the application + // Instrument: counter + // Unit: {allocation} + // Stability: development + GoMemoryAllocationsName = "go.memory.allocations" + GoMemoryAllocationsUnit = "{allocation}" + GoMemoryAllocationsDescription = "Count of allocations to the heap by the application." + // GoMemoryGCGoal is the metric conforming to the "go.memory.gc.goal" + // semantic conventions. It represents the heap size target for the end of + // the GC cycle + // Instrument: updowncounter + // Unit: By + // Stability: development + GoMemoryGCGoalName = "go.memory.gc.goal" + GoMemoryGCGoalUnit = "By" + GoMemoryGCGoalDescription = "Heap size target for the end of the GC cycle." + // GoGoroutineCount is the metric conforming to the "go.goroutine.count" + // semantic conventions. It represents the count of live goroutines + // Instrument: updowncounter + // Unit: {goroutine} + // Stability: development + GoGoroutineCountName = "go.goroutine.count" + GoGoroutineCountUnit = "{goroutine}" + GoGoroutineCountDescription = "Count of live goroutines." + // GoProcessorLimit is the metric conforming to the "go.processor.limit" + // semantic conventions. It represents the number of OS threads that can + // execute user-level Go code simultaneously + // Instrument: updowncounter + // Unit: {thread} + // Stability: development + GoProcessorLimitName = "go.processor.limit" + GoProcessorLimitUnit = "{thread}" + GoProcessorLimitDescription = "The number of OS threads that can execute user-level Go code simultaneously." + // GoScheduleDuration is the metric conforming to the "go.schedule.duration" + // semantic conventions. It represents the time goroutines have spent in the + // scheduler in a runnable state before actually running + // Instrument: histogram + // Unit: s + // Stability: development + GoScheduleDurationName = "go.schedule.duration" + GoScheduleDurationUnit = "s" + GoScheduleDurationDescription = "The time goroutines have spent in the scheduler in a runnable state before actually running." + // GoConfigGogc is the metric conforming to the "go.config.gogc" semantic + // conventions. It represents the heap size target percentage configured by + // the user, otherwise 100 + // Instrument: updowncounter + // Unit: % + // Stability: development + GoConfigGogcName = "go.config.gogc" + GoConfigGogcUnit = "%" + GoConfigGogcDescription = "Heap size target percentage configured by the user, otherwise 100." + // HTTPServerRequestDuration is the metric conforming to the + // "http.server.request.duration" semantic conventions. It represents the + // duration of HTTP server requests + // Instrument: histogram + // Unit: s + // Stability: stable + HTTPServerRequestDurationName = "http.server.request.duration" + HTTPServerRequestDurationUnit = "s" + HTTPServerRequestDurationDescription = "Duration of HTTP server requests." + // HTTPServerActiveRequests is the metric conforming to the + // "http.server.active_requests" semantic conventions. It represents the + // number of active HTTP server requests + // Instrument: updowncounter + // Unit: {request} + // Stability: development + HTTPServerActiveRequestsName = "http.server.active_requests" + HTTPServerActiveRequestsUnit = "{request}" + HTTPServerActiveRequestsDescription = "Number of active HTTP server requests." + // HTTPServerRequestBodySize is the metric conforming to the + // "http.server.request.body.size" semantic conventions. It represents the + // size of HTTP server request bodies + // Instrument: histogram + // Unit: By + // Stability: development + HTTPServerRequestBodySizeName = "http.server.request.body.size" + HTTPServerRequestBodySizeUnit = "By" + HTTPServerRequestBodySizeDescription = "Size of HTTP server request bodies." + // HTTPServerResponseBodySize is the metric conforming to the + // "http.server.response.body.size" semantic conventions. It represents the + // size of HTTP server response bodies + // Instrument: histogram + // Unit: By + // Stability: development + HTTPServerResponseBodySizeName = "http.server.response.body.size" + HTTPServerResponseBodySizeUnit = "By" + HTTPServerResponseBodySizeDescription = "Size of HTTP server response bodies." + // HTTPClientRequestDuration is the metric conforming to the + // "http.client.request.duration" semantic conventions. It represents the + // duration of HTTP client requests + // Instrument: histogram + // Unit: s + // Stability: stable + HTTPClientRequestDurationName = "http.client.request.duration" + HTTPClientRequestDurationUnit = "s" + HTTPClientRequestDurationDescription = "Duration of HTTP client requests." + // HTTPClientRequestBodySize is the metric conforming to the + // "http.client.request.body.size" semantic conventions. It represents the + // size of HTTP client request bodies + // Instrument: histogram + // Unit: By + // Stability: development + HTTPClientRequestBodySizeName = "http.client.request.body.size" + HTTPClientRequestBodySizeUnit = "By" + HTTPClientRequestBodySizeDescription = "Size of HTTP client request bodies." + // HTTPClientResponseBodySize is the metric conforming to the + // "http.client.response.body.size" semantic conventions. It represents the + // size of HTTP client response bodies + // Instrument: histogram + // Unit: By + // Stability: development + HTTPClientResponseBodySizeName = "http.client.response.body.size" + HTTPClientResponseBodySizeUnit = "By" + HTTPClientResponseBodySizeDescription = "Size of HTTP client response bodies." + // HTTPClientOpenConnections is the metric conforming to the + // "http.client.open_connections" semantic conventions. It represents the + // number of outbound HTTP connections that are currently active or idle on + // the client + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + HTTPClientOpenConnectionsName = "http.client.open_connections" + HTTPClientOpenConnectionsUnit = "{connection}" + HTTPClientOpenConnectionsDescription = "Number of outbound HTTP connections that are currently active or idle on the client." + // HTTPClientConnectionDuration is the metric conforming to the + // "http.client.connection.duration" semantic conventions. It represents the + // duration of the successfully established outbound HTTP connections + // Instrument: histogram + // Unit: s + // Stability: development + HTTPClientConnectionDurationName = "http.client.connection.duration" + HTTPClientConnectionDurationUnit = "s" + HTTPClientConnectionDurationDescription = "The duration of the successfully established outbound HTTP connections." + // HTTPClientActiveRequests is the metric conforming to the + // "http.client.active_requests" semantic conventions. It represents the + // number of active HTTP requests + // Instrument: updowncounter + // Unit: {request} + // Stability: development + HTTPClientActiveRequestsName = "http.client.active_requests" + HTTPClientActiveRequestsUnit = "{request}" + HTTPClientActiveRequestsDescription = "Number of active HTTP requests." + // HwEnergy is the metric conforming to the "hw.energy" semantic conventions. + // It represents the energy consumed by the component + // Instrument: counter + // Unit: J + // Stability: development + HwEnergyName = "hw.energy" + HwEnergyUnit = "J" + HwEnergyDescription = "Energy consumed by the component" + // HwErrors is the metric conforming to the "hw.errors" semantic conventions. + // It represents the number of errors encountered by the component + // Instrument: counter + // Unit: {error} + // Stability: development + HwErrorsName = "hw.errors" + HwErrorsUnit = "{error}" + HwErrorsDescription = "Number of errors encountered by the component" + // HwPower is the metric conforming to the "hw.power" semantic conventions. + // It represents the instantaneous power consumed by the component + // Instrument: gauge + // Unit: W + // Stability: development + HwPowerName = "hw.power" + HwPowerUnit = "W" + HwPowerDescription = "Instantaneous power consumed by the component" + // HwStatus is the metric conforming to the "hw.status" semantic conventions. + // It represents the operational status: `1` (true) or `0` (false) for each + // of the possible states + // Instrument: updowncounter + // Unit: 1 + // Stability: development + HwStatusName = "hw.status" + HwStatusUnit = "1" + HwStatusDescription = "Operational status: `1` (true) or `0` (false) for each of the possible states" + // JVMMemoryUsed is the metric conforming to the "jvm.memory.used" semantic + // conventions. It represents the measure of memory used + // Instrument: updowncounter + // Unit: By + // Stability: stable + JVMMemoryUsedName = "jvm.memory.used" + JVMMemoryUsedUnit = "By" + JVMMemoryUsedDescription = "Measure of memory used." + // JVMMemoryCommitted is the metric conforming to the "jvm.memory.committed" + // semantic conventions. It represents the measure of memory committed + // Instrument: updowncounter + // Unit: By + // Stability: stable + JVMMemoryCommittedName = "jvm.memory.committed" + JVMMemoryCommittedUnit = "By" + JVMMemoryCommittedDescription = "Measure of memory committed." + // JVMMemoryLimit is the metric conforming to the "jvm.memory.limit" semantic + // conventions. It represents the measure of max obtainable memory + // Instrument: updowncounter + // Unit: By + // Stability: stable + JVMMemoryLimitName = "jvm.memory.limit" + JVMMemoryLimitUnit = "By" + JVMMemoryLimitDescription = "Measure of max obtainable memory." + // JVMMemoryUsedAfterLastGc is the metric conforming to the + // "jvm.memory.used_after_last_gc" semantic conventions. It represents the + // measure of memory used, as measured after the most recent garbage + // collection event on this pool + // Instrument: updowncounter + // Unit: By + // Stability: stable + JVMMemoryUsedAfterLastGcName = "jvm.memory.used_after_last_gc" + JVMMemoryUsedAfterLastGcUnit = "By" + JVMMemoryUsedAfterLastGcDescription = "Measure of memory used, as measured after the most recent garbage collection event on this pool." + // JVMGCDuration is the metric conforming to the "jvm.gc.duration" semantic + // conventions. It represents the duration of JVM garbage collection actions + // Instrument: histogram + // Unit: s + // Stability: stable + JVMGCDurationName = "jvm.gc.duration" + JVMGCDurationUnit = "s" + JVMGCDurationDescription = "Duration of JVM garbage collection actions." + // JVMThreadCount is the metric conforming to the "jvm.thread.count" semantic + // conventions. It represents the number of executing platform threads + // Instrument: updowncounter + // Unit: {thread} + // Stability: stable + JVMThreadCountName = "jvm.thread.count" + JVMThreadCountUnit = "{thread}" + JVMThreadCountDescription = "Number of executing platform threads." + // JVMClassLoaded is the metric conforming to the "jvm.class.loaded" semantic + // conventions. It represents the number of classes loaded since JVM start + // Instrument: counter + // Unit: {class} + // Stability: stable + JVMClassLoadedName = "jvm.class.loaded" + JVMClassLoadedUnit = "{class}" + JVMClassLoadedDescription = "Number of classes loaded since JVM start." + // JVMClassUnloaded is the metric conforming to the "jvm.class.unloaded" + // semantic conventions. It represents the number of classes unloaded since + // JVM start + // Instrument: counter + // Unit: {class} + // Stability: stable + JVMClassUnloadedName = "jvm.class.unloaded" + JVMClassUnloadedUnit = "{class}" + JVMClassUnloadedDescription = "Number of classes unloaded since JVM start." + // JVMClassCount is the metric conforming to the "jvm.class.count" semantic + // conventions. It represents the number of classes currently loaded + // Instrument: updowncounter + // Unit: {class} + // Stability: stable + JVMClassCountName = "jvm.class.count" + JVMClassCountUnit = "{class}" + JVMClassCountDescription = "Number of classes currently loaded." + // JVMCPUCount is the metric conforming to the "jvm.cpu.count" semantic + // conventions. It represents the number of processors available to the Java + // virtual machine + // Instrument: updowncounter + // Unit: {cpu} + // Stability: stable + JVMCPUCountName = "jvm.cpu.count" + JVMCPUCountUnit = "{cpu}" + JVMCPUCountDescription = "Number of processors available to the Java virtual machine." + // JVMCPUTime is the metric conforming to the "jvm.cpu.time" semantic + // conventions. It represents the cPU time used by the process as reported by + // the JVM + // Instrument: counter + // Unit: s + // Stability: stable + JVMCPUTimeName = "jvm.cpu.time" + JVMCPUTimeUnit = "s" + JVMCPUTimeDescription = "CPU time used by the process as reported by the JVM." + // JVMCPURecentUtilization is the metric conforming to the + // "jvm.cpu.recent_utilization" semantic conventions. It represents the + // recent CPU utilization for the process as reported by the JVM + // Instrument: gauge + // Unit: 1 + // Stability: stable + JVMCPURecentUtilizationName = "jvm.cpu.recent_utilization" + JVMCPURecentUtilizationUnit = "1" + JVMCPURecentUtilizationDescription = "Recent CPU utilization for the process as reported by the JVM." + // JVMBufferMemoryUsage is the metric conforming to the + // "jvm.buffer.memory.usage" semantic conventions. It represents the + // deprecated, use `jvm.buffer.memory.used` instead + // Instrument: updowncounter + // Unit: By + // Stability: development + // Deprecated: Replaced by `jvm.buffer.memory.used`. + JVMBufferMemoryUsageName = "jvm.buffer.memory.usage" + JVMBufferMemoryUsageUnit = "By" + JVMBufferMemoryUsageDescription = "Deprecated, use `jvm.buffer.memory.used` instead." + // JVMMemoryInit is the metric conforming to the "jvm.memory.init" semantic + // conventions. It represents the measure of initial memory requested + // Instrument: updowncounter + // Unit: By + // Stability: development + JVMMemoryInitName = "jvm.memory.init" + JVMMemoryInitUnit = "By" + JVMMemoryInitDescription = "Measure of initial memory requested." + // JVMSystemCPUUtilization is the metric conforming to the + // "jvm.system.cpu.utilization" semantic conventions. It represents the + // recent CPU utilization for the whole system as reported by the JVM + // Instrument: gauge + // Unit: 1 + // Stability: development + JVMSystemCPUUtilizationName = "jvm.system.cpu.utilization" + JVMSystemCPUUtilizationUnit = "1" + JVMSystemCPUUtilizationDescription = "Recent CPU utilization for the whole system as reported by the JVM." + // JVMSystemCPULoad1m is the metric conforming to the + // "jvm.system.cpu.load_1m" semantic conventions. It represents the average + // CPU load of the whole system for the last minute as reported by the JVM + // Instrument: gauge + // Unit: {run_queue_item} + // Stability: development + JVMSystemCPULoad1mName = "jvm.system.cpu.load_1m" + JVMSystemCPULoad1mUnit = "{run_queue_item}" + JVMSystemCPULoad1mDescription = "Average CPU load of the whole system for the last minute as reported by the JVM." + // JVMBufferMemoryUsed is the metric conforming to the + // "jvm.buffer.memory.used" semantic conventions. It represents the measure + // of memory used by buffers + // Instrument: updowncounter + // Unit: By + // Stability: development + JVMBufferMemoryUsedName = "jvm.buffer.memory.used" + JVMBufferMemoryUsedUnit = "By" + JVMBufferMemoryUsedDescription = "Measure of memory used by buffers." + // JVMBufferMemoryLimit is the metric conforming to the + // "jvm.buffer.memory.limit" semantic conventions. It represents the measure + // of total memory capacity of buffers + // Instrument: updowncounter + // Unit: By + // Stability: development + JVMBufferMemoryLimitName = "jvm.buffer.memory.limit" + JVMBufferMemoryLimitUnit = "By" + JVMBufferMemoryLimitDescription = "Measure of total memory capacity of buffers." + // JVMBufferCount is the metric conforming to the "jvm.buffer.count" semantic + // conventions. It represents the number of buffers in the pool + // Instrument: updowncounter + // Unit: {buffer} + // Stability: development + JVMBufferCountName = "jvm.buffer.count" + JVMBufferCountUnit = "{buffer}" + JVMBufferCountDescription = "Number of buffers in the pool." + // K8SPodUptime is the metric conforming to the "k8s.pod.uptime" semantic + // conventions. It represents the time the Pod has been running + // Instrument: gauge + // Unit: s + // Stability: development + K8SPodUptimeName = "k8s.pod.uptime" + K8SPodUptimeUnit = "s" + K8SPodUptimeDescription = "The time the Pod has been running" + // K8SPodCPUTime is the metric conforming to the "k8s.pod.cpu.time" semantic + // conventions. It represents the total CPU time consumed + // Instrument: counter + // Unit: s + // Stability: development + K8SPodCPUTimeName = "k8s.pod.cpu.time" + K8SPodCPUTimeUnit = "s" + K8SPodCPUTimeDescription = "Total CPU time consumed" + // K8SPodCPUUsage is the metric conforming to the "k8s.pod.cpu.usage" + // semantic conventions. It represents the pod's CPU usage, measured in cpus. + // Range from 0 to the number of allocatable CPUs + // Instrument: gauge + // Unit: {cpu} + // Stability: development + K8SPodCPUUsageName = "k8s.pod.cpu.usage" + K8SPodCPUUsageUnit = "{cpu}" + K8SPodCPUUsageDescription = "Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs" + // K8SPodMemoryUsage is the metric conforming to the "k8s.pod.memory.usage" + // semantic conventions. It represents the memory usage of the Pod + // Instrument: gauge + // Unit: By + // Stability: development + K8SPodMemoryUsageName = "k8s.pod.memory.usage" + K8SPodMemoryUsageUnit = "By" + K8SPodMemoryUsageDescription = "Memory usage of the Pod" + // K8SPodNetworkIo is the metric conforming to the "k8s.pod.network.io" + // semantic conventions. It represents the network bytes for the Pod + // Instrument: counter + // Unit: By + // Stability: development + K8SPodNetworkIoName = "k8s.pod.network.io" + K8SPodNetworkIoUnit = "By" + K8SPodNetworkIoDescription = "Network bytes for the Pod" + // K8SPodNetworkErrors is the metric conforming to the + // "k8s.pod.network.errors" semantic conventions. It represents the pod + // network errors + // Instrument: counter + // Unit: {error} + // Stability: development + K8SPodNetworkErrorsName = "k8s.pod.network.errors" + K8SPodNetworkErrorsUnit = "{error}" + K8SPodNetworkErrorsDescription = "Pod network errors" + // K8SNodeUptime is the metric conforming to the "k8s.node.uptime" semantic + // conventions. It represents the time the Node has been running + // Instrument: gauge + // Unit: s + // Stability: development + K8SNodeUptimeName = "k8s.node.uptime" + K8SNodeUptimeUnit = "s" + K8SNodeUptimeDescription = "The time the Node has been running" + // K8SNodeCPUTime is the metric conforming to the "k8s.node.cpu.time" + // semantic conventions. It represents the total CPU time consumed + // Instrument: counter + // Unit: s + // Stability: development + K8SNodeCPUTimeName = "k8s.node.cpu.time" + K8SNodeCPUTimeUnit = "s" + K8SNodeCPUTimeDescription = "Total CPU time consumed" + // K8SNodeCPUUsage is the metric conforming to the "k8s.node.cpu.usage" + // semantic conventions. It represents the node's CPU usage, measured in + // cpus. Range from 0 to the number of allocatable CPUs + // Instrument: gauge + // Unit: {cpu} + // Stability: development + K8SNodeCPUUsageName = "k8s.node.cpu.usage" + K8SNodeCPUUsageUnit = "{cpu}" + K8SNodeCPUUsageDescription = "Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs" + // K8SNodeMemoryUsage is the metric conforming to the "k8s.node.memory.usage" + // semantic conventions. It represents the memory usage of the Node + // Instrument: gauge + // Unit: By + // Stability: development + K8SNodeMemoryUsageName = "k8s.node.memory.usage" + K8SNodeMemoryUsageUnit = "By" + K8SNodeMemoryUsageDescription = "Memory usage of the Node" + // K8SNodeNetworkIo is the metric conforming to the "k8s.node.network.io" + // semantic conventions. It represents the network bytes for the Node + // Instrument: counter + // Unit: By + // Stability: development + K8SNodeNetworkIoName = "k8s.node.network.io" + K8SNodeNetworkIoUnit = "By" + K8SNodeNetworkIoDescription = "Network bytes for the Node" + // K8SNodeNetworkErrors is the metric conforming to the + // "k8s.node.network.errors" semantic conventions. It represents the node + // network errors + // Instrument: counter + // Unit: {error} + // Stability: development + K8SNodeNetworkErrorsName = "k8s.node.network.errors" + K8SNodeNetworkErrorsUnit = "{error}" + K8SNodeNetworkErrorsDescription = "Node network errors" + // K8SDeploymentDesiredPods is the metric conforming to the + // "k8s.deployment.desired_pods" semantic conventions. It represents the + // number of desired replica pods in this deployment + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SDeploymentDesiredPodsName = "k8s.deployment.desired_pods" + K8SDeploymentDesiredPodsUnit = "{pod}" + K8SDeploymentDesiredPodsDescription = "Number of desired replica pods in this deployment" + // K8SDeploymentAvailablePods is the metric conforming to the + // "k8s.deployment.available_pods" semantic conventions. It represents the + // total number of available replica pods (ready for at least + // minReadySeconds) targeted by this deployment + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SDeploymentAvailablePodsName = "k8s.deployment.available_pods" + K8SDeploymentAvailablePodsUnit = "{pod}" + K8SDeploymentAvailablePodsDescription = "Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment" + // K8SReplicaSetDesiredPods is the metric conforming to the + // "k8s.replicaset.desired_pods" semantic conventions. It represents the + // number of desired replica pods in this replicaset + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SReplicaSetDesiredPodsName = "k8s.replicaset.desired_pods" + K8SReplicaSetDesiredPodsUnit = "{pod}" + K8SReplicaSetDesiredPodsDescription = "Number of desired replica pods in this replicaset" + // K8SReplicaSetAvailablePods is the metric conforming to the + // "k8s.replicaset.available_pods" semantic conventions. It represents the + // total number of available replica pods (ready for at least + // minReadySeconds) targeted by this replicaset + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SReplicaSetAvailablePodsName = "k8s.replicaset.available_pods" + K8SReplicaSetAvailablePodsUnit = "{pod}" + K8SReplicaSetAvailablePodsDescription = "Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset" + // K8SReplicationControllerDesiredPods is the metric conforming to the + // "k8s.replication_controller.desired_pods" semantic conventions. It + // represents the number of desired replica pods in this replication + // controller + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SReplicationControllerDesiredPodsName = "k8s.replication_controller.desired_pods" + K8SReplicationControllerDesiredPodsUnit = "{pod}" + K8SReplicationControllerDesiredPodsDescription = "Number of desired replica pods in this replication controller" + // K8SReplicationControllerAvailablePods is the metric conforming to the + // "k8s.replication_controller.available_pods" semantic conventions. It + // represents the total number of available replica pods (ready for at least + // minReadySeconds) targeted by this replication controller + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SReplicationControllerAvailablePodsName = "k8s.replication_controller.available_pods" + K8SReplicationControllerAvailablePodsUnit = "{pod}" + K8SReplicationControllerAvailablePodsDescription = "Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller" + // K8SStatefulSetDesiredPods is the metric conforming to the + // "k8s.statefulset.desired_pods" semantic conventions. It represents the + // number of desired replica pods in this statefulset + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SStatefulSetDesiredPodsName = "k8s.statefulset.desired_pods" + K8SStatefulSetDesiredPodsUnit = "{pod}" + K8SStatefulSetDesiredPodsDescription = "Number of desired replica pods in this statefulset" + // K8SStatefulSetReadyPods is the metric conforming to the + // "k8s.statefulset.ready_pods" semantic conventions. It represents the + // number of replica pods created for this statefulset with a Ready Condition + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SStatefulSetReadyPodsName = "k8s.statefulset.ready_pods" + K8SStatefulSetReadyPodsUnit = "{pod}" + K8SStatefulSetReadyPodsDescription = "The number of replica pods created for this statefulset with a Ready Condition" + // K8SStatefulSetCurrentPods is the metric conforming to the + // "k8s.statefulset.current_pods" semantic conventions. It represents the + // number of replica pods created by the statefulset controller from the + // statefulset version indicated by currentRevision + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SStatefulSetCurrentPodsName = "k8s.statefulset.current_pods" + K8SStatefulSetCurrentPodsUnit = "{pod}" + K8SStatefulSetCurrentPodsDescription = "The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision" + // K8SStatefulSetUpdatedPods is the metric conforming to the + // "k8s.statefulset.updated_pods" semantic conventions. It represents the + // number of replica pods created by the statefulset controller from the + // statefulset version indicated by updateRevision + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SStatefulSetUpdatedPodsName = "k8s.statefulset.updated_pods" + K8SStatefulSetUpdatedPodsUnit = "{pod}" + K8SStatefulSetUpdatedPodsDescription = "Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision" + // K8SHpaDesiredPods is the metric conforming to the "k8s.hpa.desired_pods" + // semantic conventions. It represents the desired number of replica pods + // managed by this horizontal pod autoscaler, as last calculated by the + // autoscaler + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SHpaDesiredPodsName = "k8s.hpa.desired_pods" + K8SHpaDesiredPodsUnit = "{pod}" + K8SHpaDesiredPodsDescription = "Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler" + // K8SHpaCurrentPods is the metric conforming to the "k8s.hpa.current_pods" + // semantic conventions. It represents the current number of replica pods + // managed by this horizontal pod autoscaler, as last seen by the autoscaler + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SHpaCurrentPodsName = "k8s.hpa.current_pods" + K8SHpaCurrentPodsUnit = "{pod}" + K8SHpaCurrentPodsDescription = "Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler" + // K8SHpaMaxPods is the metric conforming to the "k8s.hpa.max_pods" semantic + // conventions. It represents the upper limit for the number of replica pods + // to which the autoscaler can scale up + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SHpaMaxPodsName = "k8s.hpa.max_pods" + K8SHpaMaxPodsUnit = "{pod}" + K8SHpaMaxPodsDescription = "The upper limit for the number of replica pods to which the autoscaler can scale up" + // K8SHpaMinPods is the metric conforming to the "k8s.hpa.min_pods" semantic + // conventions. It represents the lower limit for the number of replica pods + // to which the autoscaler can scale down + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SHpaMinPodsName = "k8s.hpa.min_pods" + K8SHpaMinPodsUnit = "{pod}" + K8SHpaMinPodsDescription = "The lower limit for the number of replica pods to which the autoscaler can scale down" + // K8SDaemonSetCurrentScheduledNodes is the metric conforming to the + // "k8s.daemonset.current_scheduled_nodes" semantic conventions. It + // represents the number of nodes that are running at least 1 daemon pod and + // are supposed to run the daemon pod + // Instrument: updowncounter + // Unit: {node} + // Stability: development + K8SDaemonSetCurrentScheduledNodesName = "k8s.daemonset.current_scheduled_nodes" + K8SDaemonSetCurrentScheduledNodesUnit = "{node}" + K8SDaemonSetCurrentScheduledNodesDescription = "Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod" + // K8SDaemonSetDesiredScheduledNodes is the metric conforming to the + // "k8s.daemonset.desired_scheduled_nodes" semantic conventions. It + // represents the number of nodes that should be running the daemon pod + // (including nodes currently running the daemon pod) + // Instrument: updowncounter + // Unit: {node} + // Stability: development + K8SDaemonSetDesiredScheduledNodesName = "k8s.daemonset.desired_scheduled_nodes" + K8SDaemonSetDesiredScheduledNodesUnit = "{node}" + K8SDaemonSetDesiredScheduledNodesDescription = "Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)" + // K8SDaemonSetMisscheduledNodes is the metric conforming to the + // "k8s.daemonset.misscheduled_nodes" semantic conventions. It represents the + // number of nodes that are running the daemon pod, but are not supposed to + // run the daemon pod + // Instrument: updowncounter + // Unit: {node} + // Stability: development + K8SDaemonSetMisscheduledNodesName = "k8s.daemonset.misscheduled_nodes" + K8SDaemonSetMisscheduledNodesUnit = "{node}" + K8SDaemonSetMisscheduledNodesDescription = "Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod" + // K8SDaemonSetReadyNodes is the metric conforming to the + // "k8s.daemonset.ready_nodes" semantic conventions. It represents the number + // of nodes that should be running the daemon pod and have one or more of the + // daemon pod running and ready + // Instrument: updowncounter + // Unit: {node} + // Stability: development + K8SDaemonSetReadyNodesName = "k8s.daemonset.ready_nodes" + K8SDaemonSetReadyNodesUnit = "{node}" + K8SDaemonSetReadyNodesDescription = "Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready" + // K8SJobActivePods is the metric conforming to the "k8s.job.active_pods" + // semantic conventions. It represents the number of pending and actively + // running pods for a job + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SJobActivePodsName = "k8s.job.active_pods" + K8SJobActivePodsUnit = "{pod}" + K8SJobActivePodsDescription = "The number of pending and actively running pods for a job" + // K8SJobFailedPods is the metric conforming to the "k8s.job.failed_pods" + // semantic conventions. It represents the number of pods which reached phase + // Failed for a job + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SJobFailedPodsName = "k8s.job.failed_pods" + K8SJobFailedPodsUnit = "{pod}" + K8SJobFailedPodsDescription = "The number of pods which reached phase Failed for a job" + // K8SJobSuccessfulPods is the metric conforming to the + // "k8s.job.successful_pods" semantic conventions. It represents the number + // of pods which reached phase Succeeded for a job + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SJobSuccessfulPodsName = "k8s.job.successful_pods" + K8SJobSuccessfulPodsUnit = "{pod}" + K8SJobSuccessfulPodsDescription = "The number of pods which reached phase Succeeded for a job" + // K8SJobDesiredSuccessfulPods is the metric conforming to the + // "k8s.job.desired_successful_pods" semantic conventions. It represents the + // desired number of successfully finished pods the job should be run with + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SJobDesiredSuccessfulPodsName = "k8s.job.desired_successful_pods" + K8SJobDesiredSuccessfulPodsUnit = "{pod}" + K8SJobDesiredSuccessfulPodsDescription = "The desired number of successfully finished pods the job should be run with" + // K8SJobMaxParallelPods is the metric conforming to the + // "k8s.job.max_parallel_pods" semantic conventions. It represents the max + // desired number of pods the job should run at any given time + // Instrument: updowncounter + // Unit: {pod} + // Stability: development + K8SJobMaxParallelPodsName = "k8s.job.max_parallel_pods" + K8SJobMaxParallelPodsUnit = "{pod}" + K8SJobMaxParallelPodsDescription = "The max desired number of pods the job should run at any given time" + // K8SCronJobActiveJobs is the metric conforming to the + // "k8s.cronjob.active_jobs" semantic conventions. It represents the number + // of actively running jobs for a cronjob + // Instrument: updowncounter + // Unit: {job} + // Stability: development + K8SCronJobActiveJobsName = "k8s.cronjob.active_jobs" + K8SCronJobActiveJobsUnit = "{job}" + K8SCronJobActiveJobsDescription = "The number of actively running jobs for a cronjob" + // K8SNamespacePhase is the metric conforming to the "k8s.namespace.phase" + // semantic conventions. It represents the describes number of K8s namespaces + // that are currently in a given phase + // Instrument: updowncounter + // Unit: {namespace} + // Stability: development + K8SNamespacePhaseName = "k8s.namespace.phase" + K8SNamespacePhaseUnit = "{namespace}" + K8SNamespacePhaseDescription = "Describes number of K8s namespaces that are currently in a given phase." + // KestrelActiveConnections is the metric conforming to the + // "kestrel.active_connections" semantic conventions. It represents the + // number of connections that are currently active on the server + // Instrument: updowncounter + // Unit: {connection} + // Stability: stable + KestrelActiveConnectionsName = "kestrel.active_connections" + KestrelActiveConnectionsUnit = "{connection}" + KestrelActiveConnectionsDescription = "Number of connections that are currently active on the server." + // KestrelConnectionDuration is the metric conforming to the + // "kestrel.connection.duration" semantic conventions. It represents the + // duration of connections on the server + // Instrument: histogram + // Unit: s + // Stability: stable + KestrelConnectionDurationName = "kestrel.connection.duration" + KestrelConnectionDurationUnit = "s" + KestrelConnectionDurationDescription = "The duration of connections on the server." + // KestrelRejectedConnections is the metric conforming to the + // "kestrel.rejected_connections" semantic conventions. It represents the + // number of connections rejected by the server + // Instrument: counter + // Unit: {connection} + // Stability: stable + KestrelRejectedConnectionsName = "kestrel.rejected_connections" + KestrelRejectedConnectionsUnit = "{connection}" + KestrelRejectedConnectionsDescription = "Number of connections rejected by the server." + // KestrelQueuedConnections is the metric conforming to the + // "kestrel.queued_connections" semantic conventions. It represents the + // number of connections that are currently queued and are waiting to start + // Instrument: updowncounter + // Unit: {connection} + // Stability: stable + KestrelQueuedConnectionsName = "kestrel.queued_connections" + KestrelQueuedConnectionsUnit = "{connection}" + KestrelQueuedConnectionsDescription = "Number of connections that are currently queued and are waiting to start." + // KestrelQueuedRequests is the metric conforming to the + // "kestrel.queued_requests" semantic conventions. It represents the number + // of HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are + // currently queued and are waiting to start + // Instrument: updowncounter + // Unit: {request} + // Stability: stable + KestrelQueuedRequestsName = "kestrel.queued_requests" + KestrelQueuedRequestsUnit = "{request}" + KestrelQueuedRequestsDescription = "Number of HTTP requests on multiplexed connections (HTTP/2 and HTTP/3) that are currently queued and are waiting to start." + // KestrelUpgradedConnections is the metric conforming to the + // "kestrel.upgraded_connections" semantic conventions. It represents the + // number of connections that are currently upgraded (WebSockets). + // Instrument: updowncounter + // Unit: {connection} + // Stability: stable + KestrelUpgradedConnectionsName = "kestrel.upgraded_connections" + KestrelUpgradedConnectionsUnit = "{connection}" + KestrelUpgradedConnectionsDescription = "Number of connections that are currently upgraded (WebSockets). ." + // KestrelTlsHandshakeDuration is the metric conforming to the + // "kestrel.tls_handshake.duration" semantic conventions. It represents the + // duration of TLS handshakes on the server + // Instrument: histogram + // Unit: s + // Stability: stable + KestrelTlsHandshakeDurationName = "kestrel.tls_handshake.duration" + KestrelTlsHandshakeDurationUnit = "s" + KestrelTlsHandshakeDurationDescription = "The duration of TLS handshakes on the server." + // KestrelActiveTlsHandshakes is the metric conforming to the + // "kestrel.active_tls_handshakes" semantic conventions. It represents the + // number of TLS handshakes that are currently in progress on the server + // Instrument: updowncounter + // Unit: {handshake} + // Stability: stable + KestrelActiveTlsHandshakesName = "kestrel.active_tls_handshakes" + KestrelActiveTlsHandshakesUnit = "{handshake}" + KestrelActiveTlsHandshakesDescription = "Number of TLS handshakes that are currently in progress on the server." + // MessagingClientOperationDuration is the metric conforming to the + // "messaging.client.operation.duration" semantic conventions. It represents + // the duration of messaging operation initiated by a producer or consumer + // client + // Instrument: histogram + // Unit: s + // Stability: development + MessagingClientOperationDurationName = "messaging.client.operation.duration" + MessagingClientOperationDurationUnit = "s" + MessagingClientOperationDurationDescription = "Duration of messaging operation initiated by a producer or consumer client." + // MessagingProcessDuration is the metric conforming to the + // "messaging.process.duration" semantic conventions. It represents the + // duration of processing operation + // Instrument: histogram + // Unit: s + // Stability: development + MessagingProcessDurationName = "messaging.process.duration" + MessagingProcessDurationUnit = "s" + MessagingProcessDurationDescription = "Duration of processing operation." + // MessagingClientSentMessages is the metric conforming to the + // "messaging.client.sent.messages" semantic conventions. It represents the + // number of messages producer attempted to send to the broker + // Instrument: counter + // Unit: {message} + // Stability: development + MessagingClientSentMessagesName = "messaging.client.sent.messages" + MessagingClientSentMessagesUnit = "{message}" + MessagingClientSentMessagesDescription = "Number of messages producer attempted to send to the broker." + // MessagingClientConsumedMessages is the metric conforming to the + // "messaging.client.consumed.messages" semantic conventions. It represents + // the number of messages that were delivered to the application + // Instrument: counter + // Unit: {message} + // Stability: development + MessagingClientConsumedMessagesName = "messaging.client.consumed.messages" + MessagingClientConsumedMessagesUnit = "{message}" + MessagingClientConsumedMessagesDescription = "Number of messages that were delivered to the application." + // MessagingPublishDuration is the metric conforming to the + // "messaging.publish.duration" semantic conventions. It represents the + // deprecated. Use `messaging.client.operation.duration` instead + // Instrument: histogram + // Unit: s + // Stability: development + // Deprecated: Replaced by `messaging.client.operation.duration`. + MessagingPublishDurationName = "messaging.publish.duration" + MessagingPublishDurationUnit = "s" + MessagingPublishDurationDescription = "Deprecated. Use `messaging.client.operation.duration` instead." + // MessagingReceiveDuration is the metric conforming to the + // "messaging.receive.duration" semantic conventions. It represents the + // deprecated. Use `messaging.client.operation.duration` instead + // Instrument: histogram + // Unit: s + // Stability: development + // Deprecated: Replaced by `messaging.client.operation.duration`. + MessagingReceiveDurationName = "messaging.receive.duration" + MessagingReceiveDurationUnit = "s" + MessagingReceiveDurationDescription = "Deprecated. Use `messaging.client.operation.duration` instead." + // MessagingProcessMessages is the metric conforming to the + // "messaging.process.messages" semantic conventions. It represents the + // deprecated. Use `messaging.client.consumed.messages` instead + // Instrument: counter + // Unit: {message} + // Stability: development + // Deprecated: Replaced by `messaging.client.consumed.messages`. + MessagingProcessMessagesName = "messaging.process.messages" + MessagingProcessMessagesUnit = "{message}" + MessagingProcessMessagesDescription = "Deprecated. Use `messaging.client.consumed.messages` instead." + // MessagingPublishMessages is the metric conforming to the + // "messaging.publish.messages" semantic conventions. It represents the + // deprecated. Use `messaging.client.produced.messages` instead + // Instrument: counter + // Unit: {message} + // Stability: development + // Deprecated: Replaced by `messaging.client.produced.messages`. + MessagingPublishMessagesName = "messaging.publish.messages" + MessagingPublishMessagesUnit = "{message}" + MessagingPublishMessagesDescription = "Deprecated. Use `messaging.client.produced.messages` instead." + // MessagingReceiveMessages is the metric conforming to the + // "messaging.receive.messages" semantic conventions. It represents the + // deprecated. Use `messaging.client.consumed.messages` instead + // Instrument: counter + // Unit: {message} + // Stability: development + // Deprecated: Replaced by `messaging.client.consumed.messages`. + MessagingReceiveMessagesName = "messaging.receive.messages" + MessagingReceiveMessagesUnit = "{message}" + MessagingReceiveMessagesDescription = "Deprecated. Use `messaging.client.consumed.messages` instead." + // MessagingClientPublishedMessages is the metric conforming to the + // "messaging.client.published.messages" semantic conventions. It represents + // the deprecated. Use `messaging.client.sent.messages` instead + // Instrument: counter + // Unit: {message} + // Stability: development + // Deprecated: Replaced by `messaging.client.sent.messages`. + MessagingClientPublishedMessagesName = "messaging.client.published.messages" + MessagingClientPublishedMessagesUnit = "{message}" + MessagingClientPublishedMessagesDescription = "Deprecated. Use `messaging.client.sent.messages` instead." + // NodejsEventloopDelayMin is the metric conforming to the + // "nodejs.eventloop.delay.min" semantic conventions. It represents the event + // loop minimum delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayMinName = "nodejs.eventloop.delay.min" + NodejsEventloopDelayMinUnit = "s" + NodejsEventloopDelayMinDescription = "Event loop minimum delay." + // NodejsEventloopDelayMax is the metric conforming to the + // "nodejs.eventloop.delay.max" semantic conventions. It represents the event + // loop maximum delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayMaxName = "nodejs.eventloop.delay.max" + NodejsEventloopDelayMaxUnit = "s" + NodejsEventloopDelayMaxDescription = "Event loop maximum delay." + // NodejsEventloopDelayMean is the metric conforming to the + // "nodejs.eventloop.delay.mean" semantic conventions. It represents the + // event loop mean delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayMeanName = "nodejs.eventloop.delay.mean" + NodejsEventloopDelayMeanUnit = "s" + NodejsEventloopDelayMeanDescription = "Event loop mean delay." + // NodejsEventloopDelayStddev is the metric conforming to the + // "nodejs.eventloop.delay.stddev" semantic conventions. It represents the + // event loop standard deviation delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayStddevName = "nodejs.eventloop.delay.stddev" + NodejsEventloopDelayStddevUnit = "s" + NodejsEventloopDelayStddevDescription = "Event loop standard deviation delay." + // NodejsEventloopDelayP50 is the metric conforming to the + // "nodejs.eventloop.delay.p50" semantic conventions. It represents the event + // loop 50 percentile delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayP50Name = "nodejs.eventloop.delay.p50" + NodejsEventloopDelayP50Unit = "s" + NodejsEventloopDelayP50Description = "Event loop 50 percentile delay." + // NodejsEventloopDelayP90 is the metric conforming to the + // "nodejs.eventloop.delay.p90" semantic conventions. It represents the event + // loop 90 percentile delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayP90Name = "nodejs.eventloop.delay.p90" + NodejsEventloopDelayP90Unit = "s" + NodejsEventloopDelayP90Description = "Event loop 90 percentile delay." + // NodejsEventloopDelayP99 is the metric conforming to the + // "nodejs.eventloop.delay.p99" semantic conventions. It represents the event + // loop 99 percentile delay + // Instrument: gauge + // Unit: s + // Stability: development + NodejsEventloopDelayP99Name = "nodejs.eventloop.delay.p99" + NodejsEventloopDelayP99Unit = "s" + NodejsEventloopDelayP99Description = "Event loop 99 percentile delay." + // NodejsEventloopUtilization is the metric conforming to the + // "nodejs.eventloop.utilization" semantic conventions. It represents the + // event loop utilization + // Instrument: gauge + // Unit: 1 + // Stability: development + NodejsEventloopUtilizationName = "nodejs.eventloop.utilization" + NodejsEventloopUtilizationUnit = "1" + NodejsEventloopUtilizationDescription = "Event loop utilization." + // NodejsEventloopTime is the metric conforming to the + // "nodejs.eventloop.time" semantic conventions. It represents the cumulative + // duration of time the event loop has been in each state + // Instrument: counter + // Unit: s + // Stability: development + NodejsEventloopTimeName = "nodejs.eventloop.time" + NodejsEventloopTimeUnit = "s" + NodejsEventloopTimeDescription = "Cumulative duration of time the event loop has been in each state." + // ProcessCPUTime is the metric conforming to the "process.cpu.time" semantic + // conventions. It represents the total CPU seconds broken down by different + // states + // Instrument: counter + // Unit: s + // Stability: development + ProcessCPUTimeName = "process.cpu.time" + ProcessCPUTimeUnit = "s" + ProcessCPUTimeDescription = "Total CPU seconds broken down by different states." + // ProcessCPUUtilization is the metric conforming to the + // "process.cpu.utilization" semantic conventions. It represents the + // difference in process.cpu.time since the last measurement, divided by the + // elapsed time and number of CPUs available to the process + // Instrument: gauge + // Unit: 1 + // Stability: development + ProcessCPUUtilizationName = "process.cpu.utilization" + ProcessCPUUtilizationUnit = "1" + ProcessCPUUtilizationDescription = "Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process." + // ProcessMemoryUsage is the metric conforming to the "process.memory.usage" + // semantic conventions. It represents the amount of physical memory in use + // Instrument: updowncounter + // Unit: By + // Stability: development + ProcessMemoryUsageName = "process.memory.usage" + ProcessMemoryUsageUnit = "By" + ProcessMemoryUsageDescription = "The amount of physical memory in use." + // ProcessMemoryVirtual is the metric conforming to the + // "process.memory.virtual" semantic conventions. It represents the amount of + // committed virtual memory + // Instrument: updowncounter + // Unit: By + // Stability: development + ProcessMemoryVirtualName = "process.memory.virtual" + ProcessMemoryVirtualUnit = "By" + ProcessMemoryVirtualDescription = "The amount of committed virtual memory." + // ProcessDiskIo is the metric conforming to the "process.disk.io" semantic + // conventions. It represents the disk bytes transferred + // Instrument: counter + // Unit: By + // Stability: development + ProcessDiskIoName = "process.disk.io" + ProcessDiskIoUnit = "By" + ProcessDiskIoDescription = "Disk bytes transferred." + // ProcessNetworkIo is the metric conforming to the "process.network.io" + // semantic conventions. It represents the network bytes transferred + // Instrument: counter + // Unit: By + // Stability: development + ProcessNetworkIoName = "process.network.io" + ProcessNetworkIoUnit = "By" + ProcessNetworkIoDescription = "Network bytes transferred." + // ProcessThreadCount is the metric conforming to the "process.thread.count" + // semantic conventions. It represents the process threads count + // Instrument: updowncounter + // Unit: {thread} + // Stability: development + ProcessThreadCountName = "process.thread.count" + ProcessThreadCountUnit = "{thread}" + ProcessThreadCountDescription = "Process threads count." + // ProcessOpenFileDescriptorCount is the metric conforming to the + // "process.open_file_descriptor.count" semantic conventions. It represents + // the number of file descriptors in use by the process + // Instrument: updowncounter + // Unit: {count} + // Stability: development + ProcessOpenFileDescriptorCountName = "process.open_file_descriptor.count" + ProcessOpenFileDescriptorCountUnit = "{count}" + ProcessOpenFileDescriptorCountDescription = "Number of file descriptors in use by the process." + // ProcessContextSwitches is the metric conforming to the + // "process.context_switches" semantic conventions. It represents the number + // of times the process has been context switched + // Instrument: counter + // Unit: {count} + // Stability: development + ProcessContextSwitchesName = "process.context_switches" + ProcessContextSwitchesUnit = "{count}" + ProcessContextSwitchesDescription = "Number of times the process has been context switched." + // ProcessPagingFaults is the metric conforming to the + // "process.paging.faults" semantic conventions. It represents the number of + // page faults the process has made + // Instrument: counter + // Unit: {fault} + // Stability: development + ProcessPagingFaultsName = "process.paging.faults" + ProcessPagingFaultsUnit = "{fault}" + ProcessPagingFaultsDescription = "Number of page faults the process has made." + // ProcessUptime is the metric conforming to the "process.uptime" semantic + // conventions. It represents the time the process has been running + // Instrument: gauge + // Unit: s + // Stability: development + ProcessUptimeName = "process.uptime" + ProcessUptimeUnit = "s" + ProcessUptimeDescription = "The time the process has been running." + // RPCServerDuration is the metric conforming to the "rpc.server.duration" + // semantic conventions. It represents the measures the duration of inbound + // RPC + // Instrument: histogram + // Unit: ms + // Stability: development + RPCServerDurationName = "rpc.server.duration" + RPCServerDurationUnit = "ms" + RPCServerDurationDescription = "Measures the duration of inbound RPC." + // RPCServerRequestSize is the metric conforming to the + // "rpc.server.request.size" semantic conventions. It represents the measures + // the size of RPC request messages (uncompressed) + // Instrument: histogram + // Unit: By + // Stability: development + RPCServerRequestSizeName = "rpc.server.request.size" + RPCServerRequestSizeUnit = "By" + RPCServerRequestSizeDescription = "Measures the size of RPC request messages (uncompressed)." + // RPCServerResponseSize is the metric conforming to the + // "rpc.server.response.size" semantic conventions. It represents the + // measures the size of RPC response messages (uncompressed) + // Instrument: histogram + // Unit: By + // Stability: development + RPCServerResponseSizeName = "rpc.server.response.size" + RPCServerResponseSizeUnit = "By" + RPCServerResponseSizeDescription = "Measures the size of RPC response messages (uncompressed)." + // RPCServerRequestsPerRpc is the metric conforming to the + // "rpc.server.requests_per_rpc" semantic conventions. It represents the + // measures the number of messages received per RPC + // Instrument: histogram + // Unit: {count} + // Stability: development + RPCServerRequestsPerRpcName = "rpc.server.requests_per_rpc" + RPCServerRequestsPerRpcUnit = "{count}" + RPCServerRequestsPerRpcDescription = "Measures the number of messages received per RPC." + // RPCServerResponsesPerRpc is the metric conforming to the + // "rpc.server.responses_per_rpc" semantic conventions. It represents the + // measures the number of messages sent per RPC + // Instrument: histogram + // Unit: {count} + // Stability: development + RPCServerResponsesPerRpcName = "rpc.server.responses_per_rpc" + RPCServerResponsesPerRpcUnit = "{count}" + RPCServerResponsesPerRpcDescription = "Measures the number of messages sent per RPC." + // RPCClientDuration is the metric conforming to the "rpc.client.duration" + // semantic conventions. It represents the measures the duration of outbound + // RPC + // Instrument: histogram + // Unit: ms + // Stability: development + RPCClientDurationName = "rpc.client.duration" + RPCClientDurationUnit = "ms" + RPCClientDurationDescription = "Measures the duration of outbound RPC." + // RPCClientRequestSize is the metric conforming to the + // "rpc.client.request.size" semantic conventions. It represents the measures + // the size of RPC request messages (uncompressed) + // Instrument: histogram + // Unit: By + // Stability: development + RPCClientRequestSizeName = "rpc.client.request.size" + RPCClientRequestSizeUnit = "By" + RPCClientRequestSizeDescription = "Measures the size of RPC request messages (uncompressed)." + // RPCClientResponseSize is the metric conforming to the + // "rpc.client.response.size" semantic conventions. It represents the + // measures the size of RPC response messages (uncompressed) + // Instrument: histogram + // Unit: By + // Stability: development + RPCClientResponseSizeName = "rpc.client.response.size" + RPCClientResponseSizeUnit = "By" + RPCClientResponseSizeDescription = "Measures the size of RPC response messages (uncompressed)." + // RPCClientRequestsPerRpc is the metric conforming to the + // "rpc.client.requests_per_rpc" semantic conventions. It represents the + // measures the number of messages received per RPC + // Instrument: histogram + // Unit: {count} + // Stability: development + RPCClientRequestsPerRpcName = "rpc.client.requests_per_rpc" + RPCClientRequestsPerRpcUnit = "{count}" + RPCClientRequestsPerRpcDescription = "Measures the number of messages received per RPC." + // RPCClientResponsesPerRpc is the metric conforming to the + // "rpc.client.responses_per_rpc" semantic conventions. It represents the + // measures the number of messages sent per RPC + // Instrument: histogram + // Unit: {count} + // Stability: development + RPCClientResponsesPerRpcName = "rpc.client.responses_per_rpc" + RPCClientResponsesPerRpcUnit = "{count}" + RPCClientResponsesPerRpcDescription = "Measures the number of messages sent per RPC." + // SignalrServerConnectionDuration is the metric conforming to the + // "signalr.server.connection.duration" semantic conventions. It represents + // the duration of connections on the server + // Instrument: histogram + // Unit: s + // Stability: stable + SignalrServerConnectionDurationName = "signalr.server.connection.duration" + SignalrServerConnectionDurationUnit = "s" + SignalrServerConnectionDurationDescription = "The duration of connections on the server." + // SignalrServerActiveConnections is the metric conforming to the + // "signalr.server.active_connections" semantic conventions. It represents + // the number of connections that are currently active on the server + // Instrument: updowncounter + // Unit: {connection} + // Stability: stable + SignalrServerActiveConnectionsName = "signalr.server.active_connections" + SignalrServerActiveConnectionsUnit = "{connection}" + SignalrServerActiveConnectionsDescription = "Number of connections that are currently active on the server." + // SystemUptime is the metric conforming to the "system.uptime" semantic + // conventions. It represents the time the system has been running + // Instrument: gauge + // Unit: s + // Stability: development + SystemUptimeName = "system.uptime" + SystemUptimeUnit = "s" + SystemUptimeDescription = "The time the system has been running" + // SystemCPUTime is the metric conforming to the "system.cpu.time" semantic + // conventions. It represents the seconds each logical CPU spent on each mode + // Instrument: counter + // Unit: s + // Stability: development + SystemCPUTimeName = "system.cpu.time" + SystemCPUTimeUnit = "s" + SystemCPUTimeDescription = "Seconds each logical CPU spent on each mode" + // SystemCPUUtilization is the metric conforming to the + // "system.cpu.utilization" semantic conventions. It represents the + // difference in system.cpu.time since the last measurement, divided by the + // elapsed time and number of logical CPUs + // Instrument: gauge + // Unit: 1 + // Stability: development + SystemCPUUtilizationName = "system.cpu.utilization" + SystemCPUUtilizationUnit = "1" + SystemCPUUtilizationDescription = "Difference in system.cpu.time since the last measurement, divided by the elapsed time and number of logical CPUs" + // SystemCPUFrequency is the metric conforming to the "system.cpu.frequency" + // semantic conventions. It represents the reports the current frequency of + // the CPU in Hz + // Instrument: gauge + // Unit: {Hz} + // Stability: development + SystemCPUFrequencyName = "system.cpu.frequency" + SystemCPUFrequencyUnit = "{Hz}" + SystemCPUFrequencyDescription = "Reports the current frequency of the CPU in Hz" + // SystemCPUPhysicalCount is the metric conforming to the + // "system.cpu.physical.count" semantic conventions. It represents the + // reports the number of actual physical processor cores on the hardware + // Instrument: updowncounter + // Unit: {cpu} + // Stability: development + SystemCPUPhysicalCountName = "system.cpu.physical.count" + SystemCPUPhysicalCountUnit = "{cpu}" + SystemCPUPhysicalCountDescription = "Reports the number of actual physical processor cores on the hardware" + // SystemCPULogicalCount is the metric conforming to the + // "system.cpu.logical.count" semantic conventions. It represents the reports + // the number of logical (virtual) processor cores created by the operating + // system to manage multitasking + // Instrument: updowncounter + // Unit: {cpu} + // Stability: development + SystemCPULogicalCountName = "system.cpu.logical.count" + SystemCPULogicalCountUnit = "{cpu}" + SystemCPULogicalCountDescription = "Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking" + // SystemMemoryUsage is the metric conforming to the "system.memory.usage" + // semantic conventions. It represents the reports memory in use by state + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemMemoryUsageName = "system.memory.usage" + SystemMemoryUsageUnit = "By" + SystemMemoryUsageDescription = "Reports memory in use by state." + // SystemMemoryLimit is the metric conforming to the "system.memory.limit" + // semantic conventions. It represents the total memory available in the + // system + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemMemoryLimitName = "system.memory.limit" + SystemMemoryLimitUnit = "By" + SystemMemoryLimitDescription = "Total memory available in the system." + // SystemMemoryShared is the metric conforming to the "system.memory.shared" + // semantic conventions. It represents the shared memory used (mostly by + // tmpfs) + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemMemorySharedName = "system.memory.shared" + SystemMemorySharedUnit = "By" + SystemMemorySharedDescription = "Shared memory used (mostly by tmpfs)." + // SystemMemoryUtilization is the metric conforming to the + // "system.memory.utilization" semantic conventions + // Instrument: gauge + // Unit: 1 + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemMemoryUtilizationName = "system.memory.utilization" + SystemMemoryUtilizationUnit = "1" + // SystemPagingUsage is the metric conforming to the "system.paging.usage" + // semantic conventions. It represents the unix swap or windows pagefile + // usage + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemPagingUsageName = "system.paging.usage" + SystemPagingUsageUnit = "By" + SystemPagingUsageDescription = "Unix swap or windows pagefile usage" + // SystemPagingUtilization is the metric conforming to the + // "system.paging.utilization" semantic conventions + // Instrument: gauge + // Unit: 1 + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemPagingUtilizationName = "system.paging.utilization" + SystemPagingUtilizationUnit = "1" + // SystemPagingFaults is the metric conforming to the "system.paging.faults" + // semantic conventions + // Instrument: counter + // Unit: {fault} + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemPagingFaultsName = "system.paging.faults" + SystemPagingFaultsUnit = "{fault}" + // SystemPagingOperations is the metric conforming to the + // "system.paging.operations" semantic conventions + // Instrument: counter + // Unit: {operation} + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemPagingOperationsName = "system.paging.operations" + SystemPagingOperationsUnit = "{operation}" + // SystemDiskIo is the metric conforming to the "system.disk.io" semantic + // conventions + // Instrument: counter + // Unit: By + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemDiskIoName = "system.disk.io" + SystemDiskIoUnit = "By" + // SystemDiskOperations is the metric conforming to the + // "system.disk.operations" semantic conventions + // Instrument: counter + // Unit: {operation} + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemDiskOperationsName = "system.disk.operations" + SystemDiskOperationsUnit = "{operation}" + // SystemDiskIoTime is the metric conforming to the "system.disk.io_time" + // semantic conventions. It represents the time disk spent activated + // Instrument: counter + // Unit: s + // Stability: development + SystemDiskIoTimeName = "system.disk.io_time" + SystemDiskIoTimeUnit = "s" + SystemDiskIoTimeDescription = "Time disk spent activated" + // SystemDiskOperationTime is the metric conforming to the + // "system.disk.operation_time" semantic conventions. It represents the sum + // of the time each operation took to complete + // Instrument: counter + // Unit: s + // Stability: development + SystemDiskOperationTimeName = "system.disk.operation_time" + SystemDiskOperationTimeUnit = "s" + SystemDiskOperationTimeDescription = "Sum of the time each operation took to complete" + // SystemDiskMerged is the metric conforming to the "system.disk.merged" + // semantic conventions + // Instrument: counter + // Unit: {operation} + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemDiskMergedName = "system.disk.merged" + SystemDiskMergedUnit = "{operation}" + // SystemDiskLimit is the metric conforming to the "system.disk.limit" + // semantic conventions. It represents the total storage capacity of the disk + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemDiskLimitName = "system.disk.limit" + SystemDiskLimitUnit = "By" + SystemDiskLimitDescription = "The total storage capacity of the disk" + // SystemFilesystemUsage is the metric conforming to the + // "system.filesystem.usage" semantic conventions. It represents the reports + // a filesystem's space usage across different states + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemFilesystemUsageName = "system.filesystem.usage" + SystemFilesystemUsageUnit = "By" + SystemFilesystemUsageDescription = "Reports a filesystem's space usage across different states." + // SystemFilesystemUtilization is the metric conforming to the + // "system.filesystem.utilization" semantic conventions + // Instrument: gauge + // Unit: 1 + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemFilesystemUtilizationName = "system.filesystem.utilization" + SystemFilesystemUtilizationUnit = "1" + // SystemFilesystemLimit is the metric conforming to the + // "system.filesystem.limit" semantic conventions. It represents the total + // storage capacity of the filesystem + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemFilesystemLimitName = "system.filesystem.limit" + SystemFilesystemLimitUnit = "By" + SystemFilesystemLimitDescription = "The total storage capacity of the filesystem" + // SystemNetworkDropped is the metric conforming to the + // "system.network.dropped" semantic conventions. It represents the count of + // packets that are dropped or discarded even though there was no error + // Instrument: counter + // Unit: {packet} + // Stability: development + SystemNetworkDroppedName = "system.network.dropped" + SystemNetworkDroppedUnit = "{packet}" + SystemNetworkDroppedDescription = "Count of packets that are dropped or discarded even though there was no error" + // SystemNetworkPackets is the metric conforming to the + // "system.network.packets" semantic conventions + // Instrument: counter + // Unit: {packet} + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemNetworkPacketsName = "system.network.packets" + SystemNetworkPacketsUnit = "{packet}" + // SystemNetworkErrors is the metric conforming to the + // "system.network.errors" semantic conventions. It represents the count of + // network errors detected + // Instrument: counter + // Unit: {error} + // Stability: development + SystemNetworkErrorsName = "system.network.errors" + SystemNetworkErrorsUnit = "{error}" + SystemNetworkErrorsDescription = "Count of network errors detected" + // SystemNetworkIo is the metric conforming to the "system.network.io" + // semantic conventions + // Instrument: counter + // Unit: By + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemNetworkIoName = "system.network.io" + SystemNetworkIoUnit = "By" + // SystemNetworkConnections is the metric conforming to the + // "system.network.connections" semantic conventions + // Instrument: updowncounter + // Unit: {connection} + // Stability: development + // NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository. + SystemNetworkConnectionsName = "system.network.connections" + SystemNetworkConnectionsUnit = "{connection}" + // SystemProcessCount is the metric conforming to the "system.process.count" + // semantic conventions. It represents the total number of processes in each + // state + // Instrument: updowncounter + // Unit: {process} + // Stability: development + SystemProcessCountName = "system.process.count" + SystemProcessCountUnit = "{process}" + SystemProcessCountDescription = "Total number of processes in each state" + // SystemProcessCreated is the metric conforming to the + // "system.process.created" semantic conventions. It represents the total + // number of processes created over uptime of the host + // Instrument: counter + // Unit: {process} + // Stability: development + SystemProcessCreatedName = "system.process.created" + SystemProcessCreatedUnit = "{process}" + SystemProcessCreatedDescription = "Total number of processes created over uptime of the host" + // SystemLinuxMemoryAvailable is the metric conforming to the + // "system.linux.memory.available" semantic conventions. It represents an + // estimate of how much memory is available for starting new applications, + // without causing swapping + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemLinuxMemoryAvailableName = "system.linux.memory.available" + SystemLinuxMemoryAvailableUnit = "By" + SystemLinuxMemoryAvailableDescription = "An estimate of how much memory is available for starting new applications, without causing swapping" + // SystemLinuxMemorySlabUsage is the metric conforming to the + // "system.linux.memory.slab.usage" semantic conventions. It represents the + // reports the memory used by the Linux kernel for managing caches of + // frequently used objects + // Instrument: updowncounter + // Unit: By + // Stability: development + SystemLinuxMemorySlabUsageName = "system.linux.memory.slab.usage" + SystemLinuxMemorySlabUsageUnit = "By" + SystemLinuxMemorySlabUsageDescription = "Reports the memory used by the Linux kernel for managing caches of frequently used objects." + // V8JSGCDuration is the metric conforming to the "v8js.gc.duration" semantic + // conventions. It represents the garbage collection duration + // Instrument: histogram + // Unit: s + // Stability: development + V8JSGCDurationName = "v8js.gc.duration" + V8JSGCDurationUnit = "s" + V8JSGCDurationDescription = "Garbage collection duration." + // V8JSMemoryHeapLimit is the metric conforming to the + // "v8js.memory.heap.limit" semantic conventions. It represents the total + // heap memory size pre-allocated + // Instrument: updowncounter + // Unit: By + // Stability: development + V8JSMemoryHeapLimitName = "v8js.memory.heap.limit" + V8JSMemoryHeapLimitUnit = "By" + V8JSMemoryHeapLimitDescription = "Total heap memory size pre-allocated." + // V8JSMemoryHeapUsed is the metric conforming to the "v8js.memory.heap.used" + // semantic conventions. It represents the heap Memory size allocated + // Instrument: updowncounter + // Unit: By + // Stability: development + V8JSMemoryHeapUsedName = "v8js.memory.heap.used" + V8JSMemoryHeapUsedUnit = "By" + V8JSMemoryHeapUsedDescription = "Heap Memory size allocated." + // V8JSHeapSpaceAvailableSize is the metric conforming to the + // "v8js.heap.space.available_size" semantic conventions. It represents the + // heap space available size + // Instrument: updowncounter + // Unit: By + // Stability: development + V8JSHeapSpaceAvailableSizeName = "v8js.heap.space.available_size" + V8JSHeapSpaceAvailableSizeUnit = "By" + V8JSHeapSpaceAvailableSizeDescription = "Heap space available size." + // V8JSHeapSpacePhysicalSize is the metric conforming to the + // "v8js.heap.space.physical_size" semantic conventions. It represents the + // committed size of a heap space + // Instrument: updowncounter + // Unit: By + // Stability: development + V8JSHeapSpacePhysicalSizeName = "v8js.heap.space.physical_size" + V8JSHeapSpacePhysicalSizeUnit = "By" + V8JSHeapSpacePhysicalSizeDescription = "Committed size of a heap space." + // VCSChangeCount is the metric conforming to the "vcs.change.count" semantic + // conventions. It represents the number of changes (pull requests/merge + // requests/changelists) in a repository, categorized by their state (e.g. + // open or merged) + // Instrument: updowncounter + // Unit: {change} + // Stability: development + VCSChangeCountName = "vcs.change.count" + VCSChangeCountUnit = "{change}" + VCSChangeCountDescription = "The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged)" + // VCSChangeDuration is the metric conforming to the "vcs.change.duration" + // semantic conventions. It represents the time duration a change (pull + // request/merge request/changelist) has been in a given state + // Instrument: gauge + // Unit: s + // Stability: development + VCSChangeDurationName = "vcs.change.duration" + VCSChangeDurationUnit = "s" + VCSChangeDurationDescription = "The time duration a change (pull request/merge request/changelist) has been in a given state." + // VCSChangeTimeToApproval is the metric conforming to the + // "vcs.change.time_to_approval" semantic conventions. It represents the + // amount of time since its creation it took a change (pull request/merge + // request/changelist) to get the first approval + // Instrument: gauge + // Unit: s + // Stability: development + VCSChangeTimeToApprovalName = "vcs.change.time_to_approval" + VCSChangeTimeToApprovalUnit = "s" + VCSChangeTimeToApprovalDescription = "The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval." + // VCSChangeTimeToMerge is the metric conforming to the + // "vcs.change.time_to_merge" semantic conventions. It represents the amount + // of time since its creation it took a change (pull request/merge + // request/changelist) to get merged into the target(base) ref + // Instrument: gauge + // Unit: s + // Stability: development + VCSChangeTimeToMergeName = "vcs.change.time_to_merge" + VCSChangeTimeToMergeUnit = "s" + VCSChangeTimeToMergeDescription = "The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref." + // VCSRepositoryCount is the metric conforming to the "vcs.repository.count" + // semantic conventions. It represents the number of repositories in an + // organization + // Instrument: updowncounter + // Unit: {repository} + // Stability: development + VCSRepositoryCountName = "vcs.repository.count" + VCSRepositoryCountUnit = "{repository}" + VCSRepositoryCountDescription = "The number of repositories in an organization." + // VCSRefCount is the metric conforming to the "vcs.ref.count" semantic + // conventions. It represents the number of refs of type branch or tag in a + // repository + // Instrument: updowncounter + // Unit: {ref} + // Stability: development + VCSRefCountName = "vcs.ref.count" + VCSRefCountUnit = "{ref}" + VCSRefCountDescription = "The number of refs of type branch or tag in a repository." + // VCSRefLinesDelta is the metric conforming to the "vcs.ref.lines_delta" + // semantic conventions. It represents the number of lines added/removed in a + // ref (branch) relative to the ref from the `vcs.ref.base.name` attribute + // Instrument: gauge + // Unit: {line} + // Stability: development + VCSRefLinesDeltaName = "vcs.ref.lines_delta" + VCSRefLinesDeltaUnit = "{line}" + VCSRefLinesDeltaDescription = "The number of lines added/removed in a ref (branch) relative to the ref from the `vcs.ref.base.name` attribute." + // VCSRefRevisionsDelta is the metric conforming to the + // "vcs.ref.revisions_delta" semantic conventions. It represents the number + // of revisions (commits) a ref (branch) is ahead/behind the branch from the + // `vcs.ref.base.name` attribute + // Instrument: gauge + // Unit: {revision} + // Stability: development + VCSRefRevisionsDeltaName = "vcs.ref.revisions_delta" + VCSRefRevisionsDeltaUnit = "{revision}" + VCSRefRevisionsDeltaDescription = "The number of revisions (commits) a ref (branch) is ahead/behind the branch from the `vcs.ref.base.name` attribute" + // VCSRefTime is the metric conforming to the "vcs.ref.time" semantic + // conventions. It represents the time a ref (branch) created from the + // default branch (trunk) has existed. The `ref.type` attribute will always + // be `branch` + // Instrument: gauge + // Unit: s + // Stability: development + VCSRefTimeName = "vcs.ref.time" + VCSRefTimeUnit = "s" + VCSRefTimeDescription = "Time a ref (branch) created from the default branch (trunk) has existed. The `ref.type` attribute will always be `branch`" + // VCSContributorCount is the metric conforming to the + // "vcs.contributor.count" semantic conventions. It represents the number of + // unique contributors to a repository + // Instrument: gauge + // Unit: {contributor} + // Stability: development + VCSContributorCountName = "vcs.contributor.count" + VCSContributorCountUnit = "{contributor}" + VCSContributorCountDescription = "The number of unique contributors to a repository" +) \ No newline at end of file diff --git a/semconv/weaver.yaml b/semconv/weaver.yaml new file mode 100644 index 00000000000..421d8028367 --- /dev/null +++ b/semconv/weaver.yaml @@ -0,0 +1,165 @@ +params: + excluded_namespaces: [] + excluded_attributes: ["messaging.client_id"] +templates: + - pattern: attribute_group.go.j2 + filter: > + semconv_grouped_attributes({ + "exclude_deprecated": false, + "exclude_root_namespace": $excluded_namespaces, + }) + | map({ + root_namespace: .root_namespace, + attributes: .attributes | map(select(.name as $st | $excluded_attributes[] | index($st) | not)), + }) + application_mode: single + file_name: attribute_group.go + - pattern: metric.go.j2 + filter: > + semconv_metrics({ + "exclude_root_namespace": $excluded_namespaces, + }) + application_mode: single + file_name: metric.go +comment_formats: + go: + format: markdown + prefix: "// " + indent_first_level_list_items: true + shortcut_reference_link: true + trim: true + remove_trailing_dots: true + word_wrap: + line_length: 78 + go_1tab: + format: markdown + prefix: " // " + indent_first_level_list_items: true + shortcut_reference_link: true + trim: true + remove_trailing_dots: true + word_wrap: + line_length: 78 +default_comment_format: go +text_maps: + attribute_type_method: + string: String + string[]: StringSlice + int: Int + int[]: IntSlice + double: Float64 + double[]: FloatSlice + boolean: Bool + boolean[]: BoolSlice + attribute_type_value: + string: string + string[]: "...string" + int: int + int[]: "...int" + double: float64 + double[]: "...float64" + boolean: bool + boolean[]: "...bool" +acronyms: + - ACL + - AI + - AIX + - AKS + - AMD64 + - API + - ARM32 + - ARM64 + - ARN + - ARNs + - ASCII + - ASPNETCore + - AWS + - CICD + - CPP + - CPU + - CSS + - CosmosDB + - CouchDB + - CronJob + - DB + - DC + - DNS + - DaemonSet + - DragonflyBSD + - DynamoDB + - EC2 + - ECS + - EDB + - EKS + - EOF + - FaaS + - FirstSQL + - FreeBSD + - GC + - GCP + - GRPC + - GUID + - HBase + - HPUX + - HSQLDB + - HTML + - HTTP + - HTTPS + - HanaDB + - IA64 + - ID + - IP + - InProc + - InstantDB + - JDBC + - JSON + - JVM + - K8S + - LHS + - MSSQL + - MariaDB + - MaxDB + - MongoDB + - MySQL + - NetBSD + - OS + - OTel + - OpenBSD + - PHP + - PID + - PPC32 + - PPC64 + - PostgreSQL + - QPS + - QUIC + - RAM + - RHS + - RPC + - ReplicaSet + - SDK + - SLA + - SMTP + - SPDY + - SQL + - SSH + - StatefulSet + - TCP + - TLS + - TTL + - UDP + - UI + - UID + - URI + - URL + - UTF8 + - UUID + - V8JS + - VCS + - VM + - WebEngine + - XML + - XMPP + - XSRF + - XSS + - ZOS +