Skip to content

Commit 783a85d

Browse files
susan-shu-cmjwolftrisch-me
authored
[RFC 0050] Stage 2: Introducing GenAI fields (#2475)
* Add info for stage 1 * Add stage 2 yaml * Add stage 2 pr link * Add to schemas * Fix schema .yml, passing local make test * Fix errors for make test * Fix indent and formatting from build tests * Add beta description * Add otel relations * Update rfcs text to match schema yml * Add copyright and missing fields to gen_ai schema * Update schema names It's not required to have `gen_ai` in the root of field names, this will be inherited from the group name, so its been removed. * Update generated files * Update RFC date and sample schema * Add gen_ai to docs toc * Update beta verbage * Add changelog entry * Update generated docs --------- Co-authored-by: Michael Wolf <michael.wolf@elastic.co> Co-authored-by: Alexandra Konrad <alexandra.konrad@elastic.co>
1 parent 5f10d08 commit 783a85d

File tree

24 files changed

+3082
-9
lines changed

24 files changed

+3082
-9
lines changed

CHANGELOG.next.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ Thanks, you're awesome :-) -->
1717
* Add `thumbprint_sha256` to `code_signature` schema. #2452
1818
* Add `origin_referrer_url` and `origin_url` fields, which indicate the origin information to the file, process and dll schemas #2441
1919

20+
#### Added
21+
22+
* Add `gen_ai` fields to schema as beta. #2475
23+
2024
#### Improvements
2125

2226
#### Deprecated

docs/reference/ecs-field-reference.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ For a single page representation of all fields, please see the [generated CSV of
4242
| [Event](/reference/ecs-event.md) | Fields breaking down the event details. |
4343
| [FaaS](/reference/ecs-faas.md) | Fields describing functions as a service. |
4444
| [File](/reference/ecs-file.md) | Fields describing files. |
45+
| [Gen AI](/reference/ecs-gen_ai.md) | Fields on Generative Artificial Intelligence (GenAI) Models requests and responses |
4546
| [Geo](/reference/ecs-geo.md) | Fields describing a location. |
4647
| [Group](/reference/ecs-group.md) | User's group relevant to the event. |
4748
| [Hash](/reference/ecs-hash.md) | Hashes, usually file hashes. |

docs/reference/ecs-gen_ai.md

Lines changed: 47 additions & 0 deletions
Large diffs are not rendered by default.

docs/reference/ecs-otel-alignment-details.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,33 @@ The following table gives an overview of mappings between individual ECS fields
8181
| $$$otel-mapping-for-file-size$$$ [file.size](/reference/ecs-file.md#field-file-size) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [file.size](https://opentelemetry.io/docs/specs/semconv/attributes-registry/file/#file-size) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
8282
| $$$otel-mapping-for-file-target-path$$$ [file.target_path](/reference/ecs-file.md#field-file-target-path) | [![equivalent](https://img.shields.io/badge/equivalent-1ba9f5?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [file.symbolic_link.target_path](https://opentelemetry.io/docs/specs/semconv/attributes-registry/file/#file-symbolic-link-target-path) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
8383
| $$$otel-mapping-for-file-uid$$$ [file.uid](/reference/ecs-file.md#field-file-uid) | [![equivalent](https://img.shields.io/badge/equivalent-1ba9f5?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [file.owner.id](https://opentelemetry.io/docs/specs/semconv/attributes-registry/file/#file-owner-id) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
84+
| **Gen AI Fields** |
85+
| $$$otel-mapping-for-gen-ai-agent-description$$$ [gen_ai.agent.description](/reference/ecs-gen_ai.md#field-gen-ai-agent-description) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.agent.description](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-agent-description) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
86+
| $$$otel-mapping-for-gen-ai-agent-id$$$ [gen_ai.agent.id](/reference/ecs-gen_ai.md#field-gen-ai-agent-id) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.agent.id](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-agent-id) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
87+
| $$$otel-mapping-for-gen-ai-agent-name$$$ [gen_ai.agent.name](/reference/ecs-gen_ai.md#field-gen-ai-agent-name) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.agent.name](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-agent-name) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
88+
| $$$otel-mapping-for-gen-ai-operation-name$$$ [gen_ai.operation.name](/reference/ecs-gen_ai.md#field-gen-ai-operation-name) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.operation.name](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-operation-name) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
89+
| $$$otel-mapping-for-gen-ai-output-type$$$ [gen_ai.output.type](/reference/ecs-gen_ai.md#field-gen-ai-output-type) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.output.type](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-output-type) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
90+
| $$$otel-mapping-for-gen-ai-request-choice-count$$$ [gen_ai.request.choice.count](/reference/ecs-gen_ai.md#field-gen-ai-request-choice-count) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.choice.count](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-choice-count) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
91+
| $$$otel-mapping-for-gen-ai-request-encoding-formats$$$ [gen_ai.request.encoding_formats](/reference/ecs-gen_ai.md#field-gen-ai-request-encoding-formats) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.encoding_formats](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-encoding-formats) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
92+
| $$$otel-mapping-for-gen-ai-request-frequency-penalty$$$ [gen_ai.request.frequency_penalty](/reference/ecs-gen_ai.md#field-gen-ai-request-frequency-penalty) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.frequency_penalty](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-frequency-penalty) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
93+
| $$$otel-mapping-for-gen-ai-request-max-tokens$$$ [gen_ai.request.max_tokens](/reference/ecs-gen_ai.md#field-gen-ai-request-max-tokens) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.max_tokens](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-max-tokens) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
94+
| $$$otel-mapping-for-gen-ai-request-model$$$ [gen_ai.request.model](/reference/ecs-gen_ai.md#field-gen-ai-request-model) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.model](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-model) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
95+
| $$$otel-mapping-for-gen-ai-request-presence-penalty$$$ [gen_ai.request.presence_penalty](/reference/ecs-gen_ai.md#field-gen-ai-request-presence-penalty) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.presence_penalty](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-presence-penalty) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
96+
| $$$otel-mapping-for-gen-ai-request-seed$$$ [gen_ai.request.seed](/reference/ecs-gen_ai.md#field-gen-ai-request-seed) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.seed](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-seed) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
97+
| $$$otel-mapping-for-gen-ai-request-stop-sequences$$$ [gen_ai.request.stop_sequences](/reference/ecs-gen_ai.md#field-gen-ai-request-stop-sequences) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.stop_sequences](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-stop-sequences) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
98+
| $$$otel-mapping-for-gen-ai-request-temperature$$$ [gen_ai.request.temperature](/reference/ecs-gen_ai.md#field-gen-ai-request-temperature) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.temperature](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-temperature) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
99+
| $$$otel-mapping-for-gen-ai-request-top-k$$$ [gen_ai.request.top_k](/reference/ecs-gen_ai.md#field-gen-ai-request-top-k) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.top_k](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-top-k) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
100+
| $$$otel-mapping-for-gen-ai-request-top-p$$$ [gen_ai.request.top_p](/reference/ecs-gen_ai.md#field-gen-ai-request-top-p) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.request.top_p](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-request-top-p) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
101+
| $$$otel-mapping-for-gen-ai-response-finish-reasons$$$ [gen_ai.response.finish_reasons](/reference/ecs-gen_ai.md#field-gen-ai-response-finish-reasons) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.response.finish_reasons](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-response-finish-reasons) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
102+
| $$$otel-mapping-for-gen-ai-response-id$$$ [gen_ai.response.id](/reference/ecs-gen_ai.md#field-gen-ai-response-id) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.response.id](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-response-id) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
103+
| $$$otel-mapping-for-gen-ai-response-model$$$ [gen_ai.response.model](/reference/ecs-gen_ai.md#field-gen-ai-response-model) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.response.model](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-response-model) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
104+
| $$$otel-mapping-for-gen-ai-system$$$ [gen_ai.system](/reference/ecs-gen_ai.md#field-gen-ai-system) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.system](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-system) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
105+
| $$$otel-mapping-for-gen-ai-token-type$$$ [gen_ai.token.type](/reference/ecs-gen_ai.md#field-gen-ai-token-type) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.token.type](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-token-type) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
106+
| $$$otel-mapping-for-gen-ai-tool-call-id$$$ [gen_ai.tool.call.id](/reference/ecs-gen_ai.md#field-gen-ai-tool-call-id) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.tool.call.id](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-tool-call-id) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
107+
| $$$otel-mapping-for-gen-ai-tool-name$$$ [gen_ai.tool.name](/reference/ecs-gen_ai.md#field-gen-ai-tool-name) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.tool.name](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-tool-name) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
108+
| $$$otel-mapping-for-gen-ai-tool-type$$$ [gen_ai.tool.type](/reference/ecs-gen_ai.md#field-gen-ai-tool-type) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.tool.type](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-tool-type) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
109+
| $$$otel-mapping-for-gen-ai-usage-input-tokens$$$ [gen_ai.usage.input_tokens](/reference/ecs-gen_ai.md#field-gen-ai-usage-input-tokens) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.usage.input_tokens](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-usage-input-tokens) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
110+
| $$$otel-mapping-for-gen-ai-usage-output-tokens$$$ [gen_ai.usage.output_tokens](/reference/ecs-gen_ai.md#field-gen-ai-usage-output-tokens) | [![match](https://img.shields.io/badge/match-93c93e?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [gen_ai.usage.output_tokens](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/#gen-ai-usage-output-tokens) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
84111
| **Geo Fields** |
85112
| $$$otel-mapping-for-geo-city-name$$$ [geo.city_name](/reference/ecs-geo.md#field-geo-city-name) | [![equivalent](https://img.shields.io/badge/equivalent-1ba9f5?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [geo.locality.name](https://opentelemetry.io/docs/specs/semconv/attributes-registry/geo/#geo-locality-name) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |
86113
| $$$otel-mapping-for-geo-continent-code$$$ [geo.continent_code](/reference/ecs-geo.md#field-geo-continent-code) | [![equivalent](https://img.shields.io/badge/equivalent-1ba9f5?style=flat)](/reference/ecs-opentelemetry.md#ecs-opentelemetry-relation) | [geo.continent.code](https://opentelemetry.io/docs/specs/semconv/attributes-registry/geo/#geo-continent-code) | ![development](https://img.shields.io/badge/✘-fed10c?style=flat) |

docs/reference/ecs-otel-alignment-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The following table summarizes the alignment status by namespaces between ECS in
5555
| Feature Flag | · | [8](https://opentelemetry.io/docs/specs/semconv/attributes-registry/feature-flag) | · | · | · | · | · | · | |
5656
| File | [24](/reference/ecs-file.md) | [18](https://opentelemetry.io/docs/specs/semconv/attributes-registry/file) | 11 | 7 | · | · | · | · | · |
5757
| GCP Client | · | [14](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gcp) | · | · | · | · | · | · | |
58-
| GenAI | · | [32](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai) | · | · | · | · | · | · | |
58+
| Gen AI | [26](/reference/ecs-gen_ai.md) | [32](https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai) | 26 | · | · | · | · | · | · |
5959
| Geo | [11](/reference/ecs-geo.md) | [7](https://opentelemetry.io/docs/specs/semconv/attributes-registry/geo) | 1 | 4 | 2 | · | · | · | · |
6060
| Go | · | [1](https://opentelemetry.io/docs/specs/semconv/attributes-registry/go) | · | · | · | · | · | · | |
6161
| GraphQL | · | [3](https://opentelemetry.io/docs/specs/semconv/attributes-registry/graphql) | · | · | · | · | · | · | |

docs/reference/toc.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ toc:
3333
- file: ecs-event.md
3434
- file: ecs-faas.md
3535
- file: ecs-file.md
36+
- file: ecs-gen_ai.md
3637
- file: ecs-geo.md
3738
- file: ecs-group.md
3839
- file: ecs-hash.md
@@ -92,4 +93,4 @@ toc:
9293
- file: ecs-faq.md
9394
- file: ecs-contributing.md
9495
- file: ecs-artifacts.md
95-
- file: ecs-release-notes.md
96+
- file: ecs-release-notes.md

0 commit comments

Comments
 (0)