diff --git a/.chloggen/1698.yaml b/.chloggen/1698.yaml new file mode 100644 index 0000000000..20af80788c --- /dev/null +++ b/.chloggen/1698.yaml @@ -0,0 +1,20 @@ +change_type: breaking +component: azure +note: Align azure events, attributes, and enum members with general naming guidelines. +issues: [608, 1708, 1698] +subtext: | + - Renamed attributes: + - `az.service_request_id` to `azure.service.request.id` + - `az.namespace` to `azure.resource_provider.namespace` + - Renamed events: + - `az.resource.log` to `azure.resource.log` + - Renamed enum members: + - `az.ai.inference` to `azure.ai.inference` (on `gen_ai.system`) + - `az.ai.openai` to `azure.ai.openai` (on `gen_ai.system`) + - `azure_aks` to `azure.aks` (on `cloud.platform`) + - `azure_app_service` to `azure.app_service` (on `cloud.platform`) + - `azure_container_apps` to `azure.container_apps` (on `cloud.platform`) + - `azure_container_instances` to `azure.container_instances` (on `cloud.platform`) + - `azure_functions` to `azure.functions` (on `cloud.platform`) + - `azure_openshift` to `azure.open_shift` (on `cloud.platform`) + - `azure_vm` to `azure.vm` (on `cloud.platform`) diff --git a/docs/azure/events.md b/docs/azure/events.md index 5cfabb36fd..52df5d5c69 100644 --- a/docs/azure/events.md +++ b/docs/azure/events.md @@ -11,7 +11,7 @@ Resource Log events. ## Azure Resource Log - + @@ -20,14 +20,14 @@ Resource Log events. **Status:** ![Development](https://img.shields.io/badge/-development-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/registry/attributes/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` | ![Development](https://img.shields.io/badge/-development-blue) | -| [`cloud.resource_id`](/docs/registry/attributes/cloud.md) | string | The [Fully Qualified Azure Resource ID](https://docs.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` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`azure.service.request.id`](/docs/registry/attributes/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` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`cloud.resource_id`](/docs/registry/attributes/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` | ![Development](https://img.shields.io/badge/-development-blue) | **Body fields:** diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index da1bb871ba..2f6aef9dc4 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -59,9 +59,9 @@ Semantic conventions described in this document apply to the call-level spans on | [`db.response.status_code`](/docs/registry/attributes/db.md) | string | Cosmos DB status code. [5] | `200`; `201` | `Conditionally Required` if response was received | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`error.type`](/docs/registry/attributes/error.md) | string | Describes a class of error the operation ended with. [6] | `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/registry/attributes/server.md) | int | Server port number. [7] | `80`; `8080`; `443` | `Conditionally Required` If not default (443). | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`az.namespace`](/docs/registry/attributes/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. [8] | `Microsoft.DocumentDB` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`azure.client.id`](/docs/registry/attributes/azure.md) | string | The unique identifier of the client instance. | `3ba4827d-4422-483f-b59f-85b74211c11d`; `storage-client-1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`azure.cosmosdb.request.body.size`](/docs/registry/attributes/azure.md) | int | Request payload size in bytes. | | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`azure.resource_provider.namespace`](/docs/registry/attributes/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. [8] | `Microsoft.DocumentDB` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`db.operation.batch.size`](/docs/registry/attributes/db.md) | int | The number of queries included in a batch operation. [9] | `2`; `3`; `4` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.query.text`](/docs/registry/attributes/db.md) | string | The database query being executed. [10] | `SELECT * FROM wuser_table where username = ?`; `SET mykey ?` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | [`db.stored_procedure.name`](/docs/registry/attributes/db.md) | string | The name of a stored procedure within the database. [11] | `GetCustomer` | `Recommended` [12] | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | @@ -207,7 +207,7 @@ Instrumentations SHOULD document how `error.type` is populated. **[7] `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. -**[8] `az.namespace`:** When `az.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all operations performed by Cosmos DB client. +**[8] `azure.resource_provider.namespace`:** When `azure.resource_provider.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all operations performed by Cosmos DB client. **[9] `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`. @@ -293,11 +293,11 @@ and SHOULD be provided **at span creation time** (if provided at all): | Key | Value | |:-------------------------------------| :------------------- | | Span name | `"read_item orders"` | -| `az.namespace` | `"Microsoft.DocumentDB"` | | `azure.client.id` | `"3ba4827d-4422-483f-b59f-85b74211c11d"` | | `azure.cosmosdb.operation.request_charge` | `7.43` | | `azure.cosmosdb.request.body.size` | `20` | | `azure.cosmosdb.response.sub_status_code` | `0` | +| `azure.resource_provider.namespace` | `"Microsoft.DocumentDB"` | | `db.system.name` | `"azure.cosmosdb"` | | `db.collection.name` | `"orders"` | | `db.namespace` | `"ShopDb"` | diff --git a/docs/faas/faas-spans.md b/docs/faas/faas-spans.md index f0d880969d..9b5a8dce7f 100644 --- a/docs/faas/faas-spans.md +++ b/docs/faas/faas-spans.md @@ -63,7 +63,7 @@ The following well-known definitions MUST be used if you set this attribute and with the resolved function version, as the same runtime instance may be invocable with multiple different aliases. - **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) -- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, +- **Azure:** The [Fully Qualified Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, *not* the function app, having the form `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share diff --git a/docs/gen-ai/aws-bedrock.md b/docs/gen-ai/aws-bedrock.md index 08bf6f25b3..92edf6b57c 100644 --- a/docs/gen-ai/aws-bedrock.md +++ b/docs/gen-ai/aws-bedrock.md @@ -145,8 +145,8 @@ Additional output format details may be recorded in the future in the `gen_ai.ou |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [11] | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/gen-ai/azure-ai-inference.md b/docs/gen-ai/azure-ai-inference.md index e88ceb2d16..c89e28cb14 100644 --- a/docs/gen-ai/azure-ai-inference.md +++ b/docs/gen-ai/azure-ai-inference.md @@ -12,7 +12,7 @@ The Semantic Conventions for [Azure AI Inference](https://learn.microsoft.com/az ### Inference - + @@ -42,7 +42,7 @@ model name is available and `{gen_ai.operation.name}` otherwise. | [`gen_ai.request.model`](/docs/registry/attributes/gen-ai.md) | string | The name of the GenAI model a request is being made to. [6] | `gpt-4` | `Conditionally Required` If available. | ![Development](https://img.shields.io/badge/-development-blue) | | [`gen_ai.request.seed`](/docs/registry/attributes/gen-ai.md) | int | Requests with same seed value more likely to return same result. | `100` | `Conditionally Required` if applicable and if the request includes a seed | ![Development](https://img.shields.io/badge/-development-blue) | | [`server.port`](/docs/registry/attributes/server.md) | int | GenAI server port. [7] | `80`; `8080`; `443` | `Conditionally Required` If not default (443). | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | -| [`az.namespace`](/docs/registry/attributes/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. [8] | `Microsoft.CognitiveServices` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | +| [`azure.resource_provider.namespace`](/docs/registry/attributes/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. [8] | `Microsoft.CognitiveServices` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gen_ai.request.frequency_penalty`](/docs/registry/attributes/gen-ai.md) | double | The frequency penalty setting for the GenAI request. | `0.1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gen_ai.request.max_tokens`](/docs/registry/attributes/gen-ai.md) | int | The maximum number of tokens the model generates for a request. | `100` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | | [`gen_ai.request.presence_penalty`](/docs/registry/attributes/gen-ai.md) | double | The presence penalty setting for the GenAI request. | `0.1` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) | @@ -95,7 +95,7 @@ Additional output format details may be recorded in the future in the **[7] `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. -**[8] `az.namespace`:** When `az.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all operations performed by Azure AI Inference clients. +**[8] `azure.resource_provider.namespace`:** When `azure.resource_provider.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all operations performed by Azure AI Inference clients. **[9] `gen_ai.response.model`:** If available. The name of the GenAI model that provided the response. If the model is supplied by a vendor, then the value must be the exact name of the model actually used. If the model is a fine-tuned custom model, the value should have a more specific name than the base model that's been fine-tuned. diff --git a/docs/gen-ai/gen-ai-agent-spans.md b/docs/gen-ai/gen-ai-agent-spans.md index 06517b7c00..83cdbb4826 100644 --- a/docs/gen-ai/gen-ai-agent-spans.md +++ b/docs/gen-ai/gen-ai-agent-spans.md @@ -115,8 +115,8 @@ Instrumentations SHOULD document the list of errors they report. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [7] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -279,8 +279,8 @@ Additional output format details may be recorded in the future in the `gen_ai.ou |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [12] | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/gen-ai/gen-ai-events.md b/docs/gen-ai/gen-ai-events.md index 8f22c55676..95f15e7af6 100644 --- a/docs/gen-ai/gen-ai-events.md +++ b/docs/gen-ai/gen-ai-events.md @@ -83,8 +83,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [2] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -158,8 +158,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [2] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -233,8 +233,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [2] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -323,8 +323,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [2] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -399,8 +399,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [2] | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/gen-ai/gen-ai-metrics.md b/docs/gen-ai/gen-ai-metrics.md index 90a4f23334..d4d22b97f9 100644 --- a/docs/gen-ai/gen-ai-metrics.md +++ b/docs/gen-ai/gen-ai-metrics.md @@ -107,8 +107,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [5] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -220,8 +220,8 @@ Instrumentations SHOULD document the list of errors they report. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [6] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -331,8 +331,8 @@ Instrumentations SHOULD document the list of errors they report. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [6] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -429,8 +429,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [5] | ![Development](https://img.shields.io/badge/-development-blue) | @@ -526,8 +526,8 @@ If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER`. |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [5] | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/gen-ai/gen-ai-spans.md b/docs/gen-ai/gen-ai-spans.md index 234892f85d..74988211b3 100644 --- a/docs/gen-ai/gen-ai-spans.md +++ b/docs/gen-ai/gen-ai-spans.md @@ -154,8 +154,8 @@ Additional output format details may be recorded in the future in the `gen_ai.ou |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [11] | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/registry/attributes/azure.md b/docs/registry/attributes/azure.md index 267630c7af..ba1bf2b75d 100644 --- a/docs/registry/attributes/azure.md +++ b/docs/registry/attributes/azure.md @@ -5,6 +5,7 @@ - [Azure Client Library Attributes](#azure-client-library-attributes) - [Azure Cosmos DB Attributes](#azure-cosmos-db-attributes) +- [Deprecated Azure Attributes](#deprecated-azure-attributes) ## Azure Client Library Attributes @@ -12,9 +13,9 @@ This section defines generic attributes used by Azure Client Libraries. | 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` | ![Development](https://img.shields.io/badge/-development-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` | ![Development](https://img.shields.io/badge/-development-blue) | | `azure.client.id` | string | The unique identifier of the client instance. | `3ba4827d-4422-483f-b59f-85b74211c11d`; `storage-client-1` | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.resource_provider.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` | ![Development](https://img.shields.io/badge/-development-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` | ![Development](https://img.shields.io/badge/-development-blue) | ## Azure Cosmos DB Attributes @@ -51,3 +52,12 @@ This section defines attributes for Azure Cosmos DB. | `Eventual` | eventual | ![Development](https://img.shields.io/badge/-development-blue) | | `Session` | session | ![Development](https://img.shields.io/badge/-development-blue) | | `Strong` | strong | ![Development](https://img.shields.io/badge/-development-blue) | + +## Deprecated Azure Attributes + +This section describes deprecated Azure attributes. + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `az.namespace` | string | Deprecated, use `azure.resource_provider.namespace` instead. | `Microsoft.Storage`; `Microsoft.KeyVault`; `Microsoft.ServiceBus` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `azure.resource_provider.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/registry/attributes/cloud.md b/docs/registry/attributes/cloud.md index 3b1be8b519..a3d7eb0f25 100644 --- a/docs/registry/attributes/cloud.md +++ b/docs/registry/attributes/cloud.md @@ -34,7 +34,7 @@ The following well-known definitions MUST be used if you set this attribute and with the resolved function version, as the same runtime instance may be invocable with multiple different aliases. - **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) -- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, +- **Azure:** The [Fully Qualified Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, *not* the function app, having the form `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share @@ -56,13 +56,13 @@ The following well-known definitions MUST be used if you set this attribute and | `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Development](https://img.shields.io/badge/-development-blue) | | `aws_lambda` | AWS Lambda | ![Development](https://img.shields.io/badge/-development-blue) | | `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/registry/attributes/gen-ai.md b/docs/registry/attributes/gen-ai.md index 046037647b..eae9d1acb2 100644 --- a/docs/registry/attributes/gen-ai.md +++ b/docs/registry/attributes/gen-ai.md @@ -105,8 +105,8 @@ Datastore: A tool used by the agent to access and query structured or unstructur |---|---|---| | `anthropic` | Anthropic | ![Development](https://img.shields.io/badge/-development-blue) | | `aws.bedrock` | AWS Bedrock | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | -| `az.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.inference` | Azure AI Inference | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.ai.openai` | Azure OpenAI | ![Development](https://img.shields.io/badge/-development-blue) | | `cohere` | Cohere | ![Development](https://img.shields.io/badge/-development-blue) | | `deepseek` | DeepSeek | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp.gemini` | Gemini [7] | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/resource/cloud.md b/docs/resource/cloud.md index 062654417f..a1265d71e1 100644 --- a/docs/resource/cloud.md +++ b/docs/resource/cloud.md @@ -41,7 +41,7 @@ The following well-known definitions MUST be used if you set this attribute and with the resolved function version, as the same runtime instance may be invocable with multiple different aliases. - **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) -- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, +- **Azure:** The [Fully Qualified Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, *not* the function app, having the form `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share @@ -63,13 +63,13 @@ The following well-known definitions MUST be used if you set this attribute and | `aws_elastic_beanstalk` | AWS Elastic Beanstalk | ![Development](https://img.shields.io/badge/-development-blue) | | `aws_lambda` | AWS Lambda | ![Development](https://img.shields.io/badge/-development-blue) | | `aws_openshift` | Red Hat OpenShift on AWS (ROSA) | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | -| `azure_vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.aks` | Azure Kubernetes Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.app_service` | Azure App Service | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.container_apps` | Azure Container Apps | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.container_instances` | Azure Container Instances | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.functions` | Azure Functions | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.openshift` | Azure Red Hat OpenShift | ![Development](https://img.shields.io/badge/-development-blue) | +| `azure.vm` | Azure Virtual Machines | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp_app_engine` | Google Cloud App Engine (GAE) | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp_bare_metal_solution` | Google Bare Metal Solution (BMS) | ![Development](https://img.shields.io/badge/-development-blue) | | `gcp_cloud_functions` | Google Cloud Functions (GCF) | ![Development](https://img.shields.io/badge/-development-blue) | diff --git a/docs/resource/faas.md b/docs/resource/faas.md index 80fae2dd95..ceed408d32 100644 --- a/docs/resource/faas.md +++ b/docs/resource/faas.md @@ -62,7 +62,7 @@ The following well-known definitions MUST be used if you set this attribute and with the resolved function version, as the same runtime instance may be invocable with multiple different aliases. - **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) -- **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, +- **Azure:** The [Fully Qualified Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, *not* the function app, having the form `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share diff --git a/model/azure/deprecated/events-deprecated.yaml b/model/azure/deprecated/events-deprecated.yaml new file mode 100644 index 0000000000..9e8cffe42c --- /dev/null +++ b/model/azure/deprecated/events-deprecated.yaml @@ -0,0 +1,20 @@ +groups: + - id: event.az.resource.log + stability: development + type: event + name: az.resource.log + brief: > + Deprecated. Use `azure.resource.log` instead. + deprecated: + reason: renamed + renamed_to: 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 + stability: development diff --git a/model/azure/deprecated/registry-deprecated.yaml b/model/azure/deprecated/registry-deprecated.yaml new file mode 100644 index 0000000000..987c7b2a25 --- /dev/null +++ b/model/azure/deprecated/registry-deprecated.yaml @@ -0,0 +1,25 @@ +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: + reason: renamed + renamed_to: azure.service.request.id + examples: + - "00000000-0000-0000-0000-000000000000" + - id: az.namespace + type: string + stability: development + brief: > + Deprecated, use `azure.resource_provider.namespace` instead. + deprecated: + reason: renamed + renamed_to: azure.resource_provider.namespace + examples: ["Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus"] diff --git a/model/azure/events.yaml b/model/azure/events.yaml index b7f3655858..0397c6f4c0 100644 --- a/model/azure/events.yaml +++ b/model/azure/events.yaml @@ -1,19 +1,19 @@ groups: - - id: event.az.resource.log + - 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://docs.microsoft.com/rest/api/resources/resources/get-by-id) the log is emitted for. + 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 stability: development type: map diff --git a/model/azure/registry.yaml b/model/azure/registry.yaml index 6687b9d8a0..025757766d 100644 --- a/model/azure/registry.yaml +++ b/model/azure/registry.yaml @@ -5,13 +5,13 @@ groups: brief: > This section defines generic attributes used by Azure Client Libraries. attributes: - - id: az.service_request_id + - id: azure.service.request.id type: string 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_provider.namespace type: string stability: development brief: > diff --git a/model/cloud/registry.yaml b/model/cloud/registry.yaml index c4a913d7b1..4bda5e7a44 100644 --- a/model/cloud/registry.yaml +++ b/model/cloud/registry.yaml @@ -85,7 +85,7 @@ groups: with the resolved function version, as the same runtime instance may be invocable with multiple different aliases. - **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full-resource-names) - - **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, + - **Azure:** The [Fully Qualified Resource ID](https://learn.microsoft.com/rest/api/resources/resources/get-by-id) of the invoked function, *not* the function app, having the form `/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/`. This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share @@ -147,34 +147,69 @@ groups: value: 'aws_openshift' brief: Red Hat OpenShift on AWS (ROSA) stability: development + - id: azure.vm + value: 'azure.vm' + brief: Azure Virtual Machines + stability: development + - id: azure.container_apps + value: 'azure.container_apps' + brief: Azure Container Apps + stability: development + - id: azure.container_instances + value: 'azure.container_instances' + brief: Azure Container Instances + stability: development + - id: azure.aks + value: 'azure.aks' + brief: Azure Kubernetes Service + stability: development + - id: azure.functions + value: 'azure.functions' + brief: Azure Functions + stability: development + - id: azure.app_service + value: 'azure.app_service' + brief: Azure App Service + stability: development + - id: azure.openshift + value: 'azure.openshift' + brief: Azure Red Hat OpenShift + 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' 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 fbdd9085ab..a588eb35b0 100644 --- a/model/database/spans.yaml +++ b/model/database/spans.yaml @@ -821,10 +821,11 @@ groups: requirement_level: conditionally_required: If available. note: "" # overriding the base note - - ref: az.namespace + - ref: azure.resource_provider.namespace note: > - When `az.namespace` attribute is populated, it MUST be set to `Microsoft.DocumentDB` for all - operations performed by Cosmos DB client. + When `azure.resource_provider.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 requirement_level: required diff --git a/model/gen-ai/registry.yaml b/model/gen-ai/registry.yaml index 367ce8a425..d8ac5f414e 100644 --- a/model/gen-ai/registry.yaml +++ b/model/gen-ai/registry.yaml @@ -53,14 +53,24 @@ groups: stability: development 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: development value: "az.ai.inference" + deprecated: "Replaced by azure.ai.inference" brief: 'Azure AI Inference' - id: az.ai.openai stability: development - value: "az.ai.openai" + value: "azure.ai.openai" brief: 'Azure OpenAI' + deprecated: "Replaced by azure.ai.openai" - id: ibm.watsonx.ai stability: development value: "ibm.watsonx.ai" diff --git a/model/gen-ai/spans.yaml b/model/gen-ai/spans.yaml index 8734327ed0..2bb1b5f4e0 100644 --- a/model/gen-ai/spans.yaml +++ b/model/gen-ai/spans.yaml @@ -163,7 +163,7 @@ groups: - ref: gen_ai.usage.output_tokens brief: The number of tokens used in the completions from OpenAI. - - id: span.gen_ai.az.ai.inference.client + - id: span.gen_ai.azure.ai.inference.client extends: attributes.gen_ai.inference.openai_based stability: development type: span @@ -177,10 +177,10 @@ groups: **Span name** SHOULD be `{gen_ai.operation.name} {gen_ai.request.model}` when the model name is available and `{gen_ai.operation.name}` otherwise. attributes: - - ref: az.namespace + - ref: azure.resource_provider.namespace note: > - When `az.namespace` attribute is populated, it MUST be set to `Microsoft.CognitiveServices` for all - operations performed by Azure AI Inference clients. + When `azure.resource_provider.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 brief: > diff --git a/schema-next.yaml b/schema-next.yaml index 1938edf269..4b6d3b1b4b 100644 --- a/schema-next.yaml +++ b/schema-next.yaml @@ -2,6 +2,13 @@ file_format: 1.1.0 schema_url: https://opentelemetry.io/schemas/next versions: next: + attributes: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull/1698 + - rename_attributes: + attribute_map: + az.namespace: azure.resource_provider.namespace + az.service_request_id: azure.service.request.id 1.34.0: metrics: changes: