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