Skip to content

Commit

Permalink
[chore] [docs] Update encoding extensions readme doc (open-telemetry#…
Browse files Browse the repository at this point in the history
…27478)

According to the recent design changes
  • Loading branch information
dmitryax authored and jmsnll committed Nov 12, 2023
1 parent e14f31b commit 8807f53
Showing 1 changed file with 15 additions and 48 deletions.
63 changes: 15 additions & 48 deletions extension/encoding/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,8 @@
# Encoding extension
# Encoding extensions

<!-- status autogenerated section -->
| Status | |
| ------------- |-----------|
| Stability | [development] |
| Distributions | [] |
| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aextension%2Fencoding%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aextension%2Fencoding) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aextension%2Fencoding%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aextension%2Fencoding) |
| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@MovieStoreGuy](https://www.github.com/MovieStoreGuy) |

[development]: https://github.com/open-telemetry/opentelemetry-collector#development
<!-- end autogenerated section -->

The encoding extension allows for other components to reference ingress/egress data formats
to allow for simplified operability.
The encoding extensions can be used by compatible receivers or exporters to encode or decode data into/from a specific
format. This is useful when the data is being sent to/from a system that expects a specific format and doesn't support
the OpenTelemetry protocol.

_🚧 Under active development 🚧_

Expand All @@ -23,52 +13,29 @@ worked towards.

### Development

- CodecFactory: Allows other components to reference code by name and version
- Codec: Defining the expected interface for a codec
- Length Delimited Codec: Used fixed length payloads to represent a collection of data that can be merged together
- Add existing formats to the codec's libraries.
- Add support to the following components
- Add endcoding extensions support additionally to the existing ways of configuring encodings (where applicable)
to the following components:
- `file receiver`
- `file exporter`
- `kafka receiver`
- `kafka exporter`
- `kinesis exporter`
- Add codecs for open source formats, ie: `otlp`, `zipkin`, `jaeger`

Component support will be behind a feature gate to avoid change in behavior

### Alpha

- Adopt vendor formats as codecs
- Transition feature gate to default to using encoding extension
- Add dynamic mapping support for `avro`, `parquet`, and `gotemplate`
- Not fixed on these but I am aware that users are interested in these

### Beta

- Add support for remote schema management
- Using `AWS Glue`, `kafka schema registry`
- Performance break down of difference codecs (static, dynamic, remote)
- This is more to help provide information to users to expected performance impact.

### Stable

- All features complete
- Absent of bugs that impact core behaviours
- Dependencies can also be marked as stable
- `pulsar receiver`
- `pulsar exporter`
- Add encoding extensions for open source formats, ie: `otlp`, `zipkin`, `jaeger`
- Deprecate the previously available ways of configuring encodings (where applicable).
- Remove the previously available ways of configuring encodings in favour of using the encoding extension.

## Example configuration

```yaml
extensions:
encoding:
zipkin_encoding:
format: proto
version: v1

receivers:
kafka:
encoding:
name: zipkin/v1
format: proto
encoding: zipkin_encoding
# ... other configuration values
```

[translators]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/translator

0 comments on commit 8807f53

Please sign in to comment.