diff --git a/docs/attributes-registry/azure.md b/docs/attributes-registry/azure.md index 2ebfa58cfc..ea45c3f5c3 100644 --- a/docs/attributes-registry/azure.md +++ b/docs/attributes-registry/azure.md @@ -6,11 +6,23 @@ # Azure +- [Azure SDK Attributes](#azure-sdk-attributes) +- [Deprecated Azure Attributes](#deprecated-azure-attributes) + ## Azure SDK Attributes This document defines generic attributes for Azure SDK. | Attribute | Type | Description | Examples | Stability | |---|---|---|---|---| -| `az.namespace` | string | [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. | `Microsoft.Storage`; `Microsoft.KeyVault`; `Microsoft.ServiceBus` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.service_request_id` | string | The unique identifier of the service request. It's generated by the Azure service and returned with the response. | `00000000-0000-0000-0000-000000000000` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.resource.namespace` | string | [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. | `Microsoft.Storage`; `Microsoft.KeyVault`; `Microsoft.ServiceBus` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.service.request.id` | string | The unique identifier of the service request. It's generated by the Azure service and returned with the response. | `00000000-0000-0000-0000-000000000000` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +## Deprecated Azure Attributes + +This section describes deprecated Azure attributes. + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `az.namespace` | string | Deprecated, use `azure.resource.namespace` instead. | `Microsoft.Storage`; `Microsoft.KeyVault`; `Microsoft.ServiceBus` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.resource.namespace`. | +| `az.service_request_id` | string | Deprecated, use `azure.service.request.id` instead. | `00000000-0000-0000-0000-000000000000` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.service.request.id`. | diff --git a/docs/attributes-registry/cloud.md b/docs/attributes-registry/cloud.md index 8865821cf7..32789a7601 100644 --- a/docs/attributes-registry/cloud.md +++ b/docs/attributes-registry/cloud.md @@ -59,13 +59,20 @@ The following well-known definitions MUST be used if you set this attribute and | `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_lambda` | AWS Lambda | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.container_apps` | Azure Container Apps | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.container_instances` | Azure Container Instances | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.functions` | Azure Functions | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.openshift` | Azure Red Hat OpenShift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.container_apps` | Azure Container Apps | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.container_instances` | Azure Container Instances | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.functions` | Azure Functions | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.openshift` | Azure Red Hat OpenShift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure_aks` | Azure Kubernetes Service | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.aks` | +| `azure_app_service.app_service` | Azure App Service | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.app_service` | +| `azure_container_apps` | Azure Container Apps | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.container_apps` | +| `azure_container_instances` | Azure Container Instances | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.container_instances` | +| `azure_functions` | Azure Functions | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.functions` | +| `azure_openshift` | Azure Red Hat OpenShift | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.openshift` | +| `azure_vm` | Azure Virtual Machines | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.vm` | | `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/gen-ai.md b/docs/attributes-registry/gen-ai.md index c29800aad6..71c1430f9e 100644 --- a/docs/attributes-registry/gen-ai.md +++ b/docs/attributes-registry/gen-ai.md @@ -70,8 +70,10 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `az.ai.inference` | Azure AI Inference | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by azure.ai.inference | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by azure.ai.openai | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/azure/events.md b/docs/azure/events.md index 66134868cc..2c7ee856b9 100644 --- a/docs/azure/events.md +++ b/docs/azure/events.md @@ -7,7 +7,7 @@ Resource Log events. ## Azure Resource Log - + @@ -16,13 +16,13 @@ Resource Log events. **Status:** ![Experimental](https://img.shields.io/badge/-experimental-blue) -The event name MUST be `az.resource.log`. +The event name MUST be `azure.resource.log`. Describes Azure Resource Log event, see [Azure Resource Log Top-level Schema](https://learn.microsoft.com/azure/azure-monitor/essentials/resource-logs-schema#top-level-common-schema) for more details. | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`az.service_request_id`](/docs/attributes-registry/azure.md) | string | The unique identifier of the service request. It's generated by the Azure service and returned with the response. | `00000000-0000-0000-0000-000000000000` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`azure.service.request.id`](/docs/attributes-registry/azure.md) | string | The unique identifier of the service request. It's generated by the Azure service and returned with the response. | `00000000-0000-0000-0000-000000000000` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`cloud.resource_id`](/docs/attributes-registry/cloud.md) | string | The [Fully Qualified Azure Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) the log is emitted for. | `arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function`; `//run.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID`; `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **Body fields:** diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index 679e1fde6c..04cc475648 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -51,7 +51,7 @@ Cosmos DB instrumentation includes call-level (public API) surface spans and net | [`db.response.status_code`](/docs/attributes-registry/db.md) | string | Cosmos DB status code. [6] | `200`; `201` | `Conditionally Required` if response was received | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | | [`error.type`](/docs/attributes-registry/error.md) | string | Describes a class of error the operation ended with. [7] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` If and only if the operation failed. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [8] | `80`; `8080`; `443` | `Conditionally Required` If not default (443). | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`az.namespace`](/docs/attributes-registry/azure.md) | string | [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. [9] | `Microsoft.DocumentDB` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`azure.resource.namespace`](/docs/attributes-registry/azure.md) | string | [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. [9] | `Microsoft.DocumentDB` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cosmosdb.client_id`](/docs/attributes-registry/db.md) | string | Unique Cosmos client instance id. | `3ba4827d-4422-483f-b59f-85b74211c11d` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.cosmosdb.request_content_length`](/docs/attributes-registry/db.md) | int | Request payload size in bytes. | | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`db.operation.batch.size`](/docs/attributes-registry/db.md) | int | The number of queries included in a batch operation. [10] | `2`; `3`; `4` | `Recommended` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | @@ -201,7 +201,7 @@ Instrumentations SHOULD document how `error.type` is populated. **[8] `server.port`:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. -**[9] `az.namespace`:** When `az.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all operations performed by Cosmos DB client. +**[9] `azure.resource.namespace`:** When `azure.resource.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all operations performed by Cosmos DB client. **[10] `db.operation.batch.size`:** Operations are only considered batches when they contain two or more operations, and so `db.operation.batch.size` SHOULD never be `1`. @@ -276,7 +276,7 @@ and SHOULD be provided **at span creation time** (if provided at all): | Key | Value | |:-------------------------------------| :------------------- | | Span name | `"read_item orders"` | -| `az.namespace` | `"Microsoft.DocumentDB"` | +| `azure.namespace` | `"Microsoft.DocumentDB"` | | `db.system` | `"cosmosdb"` | | `db.collection.name` | `"orders"` | | `db.namespace` | `"ShopDb"` | diff --git a/docs/gen-ai/azure-ai-inference.md b/docs/gen-ai/azure-ai-inference.md index 5930182a4c..85e99e8b31 100644 --- a/docs/gen-ai/azure-ai-inference.md +++ b/docs/gen-ai/azure-ai-inference.md @@ -10,11 +10,11 @@ The Semantic Conventions for [Azure AI Inference](https://learn.microsoft.com/az ## Azure AI Inference Spans -`gen_ai.system` MUST be set to `"az.ai.inference"` and SHOULD be provided **at span creation time**. +`gen_ai.system` MUST be set to `"azure.ai.inference"` and SHOULD be provided **at span creation time**. ### Attributes - + @@ -28,7 +28,7 @@ The Semantic Conventions for [Azure AI Inference](https://learn.microsoft.com/az | [`gen_ai.request.model`](/docs/attributes-registry/gen-ai.md) | string | The name of the GenAI model a request is being made to. [3] | `gpt-4` | `Conditionally Required` If available. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`gen_ai.request.seed`](/docs/attributes-registry/gen-ai.md) | int | Requests with same seed value more likely to return same result. | `100` | `Conditionally Required` if appliable and if the request includes a seed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`server.port`](/docs/attributes-registry/server.md) | int | GenAI server port. [4] | `80`; `8080`; `443` | `Conditionally Required` If not default (443). | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`az.namespace`](/docs/attributes-registry/azure.md) | string | [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. [5] | `Microsoft.CognitiveServices` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`azure.resource.namespace`](/docs/attributes-registry/azure.md) | string | [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. [5] | `Microsoft.CognitiveServices` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`gen_ai.request.encoding_formats`](/docs/attributes-registry/gen-ai.md) | string[] | The encoding formats requested in an embeddings operation, if specified. [6] | `["base64"]`; `["float", "binary"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`gen_ai.request.frequency_penalty`](/docs/attributes-registry/gen-ai.md) | double | The frequency penalty setting for the GenAI request. | `0.1` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | [`gen_ai.request.max_tokens`](/docs/attributes-registry/gen-ai.md) | int | The maximum number of tokens the model generates for a request. | `100` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -53,7 +53,7 @@ Instrumentations SHOULD document the list of errors they report. **[4] `server.port`:** When observed from the client side, and when communicating through an intermediary, `server.port` SHOULD represent the server port behind any intermediaries, for example proxies, if it's available. -**[5] `az.namespace`:** When `az.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all operations performed by Azure AI Inference clients. +**[5] `azure.resource.namespace`:** When `azure.resource.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all operations performed by Azure AI Inference clients. **[6] `gen_ai.request.encoding_formats`:** In some GenAI systems the encoding formats are called embedding types. Also, some GenAI systems only accept a single format per request. diff --git a/docs/gen-ai/gen-ai-events.md b/docs/gen-ai/gen-ai-events.md index 445347e74d..22a70b91c7 100644 --- a/docs/gen-ai/gen-ai-events.md +++ b/docs/gen-ai/gen-ai-events.md @@ -85,8 +85,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -149,8 +149,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -213,8 +213,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -292,8 +292,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -357,8 +357,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/gen-ai/gen-ai-metrics.md b/docs/gen-ai/gen-ai-metrics.md index 8efa2376e7..a74ef7846e 100644 --- a/docs/gen-ai/gen-ai-metrics.md +++ b/docs/gen-ai/gen-ai-metrics.md @@ -105,8 +105,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -207,8 +207,8 @@ Instrumentations SHOULD document the list of errors they report. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -307,8 +307,8 @@ Instrumentations SHOULD document the list of errors they report. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -394,8 +394,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | @@ -480,8 +480,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/gen-ai/gen-ai-spans.md b/docs/gen-ai/gen-ai-spans.md index 54ebc54f37..8c3ab9d816 100644 --- a/docs/gen-ai/gen-ai-spans.md +++ b/docs/gen-ai/gen-ai-spans.md @@ -125,8 +125,8 @@ Instrumentations SHOULD document the list of errors they report. |---|---|---| | `anthropic` | Anthropic | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws.bedrock` | AWS Bedrock | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cohere` | Cohere | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deepseek` | DeepSeek | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gemini` | Gemini | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/cloud.md b/docs/resource/cloud.md index e0133e72a9..8746711c63 100644 --- a/docs/resource/cloud.md +++ b/docs/resource/cloud.md @@ -63,13 +63,13 @@ The following well-known definitions MUST be used if you set this attribute and | `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_lambda` | AWS Lambda | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.container_apps` | Azure Container Apps | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.container_instances` | Azure Container Instances | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.functions` | Azure Functions | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.openshift` | Azure Red Hat OpenShift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `az.vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.aks` | Azure Kubernetes Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.app_service` | Azure App Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.container_apps` | Azure Container Apps | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.container_instances` | Azure Container Instances | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.functions` | Azure Functions | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.openshift` | Azure Red Hat OpenShift | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `azure.vm` | Azure Virtual Machines | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/azure/deprecated/events-deprecated.yaml b/model/azure/deprecated/events-deprecated.yaml new file mode 100644 index 0000000000..cb8b189f43 --- /dev/null +++ b/model/azure/deprecated/events-deprecated.yaml @@ -0,0 +1,17 @@ +groups: + - id: event.az.resource.log + stability: experimental + type: event + name: az.resource.log + brief: > + Deprecated. Use `azure.resource.log` instead. + deprecated: "Replaced by `azure.resource.log`." + attributes: + - ref: az.service_request_id + - ref: cloud.resource_id + brief: The [Fully Qualified Azure Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) the log is emitted for. + note: "" + body: + id: az.resource.log + requirement_level: recommended + type: undefined diff --git a/model/azure/deprecated/registry-deprecated.yaml b/model/azure/deprecated/registry-deprecated.yaml new file mode 100644 index 0000000000..700a6e5507 --- /dev/null +++ b/model/azure/deprecated/registry-deprecated.yaml @@ -0,0 +1,21 @@ +groups: + - id: registry.azure.deprecated + type: attribute_group + display_name: Deprecated Azure Attributes + brief: > + This section describes deprecated Azure attributes. + attributes: + - id: az.service_request_id + type: string + stability: development + brief: "Deprecated, use `azure.service.request.id` instead." + deprecated: "Replaced by `azure.service.request.id`." + examples: + - "00000000-0000-0000-0000-000000000000" + - id: az.namespace + type: string + stability: development + brief: > + Deprecated, use `azure.resource.namespace` instead. + deprecated: "Replaced by `azure.resource.namespace`." + examples: ["Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus"] diff --git a/model/azure/events.yaml b/model/azure/events.yaml index 75079f503d..ae9db9a278 100644 --- a/model/azure/events.yaml +++ b/model/azure/events.yaml @@ -1,43 +1,43 @@ groups: - - id: event.az.resource.log - stability: experimental + - id: event.azure.resource.log + stability: development type: event - name: az.resource.log + name: azure.resource.log brief: > Describes Azure Resource Log event, see [Azure Resource Log Top-level Schema](https://learn.microsoft.com/azure/azure-monitor/essentials/resource-logs-schema#top-level-common-schema) for more details. attributes: - - ref: az.service_request_id + - ref: azure.service.request.id - ref: cloud.resource_id brief: The [Fully Qualified Azure Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) the log is emitted for. note: "" body: - id: az.resource.log + id: azure.resource.log requirement_level: recommended type: map fields: - id: category type: string - stability: experimental + stability: development brief: "The Azure category of the log entry." requirement_level: recommended examples: ["AuditEvent", "GatewayLogs", "ApplicationGatewayAccessLog"] - id: correlation.id type: string requirement_level: recommended - stability: experimental + stability: development brief: "The correlation ID of the log entry." examples: ["607964b6-41a5-4e24-a5db-db7aab3b9b34"] - id: duration type: int - stability: experimental + stability: development requirement_level: recommended brief: "The duration of the operations in milliseconds." examples: [1000] - id: identity type: undefined - stability: experimental + stability: development brief: > "A JSON blob that describes the identity of the user or application that performed the operation." note: | @@ -48,42 +48,42 @@ groups: requirement_level: opt_in - id: operation.name type: string - stability: experimental + stability: development requirement_level: recommended brief: "The name of the operation." examples: ["SecretGet", "Microsoft.ApiManagement/GatewayLogs", "ApplicationGatewayAccess"] - id: operation.version type: string - stability: experimental + stability: development requirement_level: recommended brief: "The version of the operation." examples: ["1.0"] - id: properties type: undefined requirement_level: recommended - stability: experimental + stability: development brief: The properties provided in the Azure Resource Log. - id: result.type type: string - stability: experimental + stability: development requirement_level: recommended brief: The status associated with the logged event. examples: ["Succeeded", "Failed", "Started"] - id: result.signature type: string - stability: experimental + stability: development requirement_level: recommended brief: The substatus of associated with the logged event. examples: ["OK"] - id: result.description type: string - stability: experimental + stability: development requirement_level: recommended brief: "The description of the result." examples: ["The operation was successful", "The operation failed"] - id: tenant.id type: string - stability: experimental + stability: development brief: "The tenant ID of the Active Directory tenant that this event is tied to." requirement_level: conditionally_required: "if the event is tied to an Active Directory tenant." diff --git a/model/azure/registry.yaml b/model/azure/registry.yaml index dea2e1dd83..d9ac84d272 100644 --- a/model/azure/registry.yaml +++ b/model/azure/registry.yaml @@ -5,15 +5,15 @@ groups: brief: > This document defines generic attributes for Azure SDK. attributes: - - id: az.service_request_id + - id: azure.service.request.id type: string - stability: experimental + stability: development brief: "The unique identifier of the service request. It's generated by the Azure service and returned with the response." examples: - "00000000-0000-0000-0000-000000000000" - - id: az.namespace + - id: azure.resource.namespace type: string - stability: experimental + stability: development brief: > [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. diff --git a/model/cloud/registry.yaml b/model/cloud/registry.yaml index b191225791..8e9b87a9e1 100644 --- a/model/cloud/registry.yaml +++ b/model/cloud/registry.yaml @@ -145,34 +145,69 @@ groups: value: 'aws_openshift' brief: Red Hat OpenShift on AWS (ROSA) stability: experimental - - id: az.vm - value: 'az.vm' + - id: azure.vm + value: 'azure.vm' brief: Azure Virtual Machines - stability: experimental - - id: az.container_apps - value: 'az.container_apps' + stability: development + - id: azure.container_apps + value: 'azure.container_apps' brief: Azure Container Apps - stability: experimental - - id: az.container_instances - value: 'az.container_instances' + stability: development + - id: azure.container_instances + value: 'azure.container_instances' brief: Azure Container Instances - stability: experimental - - id: az.aks - value: 'az.aks' + stability: development + - id: azure.aks + value: 'azure.aks' brief: Azure Kubernetes Service - stability: experimental - - id: az.functions - value: 'az.functions' + stability: development + - id: azure.functions + value: 'azure.functions' brief: Azure Functions - stability: experimental - - id: az.app_service - value: 'az.app_service' + stability: development + - id: azure.app_service + value: 'azure.app_service' brief: Azure App Service - stability: experimental - - id: az.openshift - value: 'az.openshift' + stability: development + - id: azure.openshift + value: 'azure.openshift' brief: Azure Red Hat OpenShift - stability: experimental + stability: development + - id: azure_vm + value: 'azure_vm' + brief: Azure Virtual Machines + stability: development + deprecated: "Replaced by `azure.vm`" + - id: azure_container_apps + value: 'azure_container_apps' + brief: Azure Container Apps + stability: development + deprecated: "Replaced by `azure.container_apps`" + - id: azure_container_instances + value: 'azure_container_instances' + brief: Azure Container Instances + stability: development + deprecated: "Replaced by `azure.container_instances`" + - id: azure_aks + value: 'azure_aks' + brief: Azure Kubernetes Service + stability: development + deprecated: "Replaced by `azure.aks`" + - id: azure_functions + value: 'azure_functions' + brief: Azure Functions + stability: development + deprecated: "Replaced by `azure.functions`" + - id: azure_app_service + value: 'azure_app_service.app_service' + brief: Azure App Service + stability: development + deprecated: "Replaced by `azure.app_service`" + - id: azure_openshift + value: 'azure_openshift' + brief: Azure Red Hat OpenShift + stability: development + deprecated: "Replaced by `azure.openshift`" - id: gcp_bare_metal_solution value: 'gcp_bare_metal_solution' brief: Google Bare Metal Solution (BMS) diff --git a/model/database/spans.yaml b/model/database/spans.yaml index b03a9cf9a1..df41c00a14 100644 --- a/model/database/spans.yaml +++ b/model/database/spans.yaml @@ -656,9 +656,9 @@ groups: requirement_level: conditionally_required: If available. note: "" # overriding the base note - - ref: az.namespace + - ref: azure.resource.namespace note: > - When `az.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all + When `azure.resource.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all operations performed by Cosmos DB client. examples: ["Microsoft.DocumentDB"] - ref: db.operation.name diff --git a/model/gen-ai/registry.yaml b/model/gen-ai/registry.yaml index dd7d36230e..113cb48f56 100644 --- a/model/gen-ai/registry.yaml +++ b/model/gen-ai/registry.yaml @@ -29,14 +29,24 @@ groups: stability: experimental value: "cohere" brief: 'Cohere' + - id: azure.ai.inference + stability: development + value: "azure.ai.inference" + brief: 'Azure AI Inference' + - id: azure.ai.openai + stability: development + value: "azure.ai.openai" + brief: 'Azure OpenAI' - id: az.ai.inference - stability: experimental + stability: development value: "az.ai.inference" + deprecated: "Replaced by azure.ai.inference" brief: 'Azure AI Inference' - - id: az.ai.openai - stability: experimental - value: "az.ai.openai" + - id: azure.ai.openai + stability: development + value: "azure.ai.openai" brief: 'Azure OpenAI' + deprecated: "Replaced by azure.ai.openai" - id: ibm.watsonx.ai stability: experimental value: "ibm.watsonx.ai" diff --git a/model/gen-ai/spans.yaml b/model/gen-ai/spans.yaml index 1d1311d9a1..fe00e5b8ea 100644 --- a/model/gen-ai/spans.yaml +++ b/model/gen-ai/spans.yaml @@ -101,16 +101,16 @@ groups: - ref: gen_ai.usage.output_tokens brief: The number of tokens used in the completions from OpenAI. - - id: trace.gen_ai.az.ai.inference.client + - id: trace.gen_ai.azure.ai.inference.client extends: trace.gen_ai.client.common_attributes stability: experimental type: attribute_group brief: > Describes Azure AI Inference span attributes. attributes: - - ref: az.namespace + - ref: azure.resource.namespace note: > - When `az.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all + When `azure.resource.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all operations performed by Azure AI Inference clients. examples: ["Microsoft.CognitiveServices"] - ref: gen_ai.usage.input_tokens