diff --git a/semantic_conventions/Rakefile b/semantic_conventions/Rakefile index 495f9e28b..ee038188f 100644 --- a/semantic_conventions/Rakefile +++ b/semantic_conventions/Rakefile @@ -47,7 +47,7 @@ task default: default_tasks desc 'update semantic conventions' task generate: %i[update_spec_version_constant generate_require_rollups] -SPEC_VERSION = '1.41.1' +SPEC_VERSION = '1.42.0' OTEL_WEAVER_VERSION = 'v0.22.1' semconv_source_dir = Pathname.new('./tmp/semconvrepo') semconv_output_dir = Pathname.new('./lib/opentelemetry/semconv') diff --git a/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb b/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb index 6afb5bbc4..fbe86c4bb 100644 --- a/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb +++ b/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module SemanticConventions # Version of the OpenTelemetry Semantic Conventions from which this library was generated. - SPEC_VERSION = '1.41.1' + SPEC_VERSION = '1.42.0' # Release version of this gem. May not match SPEC_VERSION until gem is released after a spec update. VERSION = '1.41.0' end diff --git a/semantic_conventions/lib/opentelemetry/semconv/container.rb b/semantic_conventions/lib/opentelemetry/semconv/container.rb new file mode 100644 index 000000000..64ba0a98f --- /dev/null +++ b/semantic_conventions/lib/opentelemetry/semconv/container.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +# This file was autogenerated. Do not edit it by hand. + +require_relative 'container/attributes' diff --git a/semantic_conventions/lib/opentelemetry/semconv/container/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/container/attributes.rb new file mode 100644 index 000000000..8b4d632d6 --- /dev/null +++ b/semantic_conventions/lib/opentelemetry/semconv/container/attributes.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# +# This file was autogenerated. Do not edit it by hand. + +module OpenTelemetry + module SemConv + module CONTAINER + # @!group Attribute Names + + # Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. + # + # @note Stability Level: stable + CONTAINER_ID = 'container.id' + + # Name of the image the container was built on. + # + # @note Stability Level: stable + CONTAINER_IMAGE_NAME = 'container.image.name' + + # Repo digests of the container image as provided by the container runtime. + # + # [Docker](https://docs.docker.com/reference/api/engine/version/v1.52/#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. + # + # @note Stability Level: stable + CONTAINER_IMAGE_REPO_DIGESTS = 'container.image.repo_digests' + + # Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. + # + # @note Stability Level: stable + CONTAINER_IMAGE_TAGS = 'container.image.tags' + + # @!endgroup + end + end +end diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/android/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/android/attributes.rb index 109802013..76d10c732 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/android/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/android/attributes.rb @@ -26,7 +26,7 @@ module ANDROID # This attribute represents the state of the application. # - # 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. + # The Android lifecycle states are defined in [Activity lifecycle callbacks](https://developer.android.com/guide/components/activities/activity-lifecycle#lifecycle-callbacks), and from which the `OS identifiers` are derived. # # @note Stability Level: development ANDROID_APP_STATE = 'android.app.state' diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/app/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/app/attributes.rb index b06ffd5ac..2613019ce 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/app/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/app/attributes.rb @@ -29,6 +29,16 @@ module APP # @note Stability Level: development APP_BUILD_ID = 'app.build_id' + # A unique identifier representing an instance of an end-user facing app crash. + # + # Its value MAY be meaningful and be used as a reference for telemetry and metadata recorded by + # the same instrumentation (e.g. it is an ID generated by an external source that captured the crash). + # It MAY come from a source external to the instrumentation such that it can be used to look up additional + # data from other sources as well as facilitate deduplication. + # + # @note Stability Level: development + APP_CRASH_ID = 'app.crash.id' + # A unique identifier representing the installation of an application on a specific device # # Its value SHOULD persist across launches of the same application installation, including through application upgrades. diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/browser/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/browser/attributes.rb index 8e49f958e..ad6d02289 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/browser/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/browser/attributes.rb @@ -31,6 +31,11 @@ module BROWSER # @note Stability Level: development BROWSER_BRANDS = 'browser.brands' + # Absolute URL of the current browser document according to [RFC3986](https://www.rfc-editor.org/rfc/rfc3986). + # + # @note Stability Level: development + BROWSER_DOCUMENT_URL_FULL = 'browser.document.url.full' + # Preferred language of the user using the browser # # This value is intended to be taken from the Navigator API `navigator.language`. diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/attributes.rb index fb7134808..20bbbbfc3 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/attributes.rb @@ -81,22 +81,22 @@ module CICD # @note Stability Level: development CICD_PIPELINE_TASK_TYPE = 'cicd.pipeline.task.type' - # The name of a component of the CICD system. + # The name of a component of the CI/CD system. # # @note Stability Level: development CICD_SYSTEM_COMPONENT = 'cicd.system.component' - # The unique identifier of a worker within a CICD system. + # The unique identifier of a worker within a CI/CD system. # # @note Stability Level: development CICD_WORKER_ID = 'cicd.worker.id' - # The name of a worker within a CICD system. + # The name of a worker within a CI/CD system. # # @note Stability Level: development CICD_WORKER_NAME = 'cicd.worker.name' - # The state of a CICD worker / agent. + # The state of a CI/CD worker / agent. # # @note Stability Level: development CICD_WORKER_STATE = 'cicd.worker.state' diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/metrics.rb index 33e059e7a..e6248384c 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/cicd/metrics.rb @@ -42,14 +42,14 @@ module CICD # @note Stability Level: development CICD_PIPELINE_RUN_ERRORS = 'cicd.pipeline.run.errors' - # The number of errors in a component of the CICD system (eg. controller, scheduler, agent). + # The number of errors in a component of the CI/CD system (eg. controller, scheduler, agent). # # Errors in pipeline run execution are explicitly excluded. Ie a test failure is not counted in this metric. # # @note Stability Level: development CICD_SYSTEM_ERRORS = 'cicd.system.errors' - # The number of workers on the CICD system by state. + # The number of workers on the CI/CD system by state. # # @note Stability Level: development CICD_WORKER_COUNT = 'cicd.worker.count' diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/container/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/container/attributes.rb index 5e65aa4e4..9bfcd2ece 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/container/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/container/attributes.rb @@ -63,7 +63,9 @@ module CONTAINER # Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification). The UUID might be abbreviated. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::CONTAINER::CONTAINER_ID}. CONTAINER_ID = 'container.id' # Runtime specific image identifier. Usually a hash algorithm followed by a UUID. @@ -77,19 +79,25 @@ module CONTAINER # Name of the image the container was built on. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::CONTAINER::CONTAINER_IMAGE_NAME}. CONTAINER_IMAGE_NAME = 'container.image.name' # Repo digests of the container image as provided by the container runtime. # # [Docker](https://docs.docker.com/reference/api/engine/version/v1.52/#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. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::CONTAINER::CONTAINER_IMAGE_REPO_DIGESTS}. CONTAINER_IMAGE_REPO_DIGESTS = 'container.image.repo_digests' # Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageInspect). Should be only the `` section of the full name for example from `registry.example.com/my-org/my-image:`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::CONTAINER::CONTAINER_IMAGE_TAGS}. CONTAINER_IMAGE_TAGS = 'container.image.tags' # Must be called with a key for the full attribute name. See notes below about the expectations diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/container/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/container/metrics.rb index e078c6fcf..3ef9acd4e 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/container/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/container/metrics.rb @@ -24,11 +24,11 @@ module Incubating module CONTAINER # @!group Metrics Names - # Total CPU time consumed. + # CPU time consumed. # - # Total CPU time consumed by the specific container on all available CPU cores + # CPU time consumed by the specific container on all available CPU cores # - # @note Stability Level: development + # @note Stability Level: release_candidate CONTAINER_CPU_TIME = 'container.cpu.time' # Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs. diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/cpu/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/cpu/attributes.rb index 9d10747d2..116b87547 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/cpu/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/cpu/attributes.rb @@ -31,7 +31,7 @@ module CPU # The mode of the CPU # - # @note Stability Level: development + # @note Stability Level: release_candidate CPU_MODE = 'cpu.mode' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/file/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/file/attributes.rb index a40ad7908..0e982b933 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/file/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/file/attributes.rb @@ -87,6 +87,21 @@ module FILE # @note Stability Level: development FILE_INODE = 'file.inode' + # The lock mechanism such as noted by [POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html) + # + # @note Stability Level: development + FILE_LOCK_MECHANISM = 'file.lock.mechanism' + + # Mode of lock or operation such as documented by [POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html) + # + # @note Stability Level: development + FILE_LOCK_MODE = 'file.lock.mode' + + # The lock type as represented by i.e. [POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html)'s l_type. + # + # @note Stability Level: development + FILE_LOCK_TYPE = 'file.lock.type' + # Mode of the file in octal representation. # # @note Stability Level: development diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/gcp/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/gcp/attributes.rb index ba1c83d2c..5379bba01 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/gcp/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/gcp/attributes.rb @@ -144,6 +144,19 @@ module GCP # @note Stability Level: development GCP_GCE_INSTANCE_HOSTNAME = 'gcp.gce.instance.hostname' + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # GCP_GCE_INSTANCE_LABELS_LAMBDA.call('some-cool-key') #=> 'gcp.gce.instance.labels.some-cool-key' + # + # GCE instance labels, `` being the label name and the value being the label value. + # + # For example, a GCE instance label `team` with value `observability` SHOULD be recorded as the `gcp.gce.instance.labels.team` attribute with value `"observability"`. The `` MUST be the exact GCE instance label key. + # + # @note Stability Level: development + GCP_GCE_INSTANCE_LABELS_LAMBDA = ->(key) { "gcp.gce.instance.labels.#{key}" } + # 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). # # @note Stability Level: development diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/attributes.rb index f677430b5..0d668587b 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/attributes.rb @@ -27,21 +27,25 @@ module GEN_AI # Free-form description of the GenAI agent provided by the application. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_AGENT_DESCRIPTION = 'gen_ai.agent.description' # The unique identifier of the GenAI agent. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_AGENT_ID = 'gen_ai.agent.id' # Human-readable name of the GenAI agent provided by the application. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_AGENT_NAME = 'gen_ai.agent.name' # The version of the GenAI agent. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_AGENT_VERSION = 'gen_ai.agent.version' # Deprecated, use Event API to report completions contents. @@ -53,6 +57,7 @@ module GEN_AI # The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_CONVERSATION_ID = 'gen_ai.conversation.id' # The data source identifier. @@ -60,21 +65,25 @@ module GEN_AI # Data sources are used by AI agents and RAG applications to store grounding data. A data source may be an external database, object store, document collection, website, or any other storage system used by the GenAI agent or application. The `gen_ai.data_source.id` SHOULD match the identifier used by the GenAI system rather than a name specific to the external storage, such as a database or object store. Semantic conventions referencing `gen_ai.data_source.id` MAY also leverage additional attributes, such as `db.*`, to further identify and describe the data source. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_DATA_SOURCE_ID = 'gen_ai.data_source.id' # The number of dimensions the resulting output embeddings should have. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_EMBEDDINGS_DIMENSION_COUNT = 'gen_ai.embeddings.dimension.count' # A free-form explanation for the assigned score provided by the evaluator. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_EVALUATION_EXPLANATION = 'gen_ai.evaluation.explanation' # The name of the evaluation metric used for the GenAI response. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_EVALUATION_NAME = 'gen_ai.evaluation.name' # Human readable label for evaluation. @@ -82,16 +91,18 @@ module GEN_AI # This attribute provides a human-readable interpretation of the evaluation score produced by an evaluator. For example, a score value of 1 could mean "relevant" in one evaluation system and "not relevant" in another, depending on the scoring range and evaluator. The label SHOULD have low cardinality. Possible values depend on the evaluation metric and evaluator used; implementations SHOULD document the possible values. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_EVALUATION_SCORE_LABEL = 'gen_ai.evaluation.score.label' # The evaluation score returned by the evaluator. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_EVALUATION_SCORE_VALUE = 'gen_ai.evaluation.score.value' # The chat history provided to the model as an input. # - # Instrumentations MUST follow [Input messages JSON schema](/docs/gen-ai/gen-ai-input-messages.json). + # Instrumentations MUST follow [Input messages JSON schema](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-input-messages.json). # When the attribute is recorded on events, it MUST be recorded in structured # form. When recorded on spans, it MAY be recorded as a JSON string if structured # format is not supported and SHOULD be recorded in structured form otherwise. @@ -103,40 +114,41 @@ module GEN_AI # > [!Warning] # > This attribute is likely to contain sensitive information including user/PII data. # - # See [Recording content on attributes](/docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes) + # See [Recording content on attributes](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes) # section for more details. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_INPUT_MESSAGES = 'gen_ai.input.messages' # Deprecated, use `gen_ai.output.type`. # # @note Stability Level: development - # @deprecated Replaced by `gen_ai.output.type`. + # @deprecated Replaced by `gen_ai.output.type`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OPENAI_REQUEST_RESPONSE_FORMAT = 'gen_ai.openai.request.response_format' # Deprecated, use `gen_ai.request.seed`. # # @note Stability Level: development - # @deprecated Replaced by `gen_ai.request.seed`. + # @deprecated Replaced by `gen_ai.request.seed`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OPENAI_REQUEST_SEED = 'gen_ai.openai.request.seed' # Deprecated, use `openai.request.service_tier`. # # @note Stability Level: development - # @deprecated Replaced by `openai.request.service_tier`. + # @deprecated Replaced by `openai.request.service_tier`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OPENAI_REQUEST_SERVICE_TIER = 'gen_ai.openai.request.service_tier' # Deprecated, use `openai.response.service_tier`. # # @note Stability Level: development - # @deprecated Replaced by `openai.response.service_tier`. + # @deprecated Replaced by `openai.response.service_tier`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OPENAI_RESPONSE_SERVICE_TIER = 'gen_ai.openai.response.service_tier' # Deprecated, use `openai.response.system_fingerprint`. # # @note Stability Level: development - # @deprecated Replaced by `openai.response.system_fingerprint`. + # @deprecated Replaced by `openai.response.system_fingerprint`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OPENAI_RESPONSE_SYSTEM_FINGERPRINT = 'gen_ai.openai.response.system_fingerprint' # The name of the operation being performed. @@ -144,11 +156,12 @@ module GEN_AI # 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. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OPERATION_NAME = 'gen_ai.operation.name' # Messages returned by the model where each message represents a specific model response (choice, candidate). # - # Instrumentations MUST follow [Output messages JSON schema](/docs/gen-ai/gen-ai-output-messages.json) + # Instrumentations MUST follow [Output messages JSON schema](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-output-messages.json) # # Each message represents a single output choice/candidate generated by # the model. Each message corresponds to exactly one generation @@ -165,10 +178,11 @@ module GEN_AI # > [!Warning] # > This attribute is likely to contain sensitive information including user/PII data. # - # See [Recording content on attributes](/docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes) + # See [Recording content on attributes](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes) # section for more details. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OUTPUT_MESSAGES = 'gen_ai.output.messages' # Represents the content type requested by the client. @@ -178,6 +192,7 @@ module GEN_AI # Additional output format details may be recorded in the future in the `gen_ai.output.{type}.*` attributes. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_OUTPUT_TYPE = 'gen_ai.output.type' # Deprecated, use Event API to report prompt contents. @@ -189,6 +204,7 @@ module GEN_AI # The name of the prompt that uniquely identifies it. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_PROMPT_NAME = 'gen_ai.prompt.name' # The Generative AI provider as identified by the client or server instrumentation. @@ -213,11 +229,13 @@ module GEN_AI # `openai.*` attributes. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_PROVIDER_NAME = 'gen_ai.provider.name' # The target number of candidate completions to return. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_CHOICE_COUNT = 'gen_ai.request.choice.count' # The encoding formats requested in an embeddings operation, if specified. @@ -225,81 +243,96 @@ module GEN_AI # In some GenAI systems the encoding formats are called embedding types. Also, some GenAI systems only accept a single format per request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_ENCODING_FORMATS = 'gen_ai.request.encoding_formats' # The frequency penalty setting for the GenAI request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_FREQUENCY_PENALTY = 'gen_ai.request.frequency_penalty' # The maximum number of tokens the model generates for a request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_MAX_TOKENS = 'gen_ai.request.max_tokens' # The name of the GenAI model a request is being made to. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_MODEL = 'gen_ai.request.model' # The presence penalty setting for the GenAI request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_PRESENCE_PENALTY = 'gen_ai.request.presence_penalty' # Requests with same seed value more likely to return same result. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_SEED = 'gen_ai.request.seed' # List of sequences that the model will use to stop generating further tokens. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_STOP_SEQUENCES = 'gen_ai.request.stop_sequences' # Indicates whether the GenAI request was made in streaming mode. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_STREAM = 'gen_ai.request.stream' # The temperature setting for the GenAI request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_TEMPERATURE = 'gen_ai.request.temperature' # The top_k sampling setting for the GenAI request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_TOP_K = 'gen_ai.request.top_k' # The top_p sampling setting for the GenAI request. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_REQUEST_TOP_P = 'gen_ai.request.top_p' # Array of reasons the model stopped generating tokens, corresponding to each generation received. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_RESPONSE_FINISH_REASONS = 'gen_ai.response.finish_reasons' # The unique identifier for the completion. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_RESPONSE_ID = 'gen_ai.response.id' # The name of the model that generated the response. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_RESPONSE_MODEL = 'gen_ai.response.model' # Time to first chunk in a streaming response, measured from request issuance, in seconds. The value is measured from when the client issues the generation request to when the first chunk is received in the response stream. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK = 'gen_ai.response.time_to_first_chunk' # The documents retrieved. # - # Instrumentations MUST follow [Retrieval documents JSON schema](/docs/gen-ai/gen-ai-retrieval-documents.json). + # Instrumentations MUST follow [Retrieval documents JSON schema](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-retrieval-documents.json). # When the attribute is recorded on events, it MUST be recorded in structured # form. When recorded on spans, it MAY be recorded as a JSON string if structured # format is not supported and SHOULD be recorded in structured form otherwise. @@ -308,6 +341,7 @@ module GEN_AI # `id` (string): A unique identifier for the document, `score` (double): The relevance score of the document # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_RETRIEVAL_DOCUMENTS = 'gen_ai.retrieval.documents' # The query text used for retrieval. @@ -316,12 +350,13 @@ module GEN_AI # > This attribute may contain sensitive information. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_RETRIEVAL_QUERY_TEXT = 'gen_ai.retrieval.query.text' # Deprecated, use `gen_ai.provider.name` instead. # # @note Stability Level: development - # @deprecated Replaced by `gen_ai.provider.name`. + # @deprecated Replaced by `gen_ai.provider.name`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_SYSTEM = 'gen_ai.system' # The system message or instructions provided to the GenAI model separately from the chat history. @@ -333,7 +368,7 @@ module GEN_AI # Instructions that are part of the chat history SHOULD be recorded in # `gen_ai.input.messages` attribute instead. # - # Instrumentations MUST follow [System instructions JSON schema](/docs/gen-ai/gen-ai-system-instructions.json). + # Instrumentations MUST follow [System instructions JSON schema](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-system-instructions.json). # # When recorded on spans, it MAY be recorded as a JSON string if structured # format is not supported and SHOULD be recorded in structured form otherwise. @@ -344,15 +379,17 @@ module GEN_AI # > [!Warning] # > This attribute may contain sensitive information. # - # See [Recording content on attributes](/docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes) + # See [Recording content on attributes](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes) # section for more details. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_SYSTEM_INSTRUCTIONS = 'gen_ai.system_instructions' # The type of token being counted. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOKEN_TYPE = 'gen_ai.token.type' # Parameters passed to the tool call. @@ -365,11 +402,13 @@ module GEN_AI # deserialize it to an object. When recorded on spans, it MAY be recorded as a JSON string if structured format is not supported and SHOULD be recorded in structured form otherwise. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_CALL_ARGUMENTS = 'gen_ai.tool.call.arguments' # The tool call identifier. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_CALL_ID = 'gen_ai.tool.call.id' # The result returned by the tool call (if any and if execution was successful). @@ -382,11 +421,12 @@ module GEN_AI # deserialize it to an object. When recorded on spans, it MAY be recorded as a JSON string if structured format is not supported and SHOULD be recorded in structured form otherwise. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_CALL_RESULT = 'gen_ai.tool.call.result' # The list of tool definitions available to the GenAI agent or model. # - # Instrumentations MUST follow [Tool Definitions JSON Schema](/docs/gen-ai/gen-ai-tool-definitions.json). + # Instrumentations MUST follow [Tool Definitions JSON Schema](https://github.com/open-telemetry/semantic-conventions/blob/v1.41.0/docs/gen-ai/gen-ai-tool-definitions.json). # # When the attribute is recorded on events, it MUST be recorded in structured # form. When recorded on spans, it MAY be recorded as a JSON string if structured @@ -397,16 +437,19 @@ module GEN_AI # to enable populating optional properties. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_DEFINITIONS = 'gen_ai.tool.definitions' # The tool description. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_DESCRIPTION = 'gen_ai.tool.description' # Name of the tool utilized by the agent. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_NAME = 'gen_ai.tool.name' # Type of the tool utilized by the agent @@ -418,6 +461,7 @@ module GEN_AI # Datastore: A tool used by the agent to access and query structured or unstructured external data for retrieval-augmented tasks or knowledge updates. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_TOOL_TYPE = 'gen_ai.tool.type' # The number of input tokens written to a provider-managed cache. @@ -425,6 +469,7 @@ module GEN_AI # The value SHOULD be included in `gen_ai.usage.input_tokens`. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS = 'gen_ai.usage.cache_creation.input_tokens' # The number of input tokens served from a provider-managed cache. @@ -432,12 +477,13 @@ module GEN_AI # The value SHOULD be included in `gen_ai.usage.input_tokens`. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS = 'gen_ai.usage.cache_read.input_tokens' # Deprecated, use `gen_ai.usage.output_tokens` instead. # # @note Stability Level: development - # @deprecated Replaced by `gen_ai.usage.output_tokens`. + # @deprecated Replaced by `gen_ai.usage.output_tokens`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_COMPLETION_TOKENS = 'gen_ai.usage.completion_tokens' # The number of tokens used in the GenAI input (prompt). @@ -448,17 +494,19 @@ module GEN_AI # by summing different token types parsed from the provider output. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_INPUT_TOKENS = 'gen_ai.usage.input_tokens' # The number of tokens used in the GenAI response (completion). # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_OUTPUT_TOKENS = 'gen_ai.usage.output_tokens' # Deprecated, use `gen_ai.usage.input_tokens` instead. # # @note Stability Level: development - # @deprecated Replaced by `gen_ai.usage.input_tokens`. + # @deprecated Replaced by `gen_ai.usage.input_tokens`, which has moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_PROMPT_TOKENS = 'gen_ai.usage.prompt_tokens' # The number of output tokens used for reasoning (e.g. chain-of-thought, extended thinking). @@ -466,6 +514,7 @@ module GEN_AI # The value SHOULD be included in `gen_ai.usage.output_tokens`. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_USAGE_REASONING_OUTPUT_TOKENS = 'gen_ai.usage.reasoning.output_tokens' # Human-readable name of the GenAI workflow provided by the application. @@ -473,6 +522,7 @@ module GEN_AI # This attribute can be populated in different frameworks eg: name of the first chain in LangChain OR name of the crew in CrewAI. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_WORKFLOW_NAME = 'gen_ai.workflow.name' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/metrics.rb index d9706b30a..4942fd415 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/gen_ai/metrics.rb @@ -27,6 +27,7 @@ module GEN_AI # GenAI operation duration. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_CLIENT_OPERATION_DURATION = 'gen_ai.client.operation.duration' # Time per output chunk, recorded for each chunk received after the first one, measured as the time elapsed from the end of the previous chunk to the end of the current chunk. @@ -34,6 +35,7 @@ module GEN_AI # This metrics SHOULD be reported for streaming calls and SHOULD NOT be reported otherwise. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_CLIENT_OPERATION_TIME_PER_OUTPUT_CHUNK = 'gen_ai.client.operation.time_per_output_chunk' # Time to receive the first chunk, measured from when the client issues the generation request to when the first chunk is received in the response stream. @@ -41,26 +43,31 @@ module GEN_AI # This metrics SHOULD be reported for streaming calls and SHOULD NOT be reported otherwise. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_CLIENT_OPERATION_TIME_TO_FIRST_CHUNK = 'gen_ai.client.operation.time_to_first_chunk' # Number of input and output tokens used. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_CLIENT_TOKEN_USAGE = 'gen_ai.client.token.usage' # Generative AI server request duration such as time-to-last byte or last output token. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_SERVER_REQUEST_DURATION = 'gen_ai.server.request.duration' # Time per output token generated after the first token for successful responses. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_SERVER_TIME_PER_OUTPUT_TOKEN = 'gen_ai.server.time_per_output_token' # Time to generate first token for successful responses. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). GEN_AI_SERVER_TIME_TO_FIRST_TOKEN = 'gen_ai.server.time_to_first_token' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/attributes.rb index 992862ed5..9181515c2 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/attributes.rb @@ -26,7 +26,9 @@ module K8S # The name of the cluster. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CLUSTER_NAME}. K8S_CLUSTER_NAME = 'k8s.cluster.name' # A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. @@ -54,17 +56,30 @@ module K8S # Therefore, UIDs between clusters should be extremely unlikely to # conflict. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CLUSTER_UID}. K8S_CLUSTER_UID = 'k8s.cluster.uid' + # The type of file system component for ephemeral storage. + # + # Eviction decisions based on ephemeral-storage resource limits are made based on the total container usage. + # + # @note Stability Level: development + K8S_CONTAINER_EPHEMERAL_STORAGE_FS_TYPE = 'k8s.container.ephemeral_storage.fs_type' + # The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CONTAINER_NAME}. K8S_CONTAINER_NAME = 'k8s.container.name' # Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CONTAINER_RESTART_COUNT}. K8S_CONTAINER_RESTART_COUNT = 'k8s.container.restart_count' # Last terminated reason of the Container. @@ -72,12 +87,12 @@ module K8S # @note Stability Level: development K8S_CONTAINER_STATUS_LAST_TERMINATED_REASON = 'k8s.container.status.last_terminated_reason' - # The reason for the container state. Corresponds to the `reason` field of the: [K8s ContainerStateWaiting](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatewaiting-v1-core) or [K8s ContainerStateTerminated](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstateterminated-v1-core) + # The reason for the container state. Corresponds to the `reason` field of the: [K8s ContainerStateWaiting](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstatewaiting-v1-core) or [K8s ContainerStateTerminated](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstateterminated-v1-core) # # @note Stability Level: development K8S_CONTAINER_STATUS_REASON = 'k8s.container.status.reason' - # The state of the container. [K8s ContainerState](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstate-v1-core) + # The state of the container. [K8s ContainerState](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstate-v1-core) # # @note Stability Level: development K8S_CONTAINER_STATUS_STATE = 'k8s.container.status.state' @@ -97,7 +112,9 @@ module K8S # - An annotation `data` with empty string value SHOULD be recorded as # the `k8s.cronjob.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CRONJOB_ANNOTATION_LAMBDA}. K8S_CRONJOB_ANNOTATION_LAMBDA = ->(key) { "k8s.cronjob.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -115,17 +132,23 @@ module K8S # - A label `automated` with empty string value SHOULD be recorded as # the `k8s.cronjob.label.automated` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CRONJOB_LABEL_LAMBDA}. K8S_CRONJOB_LABEL_LAMBDA = ->(key) { "k8s.cronjob.label.#{key}" } # The name of the CronJob. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CRONJOB_NAME}. K8S_CRONJOB_NAME = 'k8s.cronjob.name' # The UID of the CronJob. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_CRONJOB_UID}. K8S_CRONJOB_UID = 'k8s.cronjob.uid' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -143,7 +166,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.daemonset.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DAEMONSET_ANNOTATION_LAMBDA}. K8S_DAEMONSET_ANNOTATION_LAMBDA = ->(key) { "k8s.daemonset.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -161,17 +186,23 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.daemonset.label.injected` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DAEMONSET_LABEL_LAMBDA}. K8S_DAEMONSET_LABEL_LAMBDA = ->(key) { "k8s.daemonset.label.#{key}" } # The name of the DaemonSet. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DAEMONSET_NAME}. K8S_DAEMONSET_NAME = 'k8s.daemonset.name' # The UID of the DaemonSet. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DAEMONSET_UID}. K8S_DAEMONSET_UID = 'k8s.daemonset.uid' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -189,7 +220,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.deployment.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DEPLOYMENT_ANNOTATION_LAMBDA}. K8S_DEPLOYMENT_ANNOTATION_LAMBDA = ->(key) { "k8s.deployment.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -207,17 +240,23 @@ module K8S # - A label `injected` with empty string value SHOULD be recorded as # the `k8s.deployment.label.injected` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DEPLOYMENT_LABEL_LAMBDA}. K8S_DEPLOYMENT_LABEL_LAMBDA = ->(key) { "k8s.deployment.label.#{key}" } # The name of the Deployment. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DEPLOYMENT_NAME}. K8S_DEPLOYMENT_NAME = 'k8s.deployment.name' # The UID of the Deployment. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_DEPLOYMENT_UID}. K8S_DEPLOYMENT_UID = 'k8s.deployment.uid' # The type of metric source for the horizontal pod autoscaler. @@ -278,7 +317,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.job.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_JOB_ANNOTATION_LAMBDA}. K8S_JOB_ANNOTATION_LAMBDA = ->(key) { "k8s.job.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -296,17 +337,23 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.job.label.automated` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_JOB_LABEL_LAMBDA}. K8S_JOB_LABEL_LAMBDA = ->(key) { "k8s.job.label.#{key}" } # The name of the Job. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_JOB_NAME}. K8S_JOB_NAME = 'k8s.job.name' # The UID of the Job. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_JOB_UID}. K8S_JOB_UID = 'k8s.job.uid' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -324,7 +371,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.namespace.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NAMESPACE_ANNOTATION_LAMBDA}. K8S_NAMESPACE_ANNOTATION_LAMBDA = ->(key) { "k8s.namespace.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -342,18 +391,22 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.namespace.label.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NAMESPACE_LABEL_LAMBDA}. K8S_NAMESPACE_LABEL_LAMBDA = ->(key) { "k8s.namespace.label.#{key}" } # The name of the namespace that the pod is running in. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NAMESPACE_NAME}. K8S_NAMESPACE_NAME = 'k8s.namespace.name' # The phase of the K8s namespace. # # This attribute aligns with the `phase` field of the - # [K8s NamespaceStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#namespacestatus-v1-core) + # [K8s NamespaceStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#namespacestatus-v1-core) # # @note Stability Level: development K8S_NAMESPACE_PHASE = 'k8s.namespace.phase' @@ -373,13 +426,15 @@ module K8S # - An annotation `data` with empty string value SHOULD be recorded as # the `k8s.node.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NODE_ANNOTATION_LAMBDA}. K8S_NODE_ANNOTATION_LAMBDA = ->(key) { "k8s.node.annotation.#{key}" } # The status of the condition, one of True, False, Unknown. # # This attribute aligns with the `status` field of the - # [NodeCondition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core) + # [NodeCondition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodecondition-v1-core) # # @note Stability Level: development K8S_NODE_CONDITION_STATUS = 'k8s.node.condition.status' @@ -387,10 +442,10 @@ module K8S # The condition type of a K8s Node. # # K8s Node conditions as described - # by [K8s documentation](https://v1-32.docs.kubernetes.io/docs/reference/node/node-status/#condition). + # by [K8s documentation](https://kubernetes.io/docs/reference/node/node-status/#condition). # # This attribute aligns with the `type` field of the - # [NodeCondition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core) + # [NodeCondition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#nodecondition-v1-core) # # The set of possible values is not limited to those listed here. Managed Kubernetes environments, # or custom controllers MAY introduce additional node condition types. @@ -414,12 +469,16 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.node.label.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NODE_LABEL_LAMBDA}. K8S_NODE_LABEL_LAMBDA = ->(key) { "k8s.node.label.#{key}" } # The name of the Node. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NODE_NAME}. K8S_NODE_NAME = 'k8s.node.name' # The name of the system container running on the K8s Node. @@ -429,7 +488,9 @@ module K8S # The UID of the Node. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_NODE_UID}. K8S_NODE_UID = 'k8s.node.uid' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -565,7 +626,9 @@ module K8S # - An annotation `data` with empty string value SHOULD be recorded as # the `k8s.pod.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_ANNOTATION_LAMBDA}. K8S_POD_ANNOTATION_LAMBDA = ->(key) { "k8s.pod.annotation.#{key}" } # Specifies the hostname of the Pod. @@ -577,7 +640,9 @@ module K8S # This attribute aligns with the `hostname` field of the # [K8s PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podspec-v1-core). # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_HOSTNAME}. K8S_POD_HOSTNAME = 'k8s.pod.hostname' # IP address allocated to the Pod. @@ -585,7 +650,9 @@ module K8S # This attribute aligns with the `podIP` field of the # [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core). # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_IP}. K8S_POD_IP = 'k8s.pod.ip' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -605,7 +672,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.pod.label.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_LABEL_LAMBDA}. K8S_POD_LABEL_LAMBDA = ->(key) { "k8s.pod.label.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -622,7 +691,9 @@ module K8S # The name of the Pod. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_NAME}. K8S_POD_NAME = 'k8s.pod.name' # The start timestamp of the Pod. @@ -634,7 +705,9 @@ module K8S # [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core), # in ISO 8601 (RFC 3339 compatible) format. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_START_TIME}. K8S_POD_START_TIME = 'k8s.pod.start_time' # The phase for the pod. Corresponds to the `phase` field of the: [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podstatus-v1-core) @@ -649,7 +722,9 @@ module K8S # The UID of the Pod. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_POD_UID}. K8S_POD_UID = 'k8s.pod.uid' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -667,7 +742,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.replicaset.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_REPLICASET_ANNOTATION_LAMBDA}. K8S_REPLICASET_ANNOTATION_LAMBDA = ->(key) { "k8s.replicaset.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -685,17 +762,23 @@ module K8S # - A label `injected` with empty string value SHOULD be recorded as # the `k8s.replicaset.label.injected` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_REPLICASET_LABEL_LAMBDA}. K8S_REPLICASET_LABEL_LAMBDA = ->(key) { "k8s.replicaset.label.#{key}" } # The name of the ReplicaSet. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_REPLICASET_NAME}. K8S_REPLICASET_NAME = 'k8s.replicaset.name' # The UID of the ReplicaSet. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_REPLICASET_UID}. K8S_REPLICASET_UID = 'k8s.replicaset.uid' # The name of the replication controller. @@ -872,7 +955,9 @@ module K8S # - A label `data` with empty string value SHOULD be recorded as # the `k8s.statefulset.annotation.data` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_STATEFULSET_ANNOTATION_LAMBDA}. K8S_STATEFULSET_ANNOTATION_LAMBDA = ->(key) { "k8s.statefulset.annotation.#{key}" } # Must be called with a key for the full attribute name. See notes below about the expectations @@ -890,20 +975,26 @@ module K8S # - A label `injected` with empty string value SHOULD be recorded as # the `k8s.statefulset.label.injected` attribute with value `""`. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_STATEFULSET_LABEL_LAMBDA}. K8S_STATEFULSET_LABEL_LAMBDA = ->(key) { "k8s.statefulset.label.#{key}" } # The name of the StatefulSet. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_STATEFULSET_NAME}. K8S_STATEFULSET_NAME = 'k8s.statefulset.name' # The UID of the StatefulSet. # - # @note Stability Level: release_candidate + # @note Stability Level: stable + # + # @deprecated Now available in the stable namespace at {OpenTelemetry::SemConv::K8S::K8S_STATEFULSET_UID}. K8S_STATEFULSET_UID = 'k8s.statefulset.uid' - # The name of K8s [StorageClass](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io) object. + # The name of K8s [StorageClass](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#storageclass-v1-storage-k8s-io) object. # # @note Stability Level: development K8S_STORAGECLASS_NAME = 'k8s.storageclass.name' diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/metrics.rb index 3420a8e11..19145c5b8 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/k8s/metrics.rb @@ -102,18 +102,25 @@ module K8S # Maximum ephemeral storage resource limit set for the container. # - # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcerequirements-v1-core for details. # # @note Stability Level: development K8S_CONTAINER_EPHEMERAL_STORAGE_LIMIT = 'k8s.container.ephemeral_storage.limit' # Ephemeral storage resource requested for the container. # - # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcerequirements-v1-core for details. # # @note Stability Level: development K8S_CONTAINER_EPHEMERAL_STORAGE_REQUEST = 'k8s.container.ephemeral_storage.request' + # The ephemeral storage used by a container. + # + # The value for this metric can be compared against `metric.k8s.container.ephemeral_storage.request` and `metric.k8s.container.ephemeral_storage.limit`. + # + # @note Stability Level: development + K8S_CONTAINER_EPHEMERAL_STORAGE_USAGE = 'k8s.container.ephemeral_storage.usage' + # Deprecated, use `k8s.container.memory.limit.desired` and `k8s.container.memory.limit.current` instead. # # @note Stability Level: development @@ -173,7 +180,7 @@ module K8S # Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready). # # This metric SHOULD reflect the value of the `ready` field in the - # [K8s ContainerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatus-v1-core). + # [K8s ContainerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#containerstatus-v1-core). # # @note Stability Level: development K8S_CONTAINER_READY = 'k8s.container.ready' @@ -207,14 +214,14 @@ module K8S # Maximum storage resource limit set for the container. # - # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcerequirements-v1-core for details. # # @note Stability Level: development K8S_CONTAINER_STORAGE_LIMIT = 'k8s.container.storage.limit' # Storage resource requested for the container. # - # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details. + # See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcerequirements-v1-core for details. # # @note Stability Level: development K8S_CONTAINER_STORAGE_REQUEST = 'k8s.container.storage.request' @@ -222,7 +229,7 @@ module K8S # Deprecated, use `k8s.cronjob.job.active` instead. # # This metric aligns with the `active` field of the - # [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch). + # [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#cronjobstatus-v1-batch). # # @note Stability Level: development # @deprecated Replaced by `k8s.cronjob.job.active`. @@ -231,7 +238,7 @@ module K8S # The number of actively running jobs for a cronjob. # # This metric aligns with the `active` field of the - # [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#cronjobstatus-v1-batch). + # [K8s CronJobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#cronjobstatus-v1-batch). # # @note Stability Level: development K8S_CRONJOB_JOB_ACTIVE = 'k8s.cronjob.job.active' @@ -239,7 +246,7 @@ module K8S # Deprecated, use `k8s.daemonset.node.current_scheduled` instead. # # This metric aligns with the `currentNumberScheduled` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.daemonset.node.current_scheduled`. @@ -248,7 +255,7 @@ module K8S # Deprecated, use `k8s.daemonset.node.desired_scheduled` instead. # # This metric aligns with the `desiredNumberScheduled` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.daemonset.node.desired_scheduled`. @@ -257,7 +264,7 @@ module K8S # Deprecated, use `k8s.daemonset.node.misscheduled` instead. # # This metric aligns with the `numberMisscheduled` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.daemonset.node.misscheduled`. @@ -266,7 +273,7 @@ module K8S # Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. # # This metric aligns with the `currentNumberScheduled` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development K8S_DAEMONSET_NODE_CURRENT_SCHEDULED = 'k8s.daemonset.node.current_scheduled' @@ -274,7 +281,7 @@ module K8S # Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod). # # This metric aligns with the `desiredNumberScheduled` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development K8S_DAEMONSET_NODE_DESIRED_SCHEDULED = 'k8s.daemonset.node.desired_scheduled' @@ -282,7 +289,7 @@ module K8S # Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. # # This metric aligns with the `numberMisscheduled` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development K8S_DAEMONSET_NODE_MISSCHEDULED = 'k8s.daemonset.node.misscheduled' @@ -290,7 +297,7 @@ module K8S # Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready. # # This metric aligns with the `numberReady` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development K8S_DAEMONSET_NODE_READY = 'k8s.daemonset.node.ready' @@ -298,7 +305,7 @@ module K8S # Deprecated, use `k8s.daemonset.node.ready` instead. # # This metric aligns with the `numberReady` field of the - # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#daemonsetstatus-v1-apps). + # [K8s DaemonSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#daemonsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.daemonset.node.ready`. @@ -307,7 +314,7 @@ module K8S # Deprecated, use `k8s.deployment.pod.available` instead. # # This metric aligns with the `availableReplicas` field of the - # [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps). + # [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#deploymentstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.deployment.pod.available`. @@ -316,7 +323,7 @@ module K8S # Deprecated, use `k8s.deployment.pod.desired` instead. # # This metric aligns with the `replicas` field of the - # [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps). + # [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#deploymentspec-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.deployment.pod.desired`. @@ -325,7 +332,7 @@ module K8S # Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment. # # This metric aligns with the `availableReplicas` field of the - # [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstatus-v1-apps). + # [K8s DeploymentStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#deploymentstatus-v1-apps). # # @note Stability Level: development K8S_DEPLOYMENT_POD_AVAILABLE = 'k8s.deployment.pod.available' @@ -333,7 +340,7 @@ module K8S # Number of desired replica pods in this deployment. # # This metric aligns with the `replicas` field of the - # [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentspec-v1-apps). + # [K8s DeploymentSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#deploymentspec-v1-apps). # # @note Stability Level: development K8S_DEPLOYMENT_POD_DESIRED = 'k8s.deployment.pod.desired' @@ -341,7 +348,7 @@ module K8S # Deprecated, use `k8s.hpa.pod.current` instead. # # This metric aligns with the `currentReplicas` field of the - # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling) + # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerstatus-v2-autoscaling) # # @note Stability Level: development # @deprecated Replaced by `k8s.hpa.pod.current`. @@ -350,7 +357,7 @@ module K8S # Deprecated, use `k8s.hpa.pod.desired` instead. # # This metric aligns with the `desiredReplicas` field of the - # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling) + # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerstatus-v2-autoscaling) # # @note Stability Level: development # @deprecated Replaced by `k8s.hpa.pod.desired`. @@ -359,7 +366,7 @@ module K8S # Deprecated, use `k8s.hpa.pod.max` instead. # # This metric aligns with the `maxReplicas` field of the - # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling) + # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerspec-v2-autoscaling) # # @note Stability Level: development # @deprecated Replaced by `k8s.hpa.pod.max`. @@ -368,7 +375,7 @@ module K8S # Target average utilization, in percentage, for CPU resource in HPA config. # # This metric aligns with the `averageUtilization` field of the - # [K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metrictarget-v2-autoscaling). + # [K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#metrictarget-v2-autoscaling). # If the type of the metric is [`ContainerResource`](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis), # the `k8s.container.name` attribute MUST be set to identify the specific container within the pod to which the metric applies. # @@ -378,7 +385,7 @@ module K8S # Target average value for CPU resource in HPA config. # # This metric aligns with the `averageValue` field of the - # [K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metrictarget-v2-autoscaling). + # [K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#metrictarget-v2-autoscaling). # If the type of the metric is [`ContainerResource`](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis), # the `k8s.container.name` attribute MUST be set to identify the specific container within the pod to which the metric applies. # @@ -388,7 +395,7 @@ module K8S # Target value for CPU resource in HPA config. # # This metric aligns with the `value` field of the - # [K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metrictarget-v2-autoscaling). + # [K8s HPA MetricTarget](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#metrictarget-v2-autoscaling). # If the type of the metric is [`ContainerResource`](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-metrics-apis), # the `k8s.container.name` attribute MUST be set to identify the specific container within the pod to which the metric applies. # @@ -398,7 +405,7 @@ module K8S # Deprecated, use `k8s.hpa.pod.min` instead. # # This metric aligns with the `minReplicas` field of the - # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling) + # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerspec-v2-autoscaling) # # @note Stability Level: development # @deprecated Replaced by `k8s.hpa.pod.min`. @@ -407,7 +414,7 @@ module K8S # Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler. # # This metric aligns with the `currentReplicas` field of the - # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling) + # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerstatus-v2-autoscaling) # # @note Stability Level: development K8S_HPA_POD_CURRENT = 'k8s.hpa.pod.current' @@ -415,7 +422,7 @@ module K8S # Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler. # # This metric aligns with the `desiredReplicas` field of the - # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerstatus-v2-autoscaling) + # [K8s HorizontalPodAutoscalerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerstatus-v2-autoscaling) # # @note Stability Level: development K8S_HPA_POD_DESIRED = 'k8s.hpa.pod.desired' @@ -423,7 +430,7 @@ module K8S # The upper limit for the number of replica pods to which the autoscaler can scale up. # # This metric aligns with the `maxReplicas` field of the - # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling) + # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerspec-v2-autoscaling) # # @note Stability Level: development K8S_HPA_POD_MAX = 'k8s.hpa.pod.max' @@ -431,7 +438,7 @@ module K8S # The lower limit for the number of replica pods to which the autoscaler can scale down. # # This metric aligns with the `minReplicas` field of the - # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerspec-v2-autoscaling) + # [K8s HorizontalPodAutoscalerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#horizontalpodautoscalerspec-v2-autoscaling) # # @note Stability Level: development K8S_HPA_POD_MIN = 'k8s.hpa.pod.min' @@ -439,7 +446,7 @@ module K8S # Deprecated, use `k8s.job.pod.active` instead. # # This metric aligns with the `active` field of the - # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). + # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobstatus-v1-batch). # # @note Stability Level: development # @deprecated Replaced by `k8s.job.pod.active`. @@ -448,7 +455,7 @@ module K8S # Deprecated, use `k8s.job.pod.desired_successful` instead. # # This metric aligns with the `completions` field of the - # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).. + # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobspec-v1-batch).. # # @note Stability Level: development # @deprecated Replaced by `k8s.job.pod.desired_successful`. @@ -457,7 +464,7 @@ module K8S # Deprecated, use `k8s.job.pod.failed` instead. # # This metric aligns with the `failed` field of the - # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). + # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobstatus-v1-batch). # # @note Stability Level: development # @deprecated Replaced by `k8s.job.pod.failed`. @@ -466,7 +473,7 @@ module K8S # Deprecated, use `k8s.job.pod.max_parallel` instead. # # This metric aligns with the `parallelism` field of the - # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch). + # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobspec-v1-batch). # # @note Stability Level: development # @deprecated Replaced by `k8s.job.pod.max_parallel`. @@ -475,7 +482,7 @@ module K8S # The number of pending and actively running pods for a job. # # This metric aligns with the `active` field of the - # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). + # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobstatus-v1-batch). # # @note Stability Level: development K8S_JOB_POD_ACTIVE = 'k8s.job.pod.active' @@ -483,7 +490,7 @@ module K8S # The desired number of successfully finished pods the job should be run with. # # This metric aligns with the `completions` field of the - # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch).. + # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobspec-v1-batch).. # # @note Stability Level: development K8S_JOB_POD_DESIRED_SUCCESSFUL = 'k8s.job.pod.desired_successful' @@ -491,7 +498,7 @@ module K8S # The number of pods which reached phase Failed for a job. # # This metric aligns with the `failed` field of the - # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). + # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobstatus-v1-batch). # # @note Stability Level: development K8S_JOB_POD_FAILED = 'k8s.job.pod.failed' @@ -499,7 +506,7 @@ module K8S # The max desired number of pods the job should run at any given time. # # This metric aligns with the `parallelism` field of the - # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobspec-v1-batch). + # [K8s JobSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobspec-v1-batch). # # @note Stability Level: development K8S_JOB_POD_MAX_PARALLEL = 'k8s.job.pod.max_parallel' @@ -507,7 +514,7 @@ module K8S # The number of pods which reached phase Succeeded for a job. # # This metric aligns with the `succeeded` field of the - # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). + # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobstatus-v1-batch). # # @note Stability Level: development K8S_JOB_POD_SUCCESSFUL = 'k8s.job.pod.successful' @@ -515,7 +522,7 @@ module K8S # Deprecated, use `k8s.job.pod.successful` instead. # # This metric aligns with the `succeeded` field of the - # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#jobstatus-v1-batch). + # [K8s JobStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#jobstatus-v1-batch). # # @note Stability Level: development # @deprecated Replaced by `k8s.job.pod.successful`. @@ -566,7 +573,7 @@ module K8S # # Total CPU time consumed by the specific Node on all available CPU cores # - # @note Stability Level: development + # @note Stability Level: release_candidate K8S_NODE_CPU_TIME = 'k8s.node.cpu.time' # Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs. @@ -753,7 +760,7 @@ module K8S # # Total CPU time consumed by the specific Pod on all available CPU cores # - # @note Stability Level: development + # @note Stability Level: release_candidate K8S_POD_CPU_TIME = 'k8s.pod.cpu.time' # Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs. @@ -935,7 +942,7 @@ module K8S # Deprecated, use `k8s.replicaset.pod.available` instead. # # This metric aligns with the `availableReplicas` field of the - # [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps). + # [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#replicasetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.replicaset.pod.available`. @@ -944,7 +951,7 @@ module K8S # Deprecated, use `k8s.replicaset.pod.desired` instead. # # This metric aligns with the `replicas` field of the - # [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps). + # [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#replicasetspec-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.replicaset.pod.desired`. @@ -953,7 +960,7 @@ module K8S # Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset. # # This metric aligns with the `availableReplicas` field of the - # [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetstatus-v1-apps). + # [K8s ReplicaSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#replicasetstatus-v1-apps). # # @note Stability Level: development K8S_REPLICASET_POD_AVAILABLE = 'k8s.replicaset.pod.available' @@ -961,7 +968,7 @@ module K8S # Number of desired replica pods in this replicaset. # # This metric aligns with the `replicas` field of the - # [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicasetspec-v1-apps). + # [K8s ReplicaSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#replicasetspec-v1-apps). # # @note Stability Level: development K8S_REPLICASET_POD_DESIRED = 'k8s.replicaset.pod.desired' @@ -993,7 +1000,7 @@ module K8S # Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller. # # This metric aligns with the `availableReplicas` field of the - # [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core) + # [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#replicationcontrollerstatus-v1-core) # # @note Stability Level: development K8S_REPLICATIONCONTROLLER_POD_AVAILABLE = 'k8s.replicationcontroller.pod.available' @@ -1001,7 +1008,7 @@ module K8S # Number of desired replica pods in this replication controller. # # This metric aligns with the `replicas` field of the - # [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core) + # [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#replicationcontrollerspec-v1-core) # # @note Stability Level: development K8S_REPLICATIONCONTROLLER_POD_DESIRED = 'k8s.replicationcontroller.pod.desired' @@ -1010,7 +1017,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_CPU_LIMIT_HARD = 'k8s.resourcequota.cpu.limit.hard' @@ -1019,7 +1026,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_CPU_LIMIT_USED = 'k8s.resourcequota.cpu.limit.used' @@ -1028,7 +1035,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_CPU_REQUEST_HARD = 'k8s.resourcequota.cpu.request.hard' @@ -1037,7 +1044,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_CPU_REQUEST_USED = 'k8s.resourcequota.cpu.request.used' @@ -1046,7 +1053,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_LIMIT_HARD = 'k8s.resourcequota.ephemeral_storage.limit.hard' @@ -1055,7 +1062,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_LIMIT_USED = 'k8s.resourcequota.ephemeral_storage.limit.used' @@ -1064,7 +1071,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_REQUEST_HARD = 'k8s.resourcequota.ephemeral_storage.request.hard' @@ -1073,7 +1080,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_REQUEST_USED = 'k8s.resourcequota.ephemeral_storage.request.used' @@ -1082,7 +1089,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_HUGEPAGE_COUNT_REQUEST_HARD = 'k8s.resourcequota.hugepage_count.request.hard' @@ -1091,7 +1098,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_HUGEPAGE_COUNT_REQUEST_USED = 'k8s.resourcequota.hugepage_count.request.used' @@ -1100,7 +1107,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_MEMORY_LIMIT_HARD = 'k8s.resourcequota.memory.limit.hard' @@ -1109,7 +1116,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_MEMORY_LIMIT_USED = 'k8s.resourcequota.memory.limit.used' @@ -1118,7 +1125,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_MEMORY_REQUEST_HARD = 'k8s.resourcequota.memory.request.hard' @@ -1127,7 +1134,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_MEMORY_REQUEST_USED = 'k8s.resourcequota.memory.request.used' @@ -1136,7 +1143,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_OBJECT_COUNT_HARD = 'k8s.resourcequota.object_count.hard' @@ -1145,7 +1152,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # @note Stability Level: development K8S_RESOURCEQUOTA_OBJECT_COUNT_USED = 'k8s.resourcequota.object_count.used' @@ -1154,7 +1161,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # The `k8s.storageclass.name` should be required when a resource quota is defined for a specific # storage class. @@ -1166,7 +1173,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # The `k8s.storageclass.name` should be required when a resource quota is defined for a specific # storage class. @@ -1178,7 +1185,7 @@ module K8S # The value represents the configured quota limit of the resource in the namespace. # # This metric is retrieved from the `hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # The `k8s.storageclass.name` should be required when a resource quota is defined for a specific # storage class. @@ -1190,7 +1197,7 @@ module K8S # The value represents the current observed total usage of the resource in the namespace. # # This metric is retrieved from the `used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core). + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core). # # The `k8s.storageclass.name` should be required when a resource quota is defined for a specific # storage class. @@ -1244,7 +1251,7 @@ module K8S # Deprecated, use `k8s.statefulset.pod.current` instead. # # This metric aligns with the `currentReplicas` field of the - # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). + # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.statefulset.pod.current`. @@ -1253,7 +1260,7 @@ module K8S # Deprecated, use `k8s.statefulset.pod.desired` instead. # # This metric aligns with the `replicas` field of the - # [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps). + # [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetspec-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.statefulset.pod.desired`. @@ -1262,7 +1269,7 @@ module K8S # The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision. # # This metric aligns with the `currentReplicas` field of the - # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). + # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetstatus-v1-apps). # # @note Stability Level: development K8S_STATEFULSET_POD_CURRENT = 'k8s.statefulset.pod.current' @@ -1270,7 +1277,7 @@ module K8S # Number of desired replica pods in this statefulset. # # This metric aligns with the `replicas` field of the - # [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetspec-v1-apps). + # [K8s StatefulSetSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetspec-v1-apps). # # @note Stability Level: development K8S_STATEFULSET_POD_DESIRED = 'k8s.statefulset.pod.desired' @@ -1278,7 +1285,7 @@ module K8S # The number of replica pods created for this statefulset with a Ready Condition. # # This metric aligns with the `readyReplicas` field of the - # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). + # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetstatus-v1-apps). # # @note Stability Level: development K8S_STATEFULSET_POD_READY = 'k8s.statefulset.pod.ready' @@ -1286,7 +1293,7 @@ module K8S # Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision. # # This metric aligns with the `updatedReplicas` field of the - # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). + # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetstatus-v1-apps). # # @note Stability Level: development K8S_STATEFULSET_POD_UPDATED = 'k8s.statefulset.pod.updated' @@ -1294,7 +1301,7 @@ module K8S # Deprecated, use `k8s.statefulset.pod.ready` instead. # # This metric aligns with the `readyReplicas` field of the - # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). + # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.statefulset.pod.ready`. @@ -1303,7 +1310,7 @@ module K8S # Deprecated, use `k8s.statefulset.pod.updated` instead. # # This metric aligns with the `updatedReplicas` field of the - # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetstatus-v1-apps). + # [K8s StatefulSetStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#statefulsetstatus-v1-apps). # # @note Stability Level: development # @deprecated Replaced by `k8s.statefulset.pod.updated`. diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/attributes.rb index a95147ca3..15beb62dc 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/attributes.rb @@ -27,11 +27,13 @@ module MCP # The name of the request or notification method. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_METHOD_NAME = 'mcp.method.name' # The [version](https://modelcontextprotocol.io/specification/versioning) of the Model Context Protocol used. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_PROTOCOL_VERSION = 'mcp.protocol.version' # The value of the resource uri. @@ -39,11 +41,13 @@ module MCP # This is a URI of the resource provided in the following requests or notifications: `resources/read`, `resources/subscribe`, `resources/unsubscribe`, or `notifications/resources/updated`. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_RESOURCE_URI = 'mcp.resource.uri' # Identifies [MCP session](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management). # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_SESSION_ID = 'mcp.session.id' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/metrics.rb index e62581674..6d069d6bb 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/mcp/metrics.rb @@ -27,21 +27,25 @@ module MCP # The duration of the MCP request or notification as observed on the sender from the time it was sent until the response or ack is received. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_CLIENT_OPERATION_DURATION = 'mcp.client.operation.duration' # The duration of the MCP session as observed on the MCP client. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_CLIENT_SESSION_DURATION = 'mcp.client.session.duration' # MCP request or notification duration as observed on the receiver from the time it was received until the result or ack is sent. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_SERVER_OPERATION_DURATION = 'mcp.server.operation.duration' # The duration of the MCP session as observed on the MCP server. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). MCP_SERVER_SESSION_DURATION = 'mcp.server.session.duration' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/nodejs/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/nodejs/metrics.rb index 26d876078..5d84b1ae2 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/nodejs/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/nodejs/metrics.rb @@ -26,49 +26,49 @@ module NODEJS # Event loop maximum delay. # - # Value can be retrieved from value `histogram.max` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.max` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_MAX = 'nodejs.eventloop.delay.max' # Event loop mean delay. # - # Value can be retrieved from value `histogram.mean` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.mean` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_MEAN = 'nodejs.eventloop.delay.mean' # Event loop minimum delay. # - # Value can be retrieved from value `histogram.min` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.min` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_MIN = 'nodejs.eventloop.delay.min' # Event loop 50 percentile delay. # - # Value can be retrieved from value `histogram.percentile(50)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.percentile(50)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_P50 = 'nodejs.eventloop.delay.p50' # Event loop 90 percentile delay. # - # Value can be retrieved from value `histogram.percentile(90)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.percentile(90)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_P90 = 'nodejs.eventloop.delay.p90' # Event loop 99 percentile delay. # - # Value can be retrieved from value `histogram.percentile(99)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.percentile(99)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_P99 = 'nodejs.eventloop.delay.p99' # Event loop standard deviation delay. # - # Value can be retrieved from value `histogram.stddev` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf-hooksmonitoreventloopdelayoptions) + # Value can be retrieved from value `histogram.stddev` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions) # # @note Stability Level: development NODEJS_EVENTLOOP_DELAY_STDDEV = 'nodejs.eventloop.delay.stddev' diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/openai/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/openai/attributes.rb index d2ef4a2e6..92cf53ed8 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/openai/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/openai/attributes.rb @@ -27,21 +27,25 @@ module OPENAI # The type of OpenAI API being used. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). OPENAI_API_TYPE = 'openai.api.type' # The service tier requested. May be a specific tier, default, or auto. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). OPENAI_REQUEST_SERVICE_TIER = 'openai.request.service_tier' # The service tier used for the response. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). OPENAI_RESPONSE_SERVICE_TIER = 'openai.response.service_tier' # A fingerprint to track any eventual change in the Generative AI environment. # # @note Stability Level: development + # @deprecated Moved to the [OpenTelemetry GenAI semantic conventions repository](https://github.com/open-telemetry/semantic-conventions-genai). OPENAI_RESPONSE_SYSTEM_FINGERPRINT = 'openai.response.system_fingerprint' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/openshift/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/openshift/metrics.rb index cc962a671..83a8219be 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/openshift/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/openshift/metrics.rb @@ -27,7 +27,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -37,7 +37,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -47,7 +47,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -57,7 +57,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -67,7 +67,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -77,7 +77,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -87,7 +87,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -97,7 +97,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -107,7 +107,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -117,7 +117,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -127,7 +127,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -137,7 +137,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -147,7 +147,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -157,7 +157,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -167,7 +167,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -177,7 +177,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -187,7 +187,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -200,7 +200,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -213,7 +213,7 @@ module OPENSHIFT # The enforced hard limit of the resource across all projects. # # This metric is retrieved from the `Status.Total.Hard` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # @@ -226,7 +226,7 @@ module OPENSHIFT # The current observed total usage of the resource across all projects. # # This metric is retrieved from the `Status.Total.Used` field of the - # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#resourcequotastatus-v1-core) + # [K8s ResourceQuotaStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#resourcequotastatus-v1-core) # of the # [ClusterResourceQuota](https://docs.redhat.com/en/documentation/openshift_container_platform/4.19/html/schedule_and_quota_apis/clusterresourcequota-quota-openshift-io-v1#status-total). # diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/otel/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/otel/metrics.rb index 963d0a5ba..735043bce 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/otel/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/otel/metrics.rb @@ -29,13 +29,17 @@ module OTEL # For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause. # For exporters with partial success semantics (e.g. OTLP with `rejected_log_records`), rejected log records MUST count as failed and only non-rejected log records count as success. # If no rejection reason is available, `rejected` SHOULD be used as value for `error.type`. + # If the exporter retries failed export attempts, the export operation is considered finished only after the final attempt has concluded. + # Each log record MUST be counted exactly once per export operation: intermediate failed attempts that are followed by a retry MUST NOT increment the counter, + # and `error.type` reflects the cause of the final attempt. # # @note Stability Level: development OTEL_SDK_EXPORTER_LOG_EXPORTED = 'otel.sdk.exporter.log.exported' # The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed). # - # For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause. + # Log records are counted as inflight from when they are passed to the exporter until the export operation has concluded. + # If the exporter retries failed export attempts, log records remain inflight across all retry attempts and any backoff between them. # # @note Stability Level: development OTEL_SDK_EXPORTER_LOG_INFLIGHT = 'otel.sdk.exporter.log.inflight' @@ -45,13 +49,17 @@ module OTEL # For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause. # For exporters with partial success semantics (e.g. OTLP with `rejected_data_points`), rejected data points MUST count as failed and only non-rejected data points count as success. # If no rejection reason is available, `rejected` SHOULD be used as value for `error.type`. + # If the exporter retries failed export attempts, the export operation is considered finished only after the final attempt has concluded. + # Each metric data point MUST be counted exactly once per export operation: intermediate failed attempts that are followed by a retry MUST NOT increment the counter, + # and `error.type` reflects the cause of the final attempt. # # @note Stability Level: development OTEL_SDK_EXPORTER_METRIC_DATA_POINT_EXPORTED = 'otel.sdk.exporter.metric_data_point.exported' # The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed). # - # For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause. + # Metric data points are counted as inflight from when they are passed to the exporter until the export operation has concluded. + # If the exporter retries failed export attempts, metric data points remain inflight across all retry attempts and any backoff between them. # # @note Stability Level: development OTEL_SDK_EXPORTER_METRIC_DATA_POINT_INFLIGHT = 'otel.sdk.exporter.metric_data_point.inflight' @@ -61,6 +69,9 @@ module OTEL # This metric defines successful operations using the full success definitions for [http](https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success-1) # and [grpc](https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success). Anything else is defined as an unsuccessful operation. For successful # operations, `error.type` MUST NOT be set. For unsuccessful export operations, `error.type` MUST contain a relevant failure cause. + # If the exporter retries failed export attempts, exactly one observation MUST be recorded per export operation, + # covering the wall-clock duration from the start of the first attempt through the conclusion of the final attempt (including any backoff between attempts). + # `error.type` reflects the cause of the final attempt. # # @note Stability Level: development OTEL_SDK_EXPORTER_OPERATION_DURATION = 'otel.sdk.exporter.operation.duration' @@ -70,6 +81,9 @@ module OTEL # For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause. # For exporters with partial success semantics (e.g. OTLP with `rejected_spans`), rejected spans MUST count as failed and only non-rejected spans count as success. # If no rejection reason is available, `rejected` SHOULD be used as value for `error.type`. + # If the exporter retries failed export attempts, the export operation is considered finished only after the final attempt has concluded. + # Each span MUST be counted exactly once per export operation: intermediate failed attempts that are followed by a retry MUST NOT increment the counter, + # and `error.type` reflects the cause of the final attempt. # # @note Stability Level: development OTEL_SDK_EXPORTER_SPAN_EXPORTED = 'otel.sdk.exporter.span.exported' @@ -82,7 +96,8 @@ module OTEL # The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed). # - # For successful exports, `error.type` MUST NOT be set. For failed exports, `error.type` MUST contain the failure cause. + # Spans are counted as inflight from when they are passed to the exporter until the export operation has concluded. + # If the exporter retries failed export attempts, spans remain inflight across all retry attempts and any backoff between them. # # @note Stability Level: development OTEL_SDK_EXPORTER_SPAN_INFLIGHT = 'otel.sdk.exporter.span.inflight' @@ -109,6 +124,8 @@ module OTEL # The number of log records for which the processing has finished, either successful or failed. # # For successful processing, `error.type` MUST NOT be set. For failed processing, `error.type` MUST contain the failure cause. + # SDK Batching Log Record Processors MUST use `queue_full` as the value of `error.type` for log records dropped due to a full queue. + # SDK Log Record Processors MUST use `already_shutdown` as the value of `error.type` for log records dropped because the processor has already been shut down. # For the SDK Simple and Batching Log Record Processor a log record is considered to be processed already when it has been submitted to the exporter, # not when the corresponding export call has finished. # @@ -132,6 +149,8 @@ module OTEL # The number of spans for which the processing has finished, either successful or failed. # # For successful processing, `error.type` MUST NOT be set. For failed processing, `error.type` MUST contain the failure cause. + # SDK Batching Span Processors MUST use `queue_full` as the value of `error.type` for spans dropped due to a full queue. + # SDK Span Processors MUST use `already_shutdown` as the value of `error.type` for spans dropped because the processor has already been shut down. # For the SDK Simple and Batching Span Processor a span is considered to be processed already when it has been submitted to the exporter, not when the corresponding export call has finished. # # @note Stability Level: development diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/process/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/process/attributes.rb index f44559b44..9b0669a8f 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/process/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/process/attributes.rb @@ -28,27 +28,27 @@ module PROCESS # # 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. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_ARGS_COUNT = 'process.args_count' # 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`. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_COMMAND = 'process.command' # All the 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`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_COMMAND_ARGS = 'process.command_args' # 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. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_COMMAND_LINE = 'process.command_line' # Specifies whether the context switches for this data point were voluntary or involuntary. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_CONTEXT_SWITCH_TYPE = 'process.context_switch.type' # Deprecated, use `cpu.mode` instead. @@ -59,7 +59,7 @@ module PROCESS # The date and time the process was created, in ISO 8601 format. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_CREATION_TIME = 'process.creation.time' # Must be called with a key for the full attribute name. See notes below about the expectations @@ -78,17 +78,17 @@ module PROCESS # SHOULD be recorded as the `process.environment_variable.PATH` attribute # with value `"/usr/local/bin:/usr/bin"`. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_ENVIRONMENT_VARIABLE_LAMBDA = ->(key) { "process.environment_variable.#{key}" } # The GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXECUTABLE_BUILD_ID_GNU = 'process.executable.build_id.gnu' # The Go build ID as retrieved by `go tool buildid `. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXECUTABLE_BUILD_ID_GO = 'process.executable.build_id.go' # Deterministic build ID for executables. @@ -106,7 +106,7 @@ module PROCESS # The result is the first 16 bytes (128 bits) of the SHA256 digest, # represented as a hex string. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXECUTABLE_BUILD_ID_HTLHASH = 'process.executable.build_id.htlhash' # "Deprecated, use `process.executable.build_id.htlhash` instead." @@ -117,44 +117,44 @@ module PROCESS # The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXECUTABLE_NAME = 'process.executable.name' # 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`. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXECUTABLE_PATH = 'process.executable.path' # The exit code of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXIT_CODE = 'process.exit.code' # The date and time the process exited, in ISO 8601 format. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_EXIT_TIME = 'process.exit.time' # The PID of the process's group leader. This is also the process group ID (PGID) of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_GROUP_LEADER_PID = 'process.group_leader.pid' # Whether the process is connected to an interactive shell. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_INTERACTIVE = 'process.interactive' # The control group associated with the process. # # 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](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_LINUX_CGROUP = 'process.linux.cgroup' # The username of the user that owns the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_OWNER = 'process.owner' # Deprecated, use `system.paging.fault.type` instead. @@ -165,86 +165,86 @@ module PROCESS # Parent Process identifier (PPID). # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_PARENT_PID = 'process.parent_pid' # Process identifier (PID). # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_PID = 'process.pid' # The real user ID (RUID) of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_REAL_USER_ID = 'process.real_user.id' # The username of the real user of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_REAL_USER_NAME = 'process.real_user.name' # An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_RUNTIME_DESCRIPTION = 'process.runtime.description' # The name of the runtime of this process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_RUNTIME_NAME = 'process.runtime.name' # The version of the runtime of this process, as returned by the runtime without modification. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_RUNTIME_VERSION = 'process.runtime.version' # The saved user ID (SUID) of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_SAVED_USER_ID = 'process.saved_user.id' # The username of the saved user. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_SAVED_USER_NAME = 'process.saved_user.name' # The PID of the process's session leader. This is also the session ID (SID) of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_SESSION_LEADER_PID = 'process.session_leader.pid' # The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_STATE = 'process.state' # Process title (proctitle) # # 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. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_TITLE = 'process.title' # The effective user ID (EUID) of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_USER_ID = 'process.user.id' # The username of the effective user of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_USER_NAME = 'process.user.name' # Virtual process identifier. # # 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. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_VPID = 'process.vpid' # The working directory of the process. # - # @note Stability Level: development + # @note Stability Level: release_candidate PROCESS_WORKING_DIRECTORY = 'process.working_directory' # @!endgroup diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/service/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/service/attributes.rb index c16bab55f..258a3256f 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/service/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/service/attributes.rb @@ -28,7 +28,7 @@ module SERVICE # # Application developers are encouraged to set `service.criticality` to express the operational importance of their services. Telemetry consumers MAY use this attribute to optimize telemetry collection or improve user experience. # - # @note Stability Level: development + # @note Stability Level: alpha SERVICE_CRITICALITY = 'service.criticality' # The string ID of the service instance. diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/system/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/system/metrics.rb index 1d48a2360..832eaf172 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/system/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/system/metrics.rb @@ -100,6 +100,11 @@ module SYSTEM # @note Stability Level: development SYSTEM_FILESYSTEM_LIMIT = 'system.filesystem.limit' + # Filesystem lock counts. + # + # @note Stability Level: development + SYSTEM_FILESYSTEM_LOCK_COUNT = 'system.filesystem.lock.count' + # Reports a filesystem's space usage across different states. # # The sum of all `system.filesystem.usage` values over the different `system.filesystem.state` attributes diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/url/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/url/attributes.rb index 32b6737cb..0b595da07 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/url/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/url/attributes.rb @@ -61,8 +61,9 @@ module URL # Query string values for the following keys SHOULD be redacted by default and replaced by the # value `REDACTED`: # - # - [`AWSAccessKeyId`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) - # - [`Signature`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) + # - [`X-Amz-Signature`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Credential`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Security-Token`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) # - [`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) # @@ -115,8 +116,9 @@ module URL # # Query string values for the following keys SHOULD be redacted by default and replaced by the value `REDACTED`: # - # - [`AWSAccessKeyId`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) - # - [`Signature`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) + # - [`X-Amz-Signature`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Credential`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Security-Token`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) # - [`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) # diff --git a/semantic_conventions/lib/opentelemetry/semconv/incubating/v8js/metrics.rb b/semantic_conventions/lib/opentelemetry/semconv/incubating/v8js/metrics.rb index b1b60cab2..cb7a5611d 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/incubating/v8js/metrics.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/incubating/v8js/metrics.rb @@ -43,11 +43,10 @@ module V8JS # @deprecated Replaced by `v8js.memory.heap.space.physical_size`. V8JS_HEAP_SPACE_PHYSICAL_SIZE = 'v8js.heap.space.physical_size' - # Total heap memory size pre-allocated. - # - # The value can be retrieved from value `space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics) + # Deprecated, use `v8js.memory.heap.space.size` instead. # # @note Stability Level: development + # @deprecated Replaced by `v8js.memory.heap.space.size`. V8JS_MEMORY_HEAP_LIMIT = 'v8js.memory.heap.limit' # Heap space available size. @@ -64,6 +63,13 @@ module V8JS # @note Stability Level: development V8JS_MEMORY_HEAP_SPACE_PHYSICAL_SIZE = 'v8js.memory.heap.space.physical_size' + # Total heap memory size pre-allocated for a heap space. + # + # The value can be retrieved from value `space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics) + # + # @note Stability Level: development + V8JS_MEMORY_HEAP_SPACE_SIZE = 'v8js.memory.heap.space.size' + # Heap Memory size allocated. # # The value can be retrieved from value `space_used_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics) diff --git a/semantic_conventions/lib/opentelemetry/semconv/k8s.rb b/semantic_conventions/lib/opentelemetry/semconv/k8s.rb new file mode 100644 index 000000000..73f551809 --- /dev/null +++ b/semantic_conventions/lib/opentelemetry/semconv/k8s.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +# This file was autogenerated. Do not edit it by hand. + +require_relative 'k8s/attributes' diff --git a/semantic_conventions/lib/opentelemetry/semconv/k8s/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/k8s/attributes.rb new file mode 100644 index 000000000..6694cfbf7 --- /dev/null +++ b/semantic_conventions/lib/opentelemetry/semconv/k8s/attributes.rb @@ -0,0 +1,517 @@ +# frozen_string_literal: true + +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# +# This file was autogenerated. Do not edit it by hand. + +module OpenTelemetry + module SemConv + module K8S + # @!group Attribute Names + + # The name of the cluster. + # + # @note Stability Level: stable + K8S_CLUSTER_NAME = 'k8s.cluster.name' + + # A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. + # + # 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 + # `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 + # 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). + # 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). + # + # Therefore, UIDs between clusters should be extremely unlikely to + # conflict. + # + # @note Stability Level: stable + K8S_CLUSTER_UID = 'k8s.cluster.uid' + + # The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). + # + # @note Stability Level: stable + K8S_CONTAINER_NAME = 'k8s.container.name' + + # Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. + # + # @note Stability Level: stable + K8S_CONTAINER_RESTART_COUNT = 'k8s.container.restart_count' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_CRONJOB_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.cronjob.annotation.some-cool-key' + # + # The cronjob annotation placed on the CronJob, the `` being the annotation name, the value being the annotation value. + # + # Examples: + # + # - An annotation `retries` with value `4` SHOULD be recorded as the + # `k8s.cronjob.annotation.retries` attribute with value `"4"`. + # - An annotation `data` with empty string value SHOULD be recorded as + # the `k8s.cronjob.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_CRONJOB_ANNOTATION_LAMBDA = ->(key) { "k8s.cronjob.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_CRONJOB_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.cronjob.label.some-cool-key' + # + # The label placed on the CronJob, the `` being the label name, the value being the label value. + # + # Examples: + # + # - A label `type` with value `weekly` SHOULD be recorded as the + # `k8s.cronjob.label.type` attribute with value `"weekly"`. + # - A label `automated` with empty string value SHOULD be recorded as + # the `k8s.cronjob.label.automated` attribute with value `""`. + # + # @note Stability Level: stable + K8S_CRONJOB_LABEL_LAMBDA = ->(key) { "k8s.cronjob.label.#{key}" } + + # The name of the CronJob. + # + # @note Stability Level: stable + K8S_CRONJOB_NAME = 'k8s.cronjob.name' + + # The UID of the CronJob. + # + # @note Stability Level: stable + K8S_CRONJOB_UID = 'k8s.cronjob.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_DAEMONSET_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.daemonset.annotation.some-cool-key' + # + # The annotation placed on the DaemonSet, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - A label `replicas` with value `1` SHOULD be recorded + # as the `k8s.daemonset.annotation.replicas` attribute with value `"1"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.daemonset.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_DAEMONSET_ANNOTATION_LAMBDA = ->(key) { "k8s.daemonset.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_DAEMONSET_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.daemonset.label.some-cool-key' + # + # The label placed on the DaemonSet, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `app` with value `guestbook` SHOULD be recorded + # as the `k8s.daemonset.label.app` attribute with value `"guestbook"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.daemonset.label.injected` attribute with value `""`. + # + # @note Stability Level: stable + K8S_DAEMONSET_LABEL_LAMBDA = ->(key) { "k8s.daemonset.label.#{key}" } + + # The name of the DaemonSet. + # + # @note Stability Level: stable + K8S_DAEMONSET_NAME = 'k8s.daemonset.name' + + # The UID of the DaemonSet. + # + # @note Stability Level: stable + K8S_DAEMONSET_UID = 'k8s.daemonset.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_DEPLOYMENT_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.deployment.annotation.some-cool-key' + # + # The annotation placed on the Deployment, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - A label `replicas` with value `1` SHOULD be recorded + # as the `k8s.deployment.annotation.replicas` attribute with value `"1"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.deployment.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_DEPLOYMENT_ANNOTATION_LAMBDA = ->(key) { "k8s.deployment.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_DEPLOYMENT_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.deployment.label.some-cool-key' + # + # The label placed on the Deployment, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `replicas` with value `0` SHOULD be recorded + # as the `k8s.deployment.label.app` attribute with value `"guestbook"`. + # - A label `injected` with empty string value SHOULD be recorded as + # the `k8s.deployment.label.injected` attribute with value `""`. + # + # @note Stability Level: stable + K8S_DEPLOYMENT_LABEL_LAMBDA = ->(key) { "k8s.deployment.label.#{key}" } + + # The name of the Deployment. + # + # @note Stability Level: stable + K8S_DEPLOYMENT_NAME = 'k8s.deployment.name' + + # The UID of the Deployment. + # + # @note Stability Level: stable + K8S_DEPLOYMENT_UID = 'k8s.deployment.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_JOB_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.job.annotation.some-cool-key' + # + # The annotation placed on the Job, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - A label `number` with value `1` SHOULD be recorded + # as the `k8s.job.annotation.number` attribute with value `"1"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.job.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_JOB_ANNOTATION_LAMBDA = ->(key) { "k8s.job.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_JOB_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.job.label.some-cool-key' + # + # The label placed on the Job, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `jobtype` with value `ci` SHOULD be recorded + # as the `k8s.job.label.jobtype` attribute with value `"ci"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.job.label.automated` attribute with value `""`. + # + # @note Stability Level: stable + K8S_JOB_LABEL_LAMBDA = ->(key) { "k8s.job.label.#{key}" } + + # The name of the Job. + # + # @note Stability Level: stable + K8S_JOB_NAME = 'k8s.job.name' + + # The UID of the Job. + # + # @note Stability Level: stable + K8S_JOB_UID = 'k8s.job.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_NAMESPACE_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.namespace.annotation.some-cool-key' + # + # The annotation placed on the Namespace, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - A label `ttl` with value `0` SHOULD be recorded + # as the `k8s.namespace.annotation.ttl` attribute with value `"0"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.namespace.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_NAMESPACE_ANNOTATION_LAMBDA = ->(key) { "k8s.namespace.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_NAMESPACE_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.namespace.label.some-cool-key' + # + # The label placed on the Namespace, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `kubernetes.io/metadata.name` with value `default` SHOULD be recorded + # as the `k8s.namespace.label.kubernetes.io/metadata.name` attribute with value `"default"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.namespace.label.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_NAMESPACE_LABEL_LAMBDA = ->(key) { "k8s.namespace.label.#{key}" } + + # The name of the namespace that the pod is running in. + # + # @note Stability Level: stable + K8S_NAMESPACE_NAME = 'k8s.namespace.name' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_NODE_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.node.annotation.some-cool-key' + # + # The annotation placed on the Node, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - An annotation `node.alpha.kubernetes.io/ttl` with value `0` SHOULD be recorded as + # the `k8s.node.annotation.node.alpha.kubernetes.io/ttl` attribute with value `"0"`. + # - An annotation `data` with empty string value SHOULD be recorded as + # the `k8s.node.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_NODE_ANNOTATION_LAMBDA = ->(key) { "k8s.node.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_NODE_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.node.label.some-cool-key' + # + # The label placed on the Node, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `kubernetes.io/arch` with value `arm64` SHOULD be recorded + # as the `k8s.node.label.kubernetes.io/arch` attribute with value `"arm64"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.node.label.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_NODE_LABEL_LAMBDA = ->(key) { "k8s.node.label.#{key}" } + + # The name of the Node. + # + # @note Stability Level: stable + K8S_NODE_NAME = 'k8s.node.name' + + # The UID of the Node. + # + # @note Stability Level: stable + K8S_NODE_UID = 'k8s.node.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_POD_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.pod.annotation.some-cool-key' + # + # The annotation placed on the Pod, the `` being the annotation name, the value being the annotation value. + # + # Examples: + # + # - An annotation `kubernetes.io/enforce-mountable-secrets` with value `true` SHOULD be recorded as + # the `k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets` attribute with value `"true"`. + # - An annotation `mycompany.io/arch` with value `x64` SHOULD be recorded as + # the `k8s.pod.annotation.mycompany.io/arch` attribute with value `"x64"`. + # - An annotation `data` with empty string value SHOULD be recorded as + # the `k8s.pod.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_POD_ANNOTATION_LAMBDA = ->(key) { "k8s.pod.annotation.#{key}" } + + # Specifies the hostname of the Pod. + # + # The K8s Pod spec has an optional hostname field, which can be used to specify a hostname. + # Refer to [K8s docs](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-hostname-and-subdomain-field) + # for more information about this field. + # + # This attribute aligns with the `hostname` field of the + # [K8s PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podspec-v1-core). + # + # @note Stability Level: stable + K8S_POD_HOSTNAME = 'k8s.pod.hostname' + + # IP address allocated to the Pod. + # + # This attribute aligns with the `podIP` field of the + # [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core). + # + # @note Stability Level: stable + K8S_POD_IP = 'k8s.pod.ip' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_POD_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.pod.label.some-cool-key' + # + # The label placed on the Pod, the `` being the label name, the value being the label value. + # + # Examples: + # + # - A label `app` with value `my-app` SHOULD be recorded as + # the `k8s.pod.label.app` attribute with value `"my-app"`. + # - A label `mycompany.io/arch` with value `x64` SHOULD be recorded as + # the `k8s.pod.label.mycompany.io/arch` attribute with value `"x64"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.pod.label.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_POD_LABEL_LAMBDA = ->(key) { "k8s.pod.label.#{key}" } + + # The name of the Pod. + # + # @note Stability Level: stable + K8S_POD_NAME = 'k8s.pod.name' + + # The start timestamp of the Pod. + # + # Date and time at which the object was acknowledged by the Kubelet. + # This is before the Kubelet pulled the container image(s) for the pod. + # + # This attribute aligns with the `startTime` field of the + # [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core), + # in ISO 8601 (RFC 3339 compatible) format. + # + # @note Stability Level: stable + K8S_POD_START_TIME = 'k8s.pod.start_time' + + # The UID of the Pod. + # + # @note Stability Level: stable + K8S_POD_UID = 'k8s.pod.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_REPLICASET_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.replicaset.annotation.some-cool-key' + # + # The annotation placed on the ReplicaSet, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - A label `replicas` with value `0` SHOULD be recorded + # as the `k8s.replicaset.annotation.replicas` attribute with value `"0"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.replicaset.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_REPLICASET_ANNOTATION_LAMBDA = ->(key) { "k8s.replicaset.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_REPLICASET_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.replicaset.label.some-cool-key' + # + # The label placed on the ReplicaSet, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `app` with value `guestbook` SHOULD be recorded + # as the `k8s.replicaset.label.app` attribute with value `"guestbook"`. + # - A label `injected` with empty string value SHOULD be recorded as + # the `k8s.replicaset.label.injected` attribute with value `""`. + # + # @note Stability Level: stable + K8S_REPLICASET_LABEL_LAMBDA = ->(key) { "k8s.replicaset.label.#{key}" } + + # The name of the ReplicaSet. + # + # @note Stability Level: stable + K8S_REPLICASET_NAME = 'k8s.replicaset.name' + + # The UID of the ReplicaSet. + # + # @note Stability Level: stable + K8S_REPLICASET_UID = 'k8s.replicaset.uid' + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_STATEFULSET_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.statefulset.annotation.some-cool-key' + # + # The annotation placed on the StatefulSet, the `` being the annotation name, the value being the annotation value, even if the value is empty. + # + # Examples: + # + # - A label `replicas` with value `1` SHOULD be recorded + # as the `k8s.statefulset.annotation.replicas` attribute with value `"1"`. + # - A label `data` with empty string value SHOULD be recorded as + # the `k8s.statefulset.annotation.data` attribute with value `""`. + # + # @note Stability Level: stable + K8S_STATEFULSET_ANNOTATION_LAMBDA = ->(key) { "k8s.statefulset.annotation.#{key}" } + + # Must be called with a key for the full attribute name. See notes below about the expectations + # for the state of the key. + # + # @example Usage + # K8S_STATEFULSET_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.statefulset.label.some-cool-key' + # + # The label placed on the StatefulSet, the `` being the label name, the value being the label value, even if the value is empty. + # + # Examples: + # + # - A label `replicas` with value `0` SHOULD be recorded + # as the `k8s.statefulset.label.app` attribute with value `"guestbook"`. + # - A label `injected` with empty string value SHOULD be recorded as + # the `k8s.statefulset.label.injected` attribute with value `""`. + # + # @note Stability Level: stable + K8S_STATEFULSET_LABEL_LAMBDA = ->(key) { "k8s.statefulset.label.#{key}" } + + # The name of the StatefulSet. + # + # @note Stability Level: stable + K8S_STATEFULSET_NAME = 'k8s.statefulset.name' + + # The UID of the StatefulSet. + # + # @note Stability Level: stable + K8S_STATEFULSET_UID = 'k8s.statefulset.uid' + + # @!endgroup + end + end +end diff --git a/semantic_conventions/lib/opentelemetry/semconv/url/attributes.rb b/semantic_conventions/lib/opentelemetry/semconv/url/attributes.rb index b5b49b080..df2cdde3a 100644 --- a/semantic_conventions/lib/opentelemetry/semconv/url/attributes.rb +++ b/semantic_conventions/lib/opentelemetry/semconv/url/attributes.rb @@ -44,8 +44,9 @@ module URL # Query string values for the following keys SHOULD be redacted by default and replaced by the # value `REDACTED`: # - # - [`AWSAccessKeyId`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) - # - [`Signature`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) + # - [`X-Amz-Signature`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Credential`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Security-Token`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) # - [`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) # @@ -81,8 +82,9 @@ module URL # # Query string values for the following keys SHOULD be redacted by default and replaced by the value `REDACTED`: # - # - [`AWSAccessKeyId`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) - # - [`Signature`](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth) + # - [`X-Amz-Signature`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Credential`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) + # - [`X-Amz-Security-Token`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv-authentication-methods.html) # - [`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) #