增加环绕侦察场景适配
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -67,6 +67,18 @@ APP_SCREEN_COORDINATE_Y: Final = "app.screen.coordinate.y"
|
||||
The y (vertical) component of a screen coordinate, in screen pixels.
|
||||
"""
|
||||
|
||||
APP_SCREEN_ID: Final = "app.screen.id"
|
||||
"""
|
||||
An identifier that uniquely differentiates this screen from other screens in the same application.
|
||||
Note: A screen represents only the part of the device display drawn by the app. It typically contains multiple widgets or UI components and is larger in scope than individual widgets. Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).
|
||||
"""
|
||||
|
||||
APP_SCREEN_NAME: Final = "app.screen.name"
|
||||
"""
|
||||
The name of an application screen.
|
||||
Note: A screen represents only the part of the device display drawn by the app. It typically contains multiple widgets or UI components and is larger in scope than individual widgets. Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).
|
||||
"""
|
||||
|
||||
APP_WIDGET_ID: Final = "app.widget.id"
|
||||
"""
|
||||
An identifier that uniquely differentiates this widget from other widgets in the same application.
|
||||
|
||||
@@ -35,7 +35,7 @@ AZURE_COSMOSDB_OPERATION_CONTACTED_REGIONS: Final = (
|
||||
)
|
||||
"""
|
||||
List of regions contacted during operation in the order that they were contacted. If there is more than one region listed, it indicates that the operation was performed on multiple regions i.e. cross-regional call.
|
||||
Note: Region name matches the format of `displayName` in [Azure Location API](https://learn.microsoft.com/rest/api/subscription/subscriptions/list-locations?view=rest-subscription-2021-10-01&tabs=HTTP#location).
|
||||
Note: Region name matches the format of `displayName` in [Azure Location API](https://learn.microsoft.com/rest/api/resources/subscriptions/list-locations).
|
||||
"""
|
||||
|
||||
AZURE_COSMOSDB_OPERATION_REQUEST_CHARGE: Final = (
|
||||
|
||||
@@ -58,7 +58,7 @@ Container ID. Usually a UUID, as for example used to [identify Docker containers
|
||||
CONTAINER_IMAGE_ID: Final = "container.image.id"
|
||||
"""
|
||||
Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
|
||||
Note: Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) endpoint.
|
||||
Note: Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Container/operation/ContainerInspect) endpoint.
|
||||
K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`.
|
||||
The ID is assigned by the container runtime and can vary in different environments. Consider using `oci.manifest.digest` if it is important to identify the same image in different environments/runtimes.
|
||||
"""
|
||||
@@ -71,12 +71,12 @@ Name of the image the container was built on.
|
||||
CONTAINER_IMAGE_REPO_DIGESTS: Final = "container.image.repo_digests"
|
||||
"""
|
||||
Repo digests of the container image as provided by the container runtime.
|
||||
Note: [Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect) and [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) report those under the `RepoDigests` field.
|
||||
Note: [Docker](https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Image/operation/ImageInspect) and [CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238) report those under the `RepoDigests` field.
|
||||
"""
|
||||
|
||||
CONTAINER_IMAGE_TAGS: Final = "container.image.tags"
|
||||
"""
|
||||
Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`.
|
||||
Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`.
|
||||
"""
|
||||
|
||||
CONTAINER_LABEL_TEMPLATE: Final = "container.label"
|
||||
|
||||
@@ -128,7 +128,7 @@ Deprecated: Replaced by `azure.cosmosdb.request.body.size`.
|
||||
|
||||
DB_COSMOSDB_STATUS_CODE: Final = "db.cosmosdb.status_code"
|
||||
"""
|
||||
Deprecated: Replaced by `db.response.status_code`.
|
||||
Deprecated: Use `db.response.status_code` instead.
|
||||
"""
|
||||
|
||||
DB_COSMOSDB_SUB_STATUS_CODE: Final = "db.cosmosdb.sub_status_code"
|
||||
@@ -215,6 +215,9 @@ then `<key>` SHOULD be the 0-based index.
|
||||
`db.query.parameter.<key>` SHOULD match
|
||||
up with the parameterized placeholders present in `db.query.text`.
|
||||
|
||||
It is RECOMMENDED to capture the value as provided by the application
|
||||
without attempting to do any case normalization.
|
||||
|
||||
`db.query.parameter.<key>` SHOULD NOT be captured on batch operations.
|
||||
|
||||
Examples:
|
||||
@@ -222,8 +225,8 @@ Examples:
|
||||
- For a query `SELECT * FROM users where username = %s` with the parameter `"jdoe"`,
|
||||
the attribute `db.query.parameter.0` SHOULD be set to `"jdoe"`.
|
||||
|
||||
- For a query `"SELECT * FROM users WHERE username = %(username)s;` with parameter
|
||||
`username = "jdoe"`, the attribute `db.query.parameter.username` SHOULD be set to `"jdoe"`.
|
||||
- For a query `"SELECT * FROM users WHERE username = %(userName)s;` with parameter
|
||||
`userName = "jdoe"`, the attribute `db.query.parameter.userName` SHOULD be set to `"jdoe"`.
|
||||
"""
|
||||
|
||||
DB_QUERY_SUMMARY: Final = "db.query.summary"
|
||||
@@ -238,7 +241,7 @@ Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.db_att
|
||||
|
||||
DB_REDIS_DATABASE_INDEX: Final = "db.redis.database_index"
|
||||
"""
|
||||
Deprecated: Replaced by `db.namespace`.
|
||||
Deprecated: Uncategorized.
|
||||
"""
|
||||
|
||||
DB_RESPONSE_RETURNED_ROWS: Final = "db.response.returned_rows"
|
||||
|
||||
@@ -22,5 +22,5 @@ The list of IPv4 or IPv6 addresses resolved during DNS lookup.
|
||||
DNS_QUESTION_NAME: Final = "dns.question.name"
|
||||
"""
|
||||
The name being queried.
|
||||
Note: If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \\t, \\r, and \\n respectively.
|
||||
Note: The name represents the queried domain name as it appears in the DNS query without any additional normalization.
|
||||
"""
|
||||
|
||||
@@ -34,7 +34,7 @@ Note: Pseudonymous identifier of an end user.
|
||||
|
||||
ENDUSER_ROLE: Final = "enduser.role"
|
||||
"""
|
||||
Deprecated: Replaced by `user.roles`.
|
||||
Deprecated: Use `user.roles` instead.
|
||||
"""
|
||||
|
||||
ENDUSER_SCOPE: Final = "enduser.scope"
|
||||
|
||||
@@ -16,5 +16,5 @@ from typing import Final
|
||||
|
||||
EVENT_NAME: Final = "event.name"
|
||||
"""
|
||||
Deprecated: Replaced by EventName top-level field on the LogRecord.
|
||||
Deprecated: The value of this attribute MUST now be set as the value of the EventName field on the LogRecord to indicate that the LogRecord represents an Event.
|
||||
"""
|
||||
|
||||
@@ -121,7 +121,7 @@ Note: Depending on the cloud provider and platform, use:
|
||||
- **Google Cloud Run (Services):** The [revision](https://cloud.google.com/run/docs/managing/revisions)
|
||||
(i.e., the function name plus the revision suffix).
|
||||
- **Google Cloud Functions:** The value of the
|
||||
[`K_REVISION` environment variable](https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically).
|
||||
[`K_REVISION` environment variable](https://cloud.google.com/run/docs/container-contract#services-env-vars).
|
||||
- **Azure Functions:** Not applicable. Do not set this attribute.
|
||||
"""
|
||||
|
||||
|
||||
@@ -72,6 +72,67 @@ GCP_APPHUB_WORKLOAD_ID: Final = "gcp.apphub.workload.id"
|
||||
The name of the workload as configured in AppHub.
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_APPLICATION_CONTAINER: Final = (
|
||||
"gcp.apphub_destination.application.container"
|
||||
)
|
||||
"""
|
||||
The container within GCP where the AppHub destination application is defined.
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_APPLICATION_ID: Final = (
|
||||
"gcp.apphub_destination.application.id"
|
||||
)
|
||||
"""
|
||||
The name of the destination application as configured in AppHub.
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_APPLICATION_LOCATION: Final = (
|
||||
"gcp.apphub_destination.application.location"
|
||||
)
|
||||
"""
|
||||
The GCP zone or region where the destination application is defined.
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_SERVICE_CRITICALITY_TYPE: Final = (
|
||||
"gcp.apphub_destination.service.criticality_type"
|
||||
)
|
||||
"""
|
||||
Criticality of a destination workload indicates its importance to the business as specified in [AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type).
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_SERVICE_ENVIRONMENT_TYPE: Final = (
|
||||
"gcp.apphub_destination.service.environment_type"
|
||||
)
|
||||
"""
|
||||
Software lifecycle stage of a destination service as defined [AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1).
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_SERVICE_ID: Final = "gcp.apphub_destination.service.id"
|
||||
"""
|
||||
The name of the destination service as configured in AppHub.
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_WORKLOAD_CRITICALITY_TYPE: Final = (
|
||||
"gcp.apphub_destination.workload.criticality_type"
|
||||
)
|
||||
"""
|
||||
Criticality of a destination workload indicates its importance to the business as specified in [AppHub type enum](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type).
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_WORKLOAD_ENVIRONMENT_TYPE: Final = (
|
||||
"gcp.apphub_destination.workload.environment_type"
|
||||
)
|
||||
"""
|
||||
Environment of a destination workload is the stage of a software lifecycle as provided in the [AppHub environment type](https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1).
|
||||
"""
|
||||
|
||||
GCP_APPHUB_DESTINATION_WORKLOAD_ID: Final = (
|
||||
"gcp.apphub_destination.workload.id"
|
||||
)
|
||||
"""
|
||||
The name of the destination workload as configured in AppHub.
|
||||
"""
|
||||
|
||||
GCP_CLIENT_SERVICE: Final = "gcp.client.service"
|
||||
"""
|
||||
Identifies the Google Cloud service for which the official client library is intended.
|
||||
@@ -141,3 +202,47 @@ class GcpApphubWorkloadEnvironmentTypeValues(Enum):
|
||||
"""Test environment."""
|
||||
DEVELOPMENT = "DEVELOPMENT"
|
||||
"""Development environment."""
|
||||
|
||||
|
||||
class GcpApphubDestinationServiceCriticalityTypeValues(Enum):
|
||||
MISSION_CRITICAL = "MISSION_CRITICAL"
|
||||
"""Mission critical service."""
|
||||
HIGH = "HIGH"
|
||||
"""High impact."""
|
||||
MEDIUM = "MEDIUM"
|
||||
"""Medium impact."""
|
||||
LOW = "LOW"
|
||||
"""Low impact."""
|
||||
|
||||
|
||||
class GcpApphubDestinationServiceEnvironmentTypeValues(Enum):
|
||||
PRODUCTION = "PRODUCTION"
|
||||
"""Production environment."""
|
||||
STAGING = "STAGING"
|
||||
"""Staging environment."""
|
||||
TEST = "TEST"
|
||||
"""Test environment."""
|
||||
DEVELOPMENT = "DEVELOPMENT"
|
||||
"""Development environment."""
|
||||
|
||||
|
||||
class GcpApphubDestinationWorkloadCriticalityTypeValues(Enum):
|
||||
MISSION_CRITICAL = "MISSION_CRITICAL"
|
||||
"""Mission critical service."""
|
||||
HIGH = "HIGH"
|
||||
"""High impact."""
|
||||
MEDIUM = "MEDIUM"
|
||||
"""Medium impact."""
|
||||
LOW = "LOW"
|
||||
"""Low impact."""
|
||||
|
||||
|
||||
class GcpApphubDestinationWorkloadEnvironmentTypeValues(Enum):
|
||||
PRODUCTION = "PRODUCTION"
|
||||
"""Production environment."""
|
||||
STAGING = "STAGING"
|
||||
"""Staging environment."""
|
||||
TEST = "TEST"
|
||||
"""Test environment."""
|
||||
DEVELOPMENT = "DEVELOPMENT"
|
||||
"""Development environment."""
|
||||
|
||||
@@ -48,6 +48,32 @@ The data source identifier.
|
||||
Note: 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.
|
||||
"""
|
||||
|
||||
GEN_AI_EMBEDDINGS_DIMENSION_COUNT: Final = "gen_ai.embeddings.dimension.count"
|
||||
"""
|
||||
The number of dimensions the resulting output embeddings should have.
|
||||
"""
|
||||
|
||||
GEN_AI_EVALUATION_EXPLANATION: Final = "gen_ai.evaluation.explanation"
|
||||
"""
|
||||
A free-form explanation for the assigned score provided by the evaluator.
|
||||
"""
|
||||
|
||||
GEN_AI_EVALUATION_NAME: Final = "gen_ai.evaluation.name"
|
||||
"""
|
||||
The name of the evaluation metric used for the GenAI response.
|
||||
"""
|
||||
|
||||
GEN_AI_EVALUATION_SCORE_LABEL: Final = "gen_ai.evaluation.score.label"
|
||||
"""
|
||||
Human readable label for evaluation.
|
||||
Note: 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.
|
||||
"""
|
||||
|
||||
GEN_AI_EVALUATION_SCORE_VALUE: Final = "gen_ai.evaluation.score.value"
|
||||
"""
|
||||
The evaluation score returned by the evaluator.
|
||||
"""
|
||||
|
||||
GEN_AI_INPUT_MESSAGES: Final = "gen_ai.input.messages"
|
||||
"""
|
||||
The chat history provided to the model as an input.
|
||||
@@ -272,11 +298,47 @@ GEN_AI_TOKEN_TYPE: Final = "gen_ai.token.type"
|
||||
The type of token being counted.
|
||||
"""
|
||||
|
||||
GEN_AI_TOOL_CALL_ARGUMENTS: Final = "gen_ai.tool.call.arguments"
|
||||
"""
|
||||
Parameters passed to the tool call.
|
||||
Note: > [!WARNING]
|
||||
> This attribute may contain sensitive information.
|
||||
|
||||
It's expected to be an object - in case a serialized string is available
|
||||
to the instrumentation, the instrumentation SHOULD do the best effort to
|
||||
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.
|
||||
"""
|
||||
|
||||
GEN_AI_TOOL_CALL_ID: Final = "gen_ai.tool.call.id"
|
||||
"""
|
||||
The tool call identifier.
|
||||
"""
|
||||
|
||||
GEN_AI_TOOL_CALL_RESULT: Final = "gen_ai.tool.call.result"
|
||||
"""
|
||||
The result returned by the tool call (if any and if execution was successful).
|
||||
Note: > [!WARNING]
|
||||
> This attribute may contain sensitive information.
|
||||
|
||||
It's expected to be an object - in case a serialized string is available
|
||||
to the instrumentation, the instrumentation SHOULD do the best effort to
|
||||
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.
|
||||
"""
|
||||
|
||||
GEN_AI_TOOL_DEFINITIONS: Final = "gen_ai.tool.definitions"
|
||||
"""
|
||||
The list of source system tool definitions available to the GenAI agent or model.
|
||||
Note: The value of this attribute matches source system tool definition format.
|
||||
|
||||
It's expected to be an array of objects where each object represents a tool definition. In case a serialized string is available
|
||||
to the instrumentation, the instrumentation SHOULD do the best effort to
|
||||
deserialize it to an array. 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.
|
||||
|
||||
Since this attribute could be large, it's NOT RECOMMENDED to populate
|
||||
it by default. Instrumentations MAY provide a way to enable
|
||||
populating this attribute.
|
||||
"""
|
||||
|
||||
GEN_AI_TOOL_DESCRIPTION: Final = "gen_ai.tool.description"
|
||||
"""
|
||||
The tool description.
|
||||
@@ -422,9 +484,9 @@ class GenAiSystemValues(Enum):
|
||||
COHERE = "cohere"
|
||||
"""Cohere."""
|
||||
AZ_AI_INFERENCE = "az.ai.inference"
|
||||
"""Azure AI Inference."""
|
||||
"""Deprecated: Replaced by `azure.ai.inference`."""
|
||||
AZ_AI_OPENAI = "az.ai.openai"
|
||||
"""Azure OpenAI."""
|
||||
"""Deprecated: Replaced by `azure.ai.openai`."""
|
||||
AZURE_AI_INFERENCE = "azure.ai.inference"
|
||||
"""Azure AI Inference."""
|
||||
AZURE_AI_OPENAI = "azure.ai.openai"
|
||||
@@ -436,7 +498,7 @@ class GenAiSystemValues(Enum):
|
||||
PERPLEXITY = "perplexity"
|
||||
"""Perplexity."""
|
||||
XAI = "xai"
|
||||
"""Deprecated: Replaced by `x_ai`."""
|
||||
"""xAI."""
|
||||
DEEPSEEK = "deepseek"
|
||||
"""DeepSeek."""
|
||||
GROQ = "groq"
|
||||
|
||||
@@ -29,7 +29,7 @@ State of the HTTP connection in the HTTP connection pool.
|
||||
|
||||
HTTP_FLAVOR: Final = "http.flavor"
|
||||
"""
|
||||
Deprecated: Replaced by `network.protocol.name`.
|
||||
Deprecated: Split into `network.protocol.name` and `network.protocol.version`.
|
||||
"""
|
||||
|
||||
HTTP_HOST: Final = "http.host"
|
||||
@@ -160,7 +160,7 @@ class HttpConnectionStateValues(Enum):
|
||||
|
||||
|
||||
@deprecated(
|
||||
"The attribute http.flavor is deprecated - Replaced by `network.protocol.name`"
|
||||
"The attribute http.flavor is deprecated - Split into `network.protocol.name` and `network.protocol.version`"
|
||||
)
|
||||
class HttpFlavorValues(Enum):
|
||||
HTTP_1_0 = "1.0"
|
||||
@@ -199,5 +199,7 @@ class HttpRequestMethodValues(Enum):
|
||||
"""Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.http_attributes.HttpRequestMethodValues.PUT`."""
|
||||
TRACE = "TRACE"
|
||||
"""Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.http_attributes.HttpRequestMethodValues.TRACE`."""
|
||||
QUERY = "QUERY"
|
||||
"""QUERY method."""
|
||||
OTHER = "_OTHER"
|
||||
"""Deprecated in favor of stable :py:const:`opentelemetry.semconv.attributes.http_attributes.HttpRequestMethodValues.OTHER`."""
|
||||
|
||||
@@ -366,6 +366,16 @@ K8S_POD_NAME: Final = "k8s.pod.name"
|
||||
The name of the Pod.
|
||||
"""
|
||||
|
||||
K8S_POD_STATUS_PHASE: Final = "k8s.pod.status.phase"
|
||||
"""
|
||||
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).
|
||||
"""
|
||||
|
||||
K8S_POD_STATUS_REASON: Final = "k8s.pod.status.reason"
|
||||
"""
|
||||
The reason for the pod state. Corresponds to the `reason` field of the: [K8s PodStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podstatus-v1-core).
|
||||
"""
|
||||
|
||||
K8S_POD_UID: Final = "k8s.pod.uid"
|
||||
"""
|
||||
The UID of the Pod.
|
||||
@@ -421,7 +431,7 @@ The name of the resource quota.
|
||||
K8S_RESOURCEQUOTA_RESOURCE_NAME: Final = "k8s.resourcequota.resource_name"
|
||||
"""
|
||||
The name of the K8s resource a resource quota defines.
|
||||
Note: The value for this attribute can be either the full `count/<resource>[.<group>]` string (e.g., count/deployments.apps, count/pods), or, for certain core Kubernetes resources, just the resource name (e.g., pods, services, configmaps). Both forms are supported by Kubernetes for object count quotas. See [Kubernetes Resource Quotas documentation](https://kubernetes.io/docs/concepts/policy/resource-quotas/#object-count-quota) for more details.
|
||||
Note: The value for this attribute can be either the full `count/<resource>[.<group>]` string (e.g., count/deployments.apps, count/pods), or, for certain core Kubernetes resources, just the resource name (e.g., pods, services, configmaps). Both forms are supported by Kubernetes for object count quotas. See [Kubernetes Resource Quotas documentation](https://kubernetes.io/docs/concepts/policy/resource-quotas/#quota-on-object-count) for more details.
|
||||
"""
|
||||
|
||||
K8S_RESOURCEQUOTA_UID: Final = "k8s.resourcequota.uid"
|
||||
@@ -536,6 +546,32 @@ class K8sNodeConditionTypeValues(Enum):
|
||||
"""The network for the node is not correctly configured."""
|
||||
|
||||
|
||||
class K8sPodStatusPhaseValues(Enum):
|
||||
PENDING = "Pending"
|
||||
"""The pod has been accepted by the system, but one or more of the containers has not been started. This includes time before being bound to a node, as well as time spent pulling images onto the host."""
|
||||
RUNNING = "Running"
|
||||
"""The pod has been bound to a node and all of the containers have been started. At least one container is still running or is in the process of being restarted."""
|
||||
SUCCEEDED = "Succeeded"
|
||||
"""All containers in the pod have voluntarily terminated with a container exit code of 0, and the system is not going to restart any of these containers."""
|
||||
FAILED = "Failed"
|
||||
"""All containers in the pod have terminated, and at least one container has terminated in a failure (exited with a non-zero exit code or was stopped by the system)."""
|
||||
UNKNOWN = "Unknown"
|
||||
"""For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod."""
|
||||
|
||||
|
||||
class K8sPodStatusReasonValues(Enum):
|
||||
EVICTED = "Evicted"
|
||||
"""The pod is evicted."""
|
||||
NODE_AFFINITY = "NodeAffinity"
|
||||
"""The pod is in a status because of its node affinity."""
|
||||
NODE_LOST = "NodeLost"
|
||||
"""The reason on a pod when its state cannot be confirmed as kubelet is unresponsive on the node it is (was) running."""
|
||||
SHUTDOWN = "Shutdown"
|
||||
"""The node is shutdown."""
|
||||
UNEXPECTED_ADMISSION_ERROR = "UnexpectedAdmissionError"
|
||||
"""The pod was rejected admission to the node because of an error during admission that could not be categorized."""
|
||||
|
||||
|
||||
class K8sVolumeTypeValues(Enum):
|
||||
PERSISTENT_VOLUME_CLAIM = "persistentVolumeClaim"
|
||||
"""A [persistentVolumeClaim](https://v1-30.docs.kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim) volume."""
|
||||
|
||||
@@ -135,7 +135,7 @@ MESSAGING_KAFKA_DESTINATION_PARTITION: Final = (
|
||||
"messaging.kafka.destination.partition"
|
||||
)
|
||||
"""
|
||||
Deprecated: Replaced by `messaging.destination.partition.id`.
|
||||
Deprecated: Record string representation of the partition id in `messaging.destination.partition.id` attribute.
|
||||
"""
|
||||
|
||||
MESSAGING_KAFKA_MESSAGE_KEY: Final = "messaging.kafka.message.key"
|
||||
|
||||
@@ -17,4 +17,8 @@ from typing import Final
|
||||
PEER_SERVICE: Final = "peer.service"
|
||||
"""
|
||||
The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any.
|
||||
Note: Examples of `peer.service` that users may specify:
|
||||
|
||||
- A Redis cache of auth tokens as `peer.service="AuthTokenCache"`.
|
||||
- A gRPC service `rpc.service="io.opentelemetry.AuthService"` may be hosted in both a gateway, `peer.service="ExternalApiService"` and a backend, `peer.service="AuthService"`.
|
||||
"""
|
||||
|
||||
@@ -38,7 +38,7 @@ PROCESS_COMMAND_LINE: Final = "process.command_line"
|
||||
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.
|
||||
"""
|
||||
|
||||
PROCESS_CONTEXT_SWITCH_TYPE: Final = "process.context_switch_type"
|
||||
PROCESS_CONTEXT_SWITCH_TYPE: Final = "process.context_switch.type"
|
||||
"""
|
||||
Specifies whether the context switches for this data point were voluntary or involuntary.
|
||||
"""
|
||||
@@ -133,7 +133,7 @@ The username of the user that owns the process.
|
||||
|
||||
PROCESS_PAGING_FAULT_TYPE: Final = "process.paging.fault_type"
|
||||
"""
|
||||
The type of page fault for this data point. Type `major` is for major/hard page faults, and `minor` is for minor/soft page faults.
|
||||
Deprecated: Replaced by `system.paging.fault.type`.
|
||||
"""
|
||||
|
||||
PROCESS_PARENT_PID: Final = "process.parent_pid"
|
||||
@@ -186,6 +186,11 @@ PROCESS_SESSION_LEADER_PID: Final = "process.session_leader.pid"
|
||||
The PID of the process's session leader. This is also the session ID (SID) of the process.
|
||||
"""
|
||||
|
||||
PROCESS_STATE: Final = "process.state"
|
||||
"""
|
||||
The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES).
|
||||
"""
|
||||
|
||||
PROCESS_TITLE: Final = "process.title"
|
||||
"""
|
||||
Process title (proctitle).
|
||||
@@ -233,8 +238,22 @@ class ProcessCpuStateValues(Enum):
|
||||
"""wait."""
|
||||
|
||||
|
||||
@deprecated(
|
||||
"The attribute process.paging.fault_type is deprecated - Replaced by `system.paging.fault.type`"
|
||||
)
|
||||
class ProcessPagingFaultTypeValues(Enum):
|
||||
MAJOR = "major"
|
||||
"""major."""
|
||||
MINOR = "minor"
|
||||
"""minor."""
|
||||
|
||||
|
||||
class ProcessStateValues(Enum):
|
||||
RUNNING = "running"
|
||||
"""running."""
|
||||
SLEEPING = "sleeping"
|
||||
"""sleeping."""
|
||||
STOPPED = "stopped"
|
||||
"""stopped."""
|
||||
DEFUNCT = "defunct"
|
||||
"""defunct."""
|
||||
|
||||
@@ -112,14 +112,12 @@ Uncompressed size of the message in bytes.
|
||||
|
||||
RPC_METHOD: Final = "rpc.method"
|
||||
"""
|
||||
The name of the (logical) method being called, must be equal to the $method part in the span name.
|
||||
Note: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function.name` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
|
||||
This is the logical name of the method from the RPC interface perspective.
|
||||
"""
|
||||
|
||||
RPC_SERVICE: Final = "rpc.service"
|
||||
"""
|
||||
The full (logical) name of the service being called, including its package name, if applicable.
|
||||
Note: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
|
||||
"""
|
||||
|
||||
RPC_SYSTEM: Final = "rpc.system"
|
||||
@@ -218,3 +216,7 @@ class RpcSystemValues(Enum):
|
||||
"""Apache Dubbo."""
|
||||
CONNECT_RPC = "connect_rpc"
|
||||
"""Connect RPC."""
|
||||
ONC_RPC = "onc_rpc"
|
||||
"""[ONC RPC (Sun RPC)](https://datatracker.ietf.org/doc/html/rfc5531)."""
|
||||
JSONRPC = "jsonrpc"
|
||||
"""JSON-RPC."""
|
||||
|
||||
@@ -19,7 +19,7 @@ from typing_extensions import deprecated
|
||||
|
||||
SYSTEM_CPU_LOGICAL_NUMBER: Final = "system.cpu.logical_number"
|
||||
"""
|
||||
Deprecated, use `cpu.logical_number` instead.
|
||||
Deprecated: Replaced by `cpu.logical_number`.
|
||||
"""
|
||||
|
||||
SYSTEM_CPU_STATE: Final = "system.cpu.state"
|
||||
@@ -67,6 +67,11 @@ SYSTEM_PAGING_DIRECTION: Final = "system.paging.direction"
|
||||
The paging access direction.
|
||||
"""
|
||||
|
||||
SYSTEM_PAGING_FAULT_TYPE: Final = "system.paging.fault.type"
|
||||
"""
|
||||
The paging fault type.
|
||||
"""
|
||||
|
||||
SYSTEM_PAGING_STATE: Final = "system.paging.state"
|
||||
"""
|
||||
The memory paging state.
|
||||
@@ -74,17 +79,17 @@ The memory paging state.
|
||||
|
||||
SYSTEM_PAGING_TYPE: Final = "system.paging.type"
|
||||
"""
|
||||
The memory paging type.
|
||||
Deprecated: Replaced by `system.paging.fault.type`.
|
||||
"""
|
||||
|
||||
SYSTEM_PROCESS_STATUS: Final = "system.process.status"
|
||||
"""
|
||||
The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES).
|
||||
Deprecated: Replaced by `process.state`.
|
||||
"""
|
||||
|
||||
SYSTEM_PROCESSES_STATUS: Final = "system.processes.status"
|
||||
"""
|
||||
Deprecated: Replaced by `system.process.status`.
|
||||
Deprecated: Replaced by `process.state`.
|
||||
"""
|
||||
|
||||
|
||||
@@ -182,6 +187,13 @@ class SystemPagingDirectionValues(Enum):
|
||||
"""out."""
|
||||
|
||||
|
||||
class SystemPagingFaultTypeValues(Enum):
|
||||
MAJOR = "major"
|
||||
"""major."""
|
||||
MINOR = "minor"
|
||||
"""minor."""
|
||||
|
||||
|
||||
class SystemPagingStateValues(Enum):
|
||||
USED = "used"
|
||||
"""used."""
|
||||
@@ -189,6 +201,9 @@ class SystemPagingStateValues(Enum):
|
||||
"""free."""
|
||||
|
||||
|
||||
@deprecated(
|
||||
"The attribute system.paging.type is deprecated - Replaced by `system.paging.fault.type`"
|
||||
)
|
||||
class SystemPagingTypeValues(Enum):
|
||||
MAJOR = "major"
|
||||
"""major."""
|
||||
@@ -196,6 +211,9 @@ class SystemPagingTypeValues(Enum):
|
||||
"""minor."""
|
||||
|
||||
|
||||
@deprecated(
|
||||
"The attribute system.process.status is deprecated - Replaced by `process.state`"
|
||||
)
|
||||
class SystemProcessStatusValues(Enum):
|
||||
RUNNING = "running"
|
||||
"""running."""
|
||||
@@ -208,7 +226,7 @@ class SystemProcessStatusValues(Enum):
|
||||
|
||||
|
||||
@deprecated(
|
||||
"The attribute system.processes.status is deprecated - Replaced by `system.process.status`"
|
||||
"The attribute system.processes.status is deprecated - Replaced by `process.state`"
|
||||
)
|
||||
class SystemProcessesStatusValues(Enum):
|
||||
RUNNING = "running"
|
||||
|
||||
@@ -17,9 +17,28 @@ from typing import Final
|
||||
THREAD_ID: Final = "thread.id"
|
||||
"""
|
||||
Current "managed" thread ID (as opposed to OS thread ID).
|
||||
Note: Examples of where the value can be extracted from:
|
||||
|
||||
| Language or platform | Source |
|
||||
| --- | --- |
|
||||
| JVM | `Thread.currentThread().threadId()` |
|
||||
| .NET | `Thread.CurrentThread.ManagedThreadId` |
|
||||
| Python | `threading.current_thread().ident` |
|
||||
| Ruby | `Thread.current.object_id` |
|
||||
| C++ | `std::this_thread::get_id()` |
|
||||
| Erlang | `erlang:self()` |.
|
||||
"""
|
||||
|
||||
THREAD_NAME: Final = "thread.name"
|
||||
"""
|
||||
Current thread name.
|
||||
Note: Examples of where the value can be extracted from:
|
||||
|
||||
| Language or platform | Source |
|
||||
| --- | --- |
|
||||
| JVM | `Thread.currentThread().getName()` |
|
||||
| .NET | `Thread.CurrentThread.Name` |
|
||||
| Python | `threading.current_thread().name` |
|
||||
| Ruby | `Thread.current.name` |
|
||||
| Erlang | `erlang:process_info(self(), registered_name)` |.
|
||||
"""
|
||||
|
||||
@@ -151,7 +151,7 @@ Deprecated: Replaced by `vcs.ref.head.type`.
|
||||
|
||||
VCS_REPOSITORY_URL_FULL: Final = "vcs.repository.url.full"
|
||||
"""
|
||||
The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser.
|
||||
The [canonical URL](https://support.google.com/webmasters/answer/10347851) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser.
|
||||
Note: In Git Version Control Systems, the canonical URL SHOULD NOT include
|
||||
the `.git` extension.
|
||||
"""
|
||||
|
||||
@@ -160,6 +160,64 @@ def create_container_filesystem_usage(meter: Meter) -> UpDownCounter:
|
||||
)
|
||||
|
||||
|
||||
CONTAINER_MEMORY_AVAILABLE: Final = "container.memory.available"
|
||||
"""
|
||||
Container memory available
|
||||
Instrument: updowncounter
|
||||
Unit: By
|
||||
Note: Available memory for use. This is defined as the memory limit - workingSetBytes. If memory limit is undefined, the available bytes is omitted.
|
||||
In general, this metric can be derived from [cadvisor](https://github.com/google/cadvisor/blob/v0.53.0/docs/storage/prometheus.md#prometheus-container-metrics) and by subtracting the `container_memory_working_set_bytes` metric from the `container_spec_memory_limit_bytes` metric.
|
||||
In K8s, this metric is derived from the [MemoryStats.AvailableBytes](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#MemoryStats) field of the [PodStats.Memory](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#PodStats) of the Kubelet's stats API.
|
||||
"""
|
||||
|
||||
|
||||
def create_container_memory_available(meter: Meter) -> UpDownCounter:
|
||||
"""Container memory available"""
|
||||
return meter.create_up_down_counter(
|
||||
name=CONTAINER_MEMORY_AVAILABLE,
|
||||
description="Container memory available.",
|
||||
unit="By",
|
||||
)
|
||||
|
||||
|
||||
CONTAINER_MEMORY_PAGING_FAULTS: Final = "container.memory.paging.faults"
|
||||
"""
|
||||
Container memory paging faults
|
||||
Instrument: counter
|
||||
Unit: {fault}
|
||||
Note: In general, this metric can be derived from [cadvisor](https://github.com/google/cadvisor/blob/v0.53.0/docs/storage/prometheus.md#prometheus-container-metrics) and specifically the `container_memory_failures_total{failure_type=pgfault, scope=container}` and `container_memory_failures_total{failure_type=pgmajfault, scope=container}`metric.
|
||||
In K8s, this metric is derived from the [MemoryStats.PageFaults](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#MemoryStats) and [MemoryStats.MajorPageFaults](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#MemoryStats) field of the [PodStats.Memory](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#PodStats) of the Kubelet's stats API.
|
||||
"""
|
||||
|
||||
|
||||
def create_container_memory_paging_faults(meter: Meter) -> Counter:
|
||||
"""Container memory paging faults"""
|
||||
return meter.create_counter(
|
||||
name=CONTAINER_MEMORY_PAGING_FAULTS,
|
||||
description="Container memory paging faults.",
|
||||
unit="{fault}",
|
||||
)
|
||||
|
||||
|
||||
CONTAINER_MEMORY_RSS: Final = "container.memory.rss"
|
||||
"""
|
||||
Container memory RSS
|
||||
Instrument: updowncounter
|
||||
Unit: By
|
||||
Note: In general, this metric can be derived from [cadvisor](https://github.com/google/cadvisor/blob/v0.53.0/docs/storage/prometheus.md#prometheus-container-metrics) and specifically the `container_memory_rss` metric.
|
||||
In K8s, this metric is derived from the [MemoryStats.RSSBytes](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#MemoryStats) field of the [PodStats.Memory](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#PodStats) of the Kubelet's stats API.
|
||||
"""
|
||||
|
||||
|
||||
def create_container_memory_rss(meter: Meter) -> UpDownCounter:
|
||||
"""Container memory RSS"""
|
||||
return meter.create_up_down_counter(
|
||||
name=CONTAINER_MEMORY_RSS,
|
||||
description="Container memory RSS.",
|
||||
unit="By",
|
||||
)
|
||||
|
||||
|
||||
CONTAINER_MEMORY_USAGE: Final = "container.memory.usage"
|
||||
"""
|
||||
Memory usage of the container
|
||||
@@ -178,6 +236,25 @@ def create_container_memory_usage(meter: Meter) -> Counter:
|
||||
)
|
||||
|
||||
|
||||
CONTAINER_MEMORY_WORKING_SET: Final = "container.memory.working_set"
|
||||
"""
|
||||
Container memory working set
|
||||
Instrument: updowncounter
|
||||
Unit: By
|
||||
Note: In general, this metric can be derived from [cadvisor](https://github.com/google/cadvisor/blob/v0.53.0/docs/storage/prometheus.md#prometheus-container-metrics) and specifically the `container_memory_working_set_bytes` metric.
|
||||
In K8s, this metric is derived from the [MemoryStats.WorkingSetBytes](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#MemoryStats) field of the [PodStats.Memory](https://pkg.go.dev/k8s.io/kubelet@v0.34.0/pkg/apis/stats/v1alpha1#PodStats) of the Kubelet's stats API.
|
||||
"""
|
||||
|
||||
|
||||
def create_container_memory_working_set(meter: Meter) -> UpDownCounter:
|
||||
"""Container memory working set"""
|
||||
return meter.create_up_down_counter(
|
||||
name=CONTAINER_MEMORY_WORKING_SET,
|
||||
description="Container memory working set.",
|
||||
unit="By",
|
||||
)
|
||||
|
||||
|
||||
CONTAINER_NETWORK_IO: Final = "container.network.io"
|
||||
"""
|
||||
Network bytes for the container
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -58,12 +58,7 @@ def create_rpc_client_request_size(meter: Meter) -> Histogram:
|
||||
|
||||
RPC_CLIENT_REQUESTS_PER_RPC: Final = "rpc.client.requests_per_rpc"
|
||||
"""
|
||||
Measures the number of messages received per RPC
|
||||
Instrument: histogram
|
||||
Unit: {count}
|
||||
Note: Should be 1 for all non-streaming RPCs.
|
||||
|
||||
**Streaming**: This metric is required for server and client streaming RPCs.
|
||||
Deprecated: Removed, no replacement at this time.
|
||||
"""
|
||||
|
||||
|
||||
@@ -96,12 +91,7 @@ def create_rpc_client_response_size(meter: Meter) -> Histogram:
|
||||
|
||||
RPC_CLIENT_RESPONSES_PER_RPC: Final = "rpc.client.responses_per_rpc"
|
||||
"""
|
||||
Measures the number of messages sent per RPC
|
||||
Instrument: histogram
|
||||
Unit: {count}
|
||||
Note: Should be 1 for all non-streaming RPCs.
|
||||
|
||||
**Streaming**: This metric is required for server and client streaming RPCs.
|
||||
Deprecated: Removed, no replacement at this time.
|
||||
"""
|
||||
|
||||
|
||||
@@ -155,12 +145,7 @@ def create_rpc_server_request_size(meter: Meter) -> Histogram:
|
||||
|
||||
RPC_SERVER_REQUESTS_PER_RPC: Final = "rpc.server.requests_per_rpc"
|
||||
"""
|
||||
Measures the number of messages received per RPC
|
||||
Instrument: histogram
|
||||
Unit: {count}
|
||||
Note: Should be 1 for all non-streaming RPCs.
|
||||
|
||||
**Streaming** : This metric is required for server and client streaming RPCs.
|
||||
Deprecated: Removed, no replacement at this time.
|
||||
"""
|
||||
|
||||
|
||||
@@ -193,12 +178,7 @@ def create_rpc_server_response_size(meter: Meter) -> Histogram:
|
||||
|
||||
RPC_SERVER_RESPONSES_PER_RPC: Final = "rpc.server.responses_per_rpc"
|
||||
"""
|
||||
Measures the number of messages sent per RPC
|
||||
Instrument: histogram
|
||||
Unit: {count}
|
||||
Note: Should be 1 for all non-streaming RPCs.
|
||||
|
||||
**Streaming**: This metric is required for server and client streaming RPCs.
|
||||
Deprecated: Removed, no replacement at this time.
|
||||
"""
|
||||
|
||||
|
||||
|
||||
@@ -133,17 +133,17 @@ def create_system_cpu_utilization(
|
||||
|
||||
SYSTEM_DISK_IO: Final = "system.disk.io"
|
||||
"""
|
||||
TODO
|
||||
Disk bytes transferred
|
||||
Instrument: counter
|
||||
Unit: By
|
||||
"""
|
||||
|
||||
|
||||
def create_system_disk_io(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""Disk bytes transferred"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_DISK_IO,
|
||||
description="TODO.",
|
||||
description="Disk bytes transferred.",
|
||||
unit="By",
|
||||
)
|
||||
|
||||
@@ -190,17 +190,17 @@ def create_system_disk_limit(meter: Meter) -> UpDownCounter:
|
||||
|
||||
SYSTEM_DISK_MERGED: Final = "system.disk.merged"
|
||||
"""
|
||||
TODO
|
||||
The number of disk reads/writes merged into single physical disk access operations
|
||||
Instrument: counter
|
||||
Unit: {operation}
|
||||
"""
|
||||
|
||||
|
||||
def create_system_disk_merged(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""The number of disk reads/writes merged into single physical disk access operations"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_DISK_MERGED,
|
||||
description="TODO.",
|
||||
description="The number of disk reads/writes merged into single physical disk access operations.",
|
||||
unit="{operation}",
|
||||
)
|
||||
|
||||
@@ -228,17 +228,17 @@ def create_system_disk_operation_time(meter: Meter) -> Counter:
|
||||
|
||||
SYSTEM_DISK_OPERATIONS: Final = "system.disk.operations"
|
||||
"""
|
||||
TODO
|
||||
Disk operations count
|
||||
Instrument: counter
|
||||
Unit: {operation}
|
||||
"""
|
||||
|
||||
|
||||
def create_system_disk_operations(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""Disk operations count"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_DISK_OPERATIONS,
|
||||
description="TODO.",
|
||||
description="Disk operations count.",
|
||||
unit="{operation}",
|
||||
)
|
||||
|
||||
@@ -281,7 +281,7 @@ def create_system_filesystem_usage(meter: Meter) -> UpDownCounter:
|
||||
|
||||
SYSTEM_FILESYSTEM_UTILIZATION: Final = "system.filesystem.utilization"
|
||||
"""
|
||||
TODO
|
||||
Fraction of filesystem bytes used
|
||||
Instrument: gauge
|
||||
Unit: 1
|
||||
"""
|
||||
@@ -290,11 +290,11 @@ Unit: 1
|
||||
def create_system_filesystem_utilization(
|
||||
meter: Meter, callbacks: Optional[Sequence[CallbackT]]
|
||||
) -> ObservableGauge:
|
||||
"""TODO"""
|
||||
"""Fraction of filesystem bytes used"""
|
||||
return meter.create_observable_gauge(
|
||||
name=SYSTEM_FILESYSTEM_UTILIZATION,
|
||||
callbacks=callbacks,
|
||||
description="TODO.",
|
||||
description="Fraction of filesystem bytes used.",
|
||||
unit="1",
|
||||
)
|
||||
|
||||
@@ -396,7 +396,7 @@ def create_system_memory_usage(meter: Meter) -> UpDownCounter:
|
||||
|
||||
SYSTEM_MEMORY_UTILIZATION: Final = "system.memory.utilization"
|
||||
"""
|
||||
TODO
|
||||
Percentage of memory bytes in use
|
||||
Instrument: gauge
|
||||
Unit: 1
|
||||
"""
|
||||
@@ -405,28 +405,28 @@ Unit: 1
|
||||
def create_system_memory_utilization(
|
||||
meter: Meter, callbacks: Optional[Sequence[CallbackT]]
|
||||
) -> ObservableGauge:
|
||||
"""TODO"""
|
||||
"""Percentage of memory bytes in use"""
|
||||
return meter.create_observable_gauge(
|
||||
name=SYSTEM_MEMORY_UTILIZATION,
|
||||
callbacks=callbacks,
|
||||
description="TODO.",
|
||||
description="Percentage of memory bytes in use.",
|
||||
unit="1",
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_NETWORK_CONNECTION_COUNT: Final = "system.network.connection.count"
|
||||
"""
|
||||
TODO
|
||||
The number of connections
|
||||
Instrument: updowncounter
|
||||
Unit: {connection}
|
||||
"""
|
||||
|
||||
|
||||
def create_system_network_connection_count(meter: Meter) -> UpDownCounter:
|
||||
"""TODO"""
|
||||
"""The number of connections"""
|
||||
return meter.create_up_down_counter(
|
||||
name=SYSTEM_NETWORK_CONNECTION_COUNT,
|
||||
description="TODO.",
|
||||
description="The number of connections.",
|
||||
unit="{connection}",
|
||||
)
|
||||
|
||||
@@ -446,6 +446,21 @@ def create_system_network_connections(meter: Meter) -> UpDownCounter:
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_NETWORK_DROPPED: Final = "system.network.dropped"
|
||||
"""
|
||||
Deprecated: Replaced by `system.network.packet.dropped`.
|
||||
"""
|
||||
|
||||
|
||||
def create_system_network_dropped(meter: Meter) -> Counter:
|
||||
"""Count of packets that are dropped or discarded even though there was no error"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_NETWORK_DROPPED,
|
||||
description="Count of packets that are dropped or discarded even though there was no error.",
|
||||
unit="{packet}",
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_NETWORK_ERRORS: Final = "system.network.errors"
|
||||
"""
|
||||
Count of network errors detected
|
||||
@@ -470,34 +485,34 @@ def create_system_network_errors(meter: Meter) -> Counter:
|
||||
|
||||
SYSTEM_NETWORK_IO: Final = "system.network.io"
|
||||
"""
|
||||
TODO
|
||||
The number of bytes transmitted and received
|
||||
Instrument: counter
|
||||
Unit: By
|
||||
"""
|
||||
|
||||
|
||||
def create_system_network_io(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""The number of bytes transmitted and received"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_NETWORK_IO,
|
||||
description="TODO.",
|
||||
description="The number of bytes transmitted and received.",
|
||||
unit="By",
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_NETWORK_PACKET_COUNT: Final = "system.network.packet.count"
|
||||
"""
|
||||
TODO
|
||||
The number of packets transferred
|
||||
Instrument: counter
|
||||
Unit: {packet}
|
||||
"""
|
||||
|
||||
|
||||
def create_system_network_packet_count(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""The number of packets transferred"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_NETWORK_PACKET_COUNT,
|
||||
description="TODO.",
|
||||
description="The number of packets transferred.",
|
||||
unit="{packet}",
|
||||
)
|
||||
|
||||
@@ -524,36 +539,51 @@ def create_system_network_packet_dropped(meter: Meter) -> Counter:
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_NETWORK_PACKETS: Final = "system.network.packets"
|
||||
"""
|
||||
Deprecated: Replaced by `system.network.packet.count`.
|
||||
"""
|
||||
|
||||
|
||||
def create_system_network_packets(meter: Meter) -> Counter:
|
||||
"""The number of packets transferred"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_NETWORK_PACKETS,
|
||||
description="The number of packets transferred.",
|
||||
unit="{packet}",
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_PAGING_FAULTS: Final = "system.paging.faults"
|
||||
"""
|
||||
TODO
|
||||
The number of page faults
|
||||
Instrument: counter
|
||||
Unit: {fault}
|
||||
"""
|
||||
|
||||
|
||||
def create_system_paging_faults(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""The number of page faults"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_PAGING_FAULTS,
|
||||
description="TODO.",
|
||||
description="The number of page faults.",
|
||||
unit="{fault}",
|
||||
)
|
||||
|
||||
|
||||
SYSTEM_PAGING_OPERATIONS: Final = "system.paging.operations"
|
||||
"""
|
||||
TODO
|
||||
The number of paging operations
|
||||
Instrument: counter
|
||||
Unit: {operation}
|
||||
"""
|
||||
|
||||
|
||||
def create_system_paging_operations(meter: Meter) -> Counter:
|
||||
"""TODO"""
|
||||
"""The number of paging operations"""
|
||||
return meter.create_counter(
|
||||
name=SYSTEM_PAGING_OPERATIONS,
|
||||
description="TODO.",
|
||||
description="The number of paging operations.",
|
||||
unit="{operation}",
|
||||
)
|
||||
|
||||
@@ -577,7 +607,7 @@ def create_system_paging_usage(meter: Meter) -> UpDownCounter:
|
||||
|
||||
SYSTEM_PAGING_UTILIZATION: Final = "system.paging.utilization"
|
||||
"""
|
||||
TODO
|
||||
Swap (unix) or pagefile (windows) utilization
|
||||
Instrument: gauge
|
||||
Unit: 1
|
||||
"""
|
||||
@@ -586,11 +616,11 @@ Unit: 1
|
||||
def create_system_paging_utilization(
|
||||
meter: Meter, callbacks: Optional[Sequence[CallbackT]]
|
||||
) -> ObservableGauge:
|
||||
"""TODO"""
|
||||
"""Swap (unix) or pagefile (windows) utilization"""
|
||||
return meter.create_observable_gauge(
|
||||
name=SYSTEM_PAGING_UTILIZATION,
|
||||
callbacks=callbacks,
|
||||
description="TODO.",
|
||||
description="Swap (unix) or pagefile (windows) utilization.",
|
||||
unit="1",
|
||||
)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -40,8 +40,9 @@ HTTP_REQUEST_METHOD: Final = "http.request.method"
|
||||
"""
|
||||
HTTP request method.
|
||||
Note: HTTP request method value SHOULD be "known" to the instrumentation.
|
||||
By default, this convention defines "known" methods as the ones listed in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods)
|
||||
and the PATCH method defined in [RFC5789](https://www.rfc-editor.org/rfc/rfc5789.html).
|
||||
By default, this convention defines "known" methods as the ones listed in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110.html#name-methods),
|
||||
the PATCH method defined in [RFC5789](https://www.rfc-editor.org/rfc/rfc5789.html)
|
||||
and the QUERY method defined in [httpbis-safe-method-w-body](https://datatracker.ietf.org/doc/draft-ietf-httpbis-safe-method-w-body/?include_text=1).
|
||||
|
||||
If the HTTP request method is not known to instrumentation, it MUST set the `http.request.method` attribute to `_OTHER`.
|
||||
|
||||
@@ -93,9 +94,17 @@ HTTP_RESPONSE_STATUS_CODE: Final = "http.response.status_code"
|
||||
|
||||
HTTP_ROUTE: Final = "http.route"
|
||||
"""
|
||||
The matched route, that is, the path template in the format used by the respective server framework.
|
||||
The matched route template for the request. This MUST be low-cardinality and include all static path segments, with dynamic path segments represented with placeholders.
|
||||
Note: MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
|
||||
SHOULD include the [application root](/docs/http/http-spans.md#http-server-definitions) if there is one.
|
||||
|
||||
A static path segment is a part of the route template with a fixed, low-cardinality value. This includes literal strings like `/users/` and placeholders that
|
||||
are constrained to a finite, predefined set of values, e.g. `{controller}` or `{action}`.
|
||||
|
||||
A dynamic path segment is a placeholder for a value that can have high cardinality and is not constrained to a predefined list like static path segments.
|
||||
|
||||
Instrumentations SHOULD use routing information provided by the corresponding web framework. They SHOULD pick the most precise source of routing information and MAY
|
||||
support custom route formatting. Instrumentations SHOULD document the format and the API used to obtain the route string.
|
||||
"""
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -85,5 +85,10 @@ class Schemas(Enum):
|
||||
The URL of the OpenTelemetry schema version 1.37.0.
|
||||
"""
|
||||
|
||||
V1_38_0 = "https://opentelemetry.io/schemas/1.38.0"
|
||||
"""
|
||||
The URL of the OpenTelemetry schema version 1.38.0.
|
||||
"""
|
||||
|
||||
# when generating new semantic conventions,
|
||||
# make sure to add new versions version here.
|
||||
|
||||
@@ -12,4 +12,4 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
__version__ = "0.59b0"
|
||||
__version__ = "0.60b1"
|
||||
|
||||
Reference in New Issue
Block a user