|
1 | 1 | # Collector v1 Roadmap
|
| 2 | + |
| 3 | +This document contains the roadmap for the Collector. The main goal of this roadmap is to provide clarity on the areas of focus in order to release a v1 of the Collector. |
| 4 | + |
| 5 | +## Proposal |
| 6 | + |
| 7 | +The proposed approach to delivering a stable release of the OpenTelemetry Collector is to produce a distribution of the Collector that contains a minimum set of components which have been stabilized. By doing so, the project contributors will ensure dependencies of those components have also been released under a stable version. |
| 8 | + |
| 9 | +The proposed distribution is set to include the following components only: |
| 10 | + |
| 11 | +- OTLP receiver |
| 12 | +- OTLP exporter |
| 13 | +- OTLP HTTP exporter |
| 14 | + |
| 15 | +These modules depend on a list of other modules, the full list is available in issue [#9375](https://github.com/open-telemetry/opentelemetry-collector/issues/9375). |
| 16 | + |
| 17 | +All stabilized modules will conform to the API expectations outlined in the [VERSIONING.md](../VERSIONING.md) document. |
| 18 | + |
| 19 | +## Out of scope |
| 20 | + |
| 21 | +Explicitly, the following are not in the scope of v1 for the purposes of this document: |
| 22 | + |
| 23 | +* stabilization of additional components/APIs needed by distribution maintainers. Vendors are not the audience |
| 24 | +* Collector Builder |
| 25 | +* telemetrygen |
| 26 | +* mdatagen |
| 27 | +* Operator |
| 28 | + |
| 29 | +Those components are free to pursue v1 at their own pace and may be the focus of future stability work. |
| 30 | + |
| 31 | +## Additional Requirements |
| 32 | + |
| 33 | +The following is a list of requirements for this minimal Collector distribution to be deemed as 1.0: |
| 34 | + |
| 35 | +* The Collector must be observable |
| 36 | + * Metrics and traces should be produced for data in the hot path |
| 37 | + * Metrics should be documented in the end-user documentation |
| 38 | + * Metrics, or a subset of them, should be marked as stable in the documentation |
| 39 | + * Logs should be produced for Collector lifecycle events |
| 40 | + * Stability expectations and lifecycle for telemetry should be documented, so that users can know what they can rely on for their dashboards and alerts |
| 41 | +* The Collector must be scalable |
| 42 | + * Backpressure from the exporter all the way back to the receiver should be supported |
| 43 | + * Queueing must be supported to handle increased loads |
| 44 | + * Performance metrics are in place and follow best practices for benchmarking |
| 45 | + * Individual components must: |
| 46 | + * Have their lifecycle expectations enshrined in tests |
| 47 | + * Have goleak enabled |
| 48 | +* End-user documentation should be provided as part of the official project’s documentation under opentelemetry.io, including: |
| 49 | + * Getting started with the Collector |
| 50 | + * Available (stable) components and how to use them |
| 51 | + * Blueprints for common use cases |
| 52 | + * Error scenarios and error propagation |
| 53 | + * Troubleshooting and how to obtain telemetry from the Collector for the purposes of bug reporting |
| 54 | + * Queueing, batching, and handling of backpressure |
| 55 | +* The Collector must be supported |
| 56 | + * Processes, workflows and expectations regarding support, bug reporting and questions should be documented. |
| 57 | + * A minimum support period for 1.0 is documented, similarly to [API and SDK](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md#api-support) stability guarantees. |
0 commit comments