From 297249ee1df2433f39c4b0b2556a24a3fd75e522 Mon Sep 17 00:00:00 2001 From: Martin Hickey Date: Tue, 19 Jul 2022 15:50:51 +0100 Subject: [PATCH] Add brief component overview to contributing guide (#5690) Signed-off-by: Martin Hickey --- CONTRIBUTING.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6648e6e158..19410ddf387 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,7 +41,15 @@ reasonably fast reviews. ### When adding a new component -Consider submitting different PRs: +Components comprise of exporters, extensions, receivers, and processors. The key criteria to implementing a component is to: + +* Implement the `component.Component` interface +* Provide a configuration structure which defines the configuration of the component +* Provide the implementation which performs the component operation + +For more details on components, see the [Adding New Components](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#adding-new-components) document and the tutorial [Building a Trace Receiver](https://opentelemetry.io/docs/collector/trace-receiver/) which provides a detailed example of building a component. + +When submitting a component to the community, consider breaking it down into separate PRs as follows: * First PR should include the overall structure of the new component: * Readme, configuration, and factory implementation usually using the helper