Add operation name and tool type attributes for Execute tool span. (#2526)
This commit is contained in:
parent
6f99ae14c1
commit
191f4382b7
|
|
@ -0,0 +1,22 @@
|
|||
# Use this changelog template to create an entry for release notes.
|
||||
#
|
||||
# If your change doesn't affect end users you should instead start
|
||||
# your pull request title with [chore] or use the "Skip Changelog" label.
|
||||
|
||||
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
|
||||
change_type: enhancement
|
||||
|
||||
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
|
||||
component: gen-ai
|
||||
|
||||
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
|
||||
note: Add operation name and tool type attributes for Execute tool span.
|
||||
|
||||
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
|
||||
# The values here must be integers.
|
||||
issues: [2525, 2526]
|
||||
|
||||
# (Optional) One or more lines of additional information to render under the primary note.
|
||||
# These lines will be padded with 2 spaces and then inserted directly into the document.
|
||||
# Use pipe (|) for multiline entries.
|
||||
subtext:
|
||||
|
|
@ -305,15 +305,25 @@ by the application code.
|
|||
|
||||
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|
||||
|---|---|---|---|---|---|
|
||||
| [`error.type`](/docs/registry/attributes/error.md) | string | Describes a class of error the operation ended with. [1] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` if the operation ended in an error |  |
|
||||
| [`gen_ai.operation.name`](/docs/registry/attributes/gen-ai.md) | string | The name of the operation being performed. [1] | `chat`; `generate_content`; `text_completion` | `Required` |  |
|
||||
| [`error.type`](/docs/registry/attributes/error.md) | string | Describes a class of error the operation ended with. [2] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | `Conditionally Required` if the operation ended in an error |  |
|
||||
| [`gen_ai.tool.call.id`](/docs/registry/attributes/gen-ai.md) | string | The tool call identifier. | `call_mszuSIzqtI65i1wAUOE8w5H4` | `Recommended` if available |  |
|
||||
| [`gen_ai.tool.description`](/docs/registry/attributes/gen-ai.md) | string | The tool description. | `Multiply two numbers` | `Recommended` if available |  |
|
||||
| [`gen_ai.tool.name`](/docs/registry/attributes/gen-ai.md) | string | Name of the tool utilized by the agent. | `Flights` | `Recommended` |  |
|
||||
| [`gen_ai.tool.type`](/docs/registry/attributes/gen-ai.md) | string | Type of the tool utilized by the agent [3] | `function`; `extension`; `datastore` | `Recommended` if available |  |
|
||||
|
||||
**[1] `error.type`:** The `error.type` SHOULD match the error code returned by the Generative AI provider or the client library,
|
||||
**[1] `gen_ai.operation.name`:** If one of the predefined values applies, but specific system uses a different name it's RECOMMENDED to document it in the semantic conventions for specific GenAI system and use system-specific name in the instrumentation. If a different name is not documented, instrumentation libraries SHOULD use applicable predefined value.
|
||||
|
||||
**[2] `error.type`:** The `error.type` SHOULD match the error code returned by the Generative AI provider or the client library,
|
||||
the canonical name of exception that occurred, or another low-cardinality error identifier.
|
||||
Instrumentations SHOULD document the list of errors they report.
|
||||
|
||||
**[3] `gen_ai.tool.type`:** Extension: A tool executed on the agent-side to directly call external APIs, bridging the gap between the agent and real-world systems.
|
||||
Agent-side operations involve actions that are performed by the agent on the server or within the agent's controlled environment.
|
||||
Function: A tool executed on the client-side, where the agent generates parameters for a predefined function, and the client executes the logic.
|
||||
Client-side operations are actions taken on the user's end or within the client application.
|
||||
Datastore: A tool used by the agent to access and query structured or unstructured external data for retrieval-augmented tasks or knowledge updates.
|
||||
|
||||
---
|
||||
|
||||
`error.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||
|
|
@ -322,6 +332,20 @@ Instrumentations SHOULD document the list of errors they report.
|
|||
|---|---|---|
|
||||
| `_OTHER` | A fallback error value to be used when the instrumentation doesn't define a custom value. |  |
|
||||
|
||||
---
|
||||
|
||||
`gen_ai.operation.name` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
|
||||
|
||||
| Value | Description | Stability |
|
||||
|---|---|---|
|
||||
| `chat` | Chat completion operation such as [OpenAI Chat API](https://platform.openai.com/docs/api-reference/chat) |  |
|
||||
| `create_agent` | Create GenAI agent |  |
|
||||
| `embeddings` | Embeddings operation such as [OpenAI Create embeddings API](https://platform.openai.com/docs/api-reference/embeddings/create) |  |
|
||||
| `execute_tool` | Execute a tool |  |
|
||||
| `generate_content` | Multimodal content generation operation such as [Gemini Generate Content](https://ai.google.dev/api/generate-content) |  |
|
||||
| `invoke_agent` | Invoke GenAI agent |  |
|
||||
| `text_completion` | Text completions operation such as [OpenAI Completions API (Legacy)](https://platform.openai.com/docs/api-reference/completions) |  |
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- prettier-ignore-end -->
|
||||
<!-- END AUTOGENERATED TEXT -->
|
||||
|
|
|
|||
|
|
@ -276,6 +276,8 @@ groups:
|
|||
for the application developers to follow this semantic convention for tools invoked
|
||||
by the application code.
|
||||
attributes:
|
||||
- ref: gen_ai.operation.name
|
||||
requirement_level: required
|
||||
- ref: gen_ai.tool.name
|
||||
requirement_level: recommended
|
||||
- ref: gen_ai.tool.call.id
|
||||
|
|
@ -284,6 +286,9 @@ groups:
|
|||
- ref: gen_ai.tool.description
|
||||
requirement_level:
|
||||
recommended: if available
|
||||
- ref: gen_ai.tool.type
|
||||
requirement_level:
|
||||
recommended: if available
|
||||
- ref: error.type
|
||||
requirement_level:
|
||||
conditionally_required: "if the operation ended in an error"
|
||||
|
|
|
|||
Loading…
Reference in New Issue