Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate Event API and SDK in favor of Emit Event in the Log API #4319

Merged
merged 4 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ release.

### Events

- Deprecate Events API and SDK in favor of having Events support in the Logs API and SDK.
([#4319](https://github.com/open-telemetry/opentelemetry-specification/pull/4319))

### Baggage

### Resource
Expand Down
21 changes: 1 addition & 20 deletions spec-compliance-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ Disclaimer: this list of features is still a work in progress, please refer to t
| LoggerProvider.Shutdown | | | + | | + | | | + | | + | - | |
| LoggerProvider.ForceFlush | | | + | | + | | | + | | + | - | |
| Logger.Emit(LogRecord) | | | + | | + | | | + | | + | - | |
| Logger.EmitEvent(LogRecord) | | | | | | | | | | | | |
| Logger.Enabled | X | + | | | | | | | + | + | | |
| SimpleLogRecordProcessor | | | + | | + | | | + | | + | | |
| BatchLogRecordProcessor | | | + | | + | | | + | | + | | |
Expand All @@ -203,26 +204,6 @@ Disclaimer: this list of features is still a work in progress, please refer to t
| Can plug custom LogRecordExporter | | | + | | + | | | + | | + | | |
| Trace Context Injection | | | + | | + | | | + | | + | + | |
trask marked this conversation as resolved.
Show resolved Hide resolved

## Events

Features for the [Events API](specification/logs/event-api.md) and the [Events SDK](specification/logs/event-sdk.md).
Disclaimer: Events are currently in Development status - work in progress.

| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
|----------------------------------------------------------------------------|----------|----|------|----|--------|------|--------|-----|------|-----|------|-------|
| [EventLoggerProvider](specification/logs/event-api.md#eventloggerprovider) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
| Get EventLogger | | | | | | | | | | | | |
| Get EventLogger accepts version | X | | | | | | | | | | | |
| Get EventLogger accepts schema_url | X | | | | | | | | | | | |
| Get EventLogger accepts attributes | X | | | | | | | | | | | |
| [EventLogger](specification/logs/event-api.md#eventlogger) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
| Emit event accepts name | | | | | | | | | | | | |
| Emit event accepts AnyValue body | X | | | | | | | | | | | |
| Emit event accepts severity | X | | | | | | | | | | | |
| Emit event accepts timestamp | X | | | | | | | | | | | |
| Emit event accepts attributes | X | | | | | | | | | | | |
| Emit event accepts context | X | | | | | | | | | | | |

## Resource

| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
Expand Down
1 change: 0 additions & 1 deletion specification/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ path_base_for_github_subdir:
- [Metrics](metrics/api.md)
- [Logs](logs/README.md)
- [API](logs/api.md)
- [Event API](logs/event-api.md)
- SDK Specification
- [Tracing](trace/sdk.md)
- [Metrics](metrics/sdk.md)
Expand Down
4 changes: 1 addition & 3 deletions specification/logs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,7 @@ processor.
### Infrastructure Logs

These are logs generated by various infrastructure components, such as
Kubernetes events (if you are wondering why events are discussed in the context
of logs see [Event API Data model](./event-api.md#event-data-model)). Like system logs, the
Kubernetes events. Like system logs, the
infrastructure logs lack a trace context and can be enriched by the resource
context - information about the node, pod, container, etc.

Expand Down Expand Up @@ -447,7 +446,6 @@ standard output.
* [Logs API](./api.md)
* [Logs SDK](./sdk.md)
* [Logs Data Model](./data-model.md)
* [Event API](./event-api.md)
* [Trace Context in non-OTLP Log Formats](../compatibility/logging_trace_context.md)

## References
Expand Down
13 changes: 2 additions & 11 deletions specification/logs/event-api.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Events API

**Status**: [Development](../document-status.md)
**Status**: [Deprecated](../document-status.md) (was never stabilized),
see [Emit Event](./api.md#emit-an-event) in the Logs API for replacement.

<details>
<summary>Table of Contents</summary>
Expand All @@ -9,7 +10,6 @@

<!-- toc -->

- [Logs API Development](#logs-api-development)
- [Event Data model](#event-data-model)
- [Event API use cases](#event-api-use-cases)
- [EventLoggerProvider](#eventloggerprovider)
Expand All @@ -31,15 +31,6 @@ The Event API consists of these main components:
provides access to `EventLogger`s.
* [EventLogger](#eventlogger) is the component responsible for emitting events.

## Logs API Development

> [!NOTE]
> We are currently in the process of defining a new [Logs API](./api.md).

The intent is that this Logs API will incorporate the current functionality of this existing Events API and once it is defined and implemented, the Events API usage will be migrated, deprecated, renamed and eventually removed.

No further work is scheduled for the current Events API definition at this time.

## Event Data model

Wikipedia’s [definition of log file](https://en.wikipedia.org/wiki/Log_file):
Expand Down
3 changes: 2 additions & 1 deletion specification/logs/event-sdk.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Events SDK

**Status**: [Development](../document-status.md)
**Status**: [Deprecated](../document-status.md) (was never stabilized),
see the [Logs SDK](./sdk.md) and [Emit Event](./api.md#emit-an-event) in the Logs API for replacement.

<details>
<summary>Table of Contents</summary>
Expand Down
4 changes: 1 addition & 3 deletions specification/versioning-and-stability.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,9 +247,7 @@ Semantic Conventions defines the set of fields in the OTLP data model:
- The attribute keys provided on the LogRecord
- The attribute values provided on the LogRecord that are defined in a list
of well-known values.
- For log records that are [Log Events](logs/event-api.md)
- The following data provided to [emit event](logs/event-api.md#emit-event):
- The event name (the value of the `event.name` attribute)
- The event name (the value of the `event.name` attribute)

Things not listed in the above are not expected to remain stable via semantic
convention and are allowed (or expected) to change. A few examples:
Expand Down
Loading