Commit Graph

343 Commits

Author SHA1 Message Date
Roger Coll 0f0e1f64de
docs: none values should not take any value (#13141)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Creating an empty Optional[T] type should not require the value.

See:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configoptional/optional.go#L109
2025-06-04 09:20:39 +00:00
Christos Markou 2e615287a4
[chore] Update contributing docs with SemConv compatibility guideline (#13101)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This PR adds a guideline about how metrics'/attributes' addition should
take place in (some) coordination with the Semantic Conventions project.
This addition does not introduce a hard requirement for now but rather
suggests how such coordination with Semantic Conventions can be
achieved.

If this gets merged I plan to extend Contrib's guidelines as well (i.e.
84f1030339/CONTRIBUTING.md (adding-metrics-to-existing-receivers))
to link back to this guideline.

<!-- Issue number if applicable -->
#### Link to tracking issue
Part of
https://github.com/open-telemetry/opentelemetry-collector/issues/13076

/cc @open-telemetry/collector-contrib-approvers
@open-telemetry/collector-approvers

Note: It's still to be defined how Semantic Conventions will affect
components' stability as described at
https://github.com/open-telemetry/opentelemetry-collector/issues/11878,
however prior to the stability concern this PR suggests to update our
contribution guidelines to cover for this treating it as a "soft"
requirement already.

---------

Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
2025-06-02 10:11:55 +00:00
Alex Boten e238a8b2bd
[chore] update release schedule (#13102)
Also added a link to the workflow in the releases repo.

Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 15:43:33 +00:00
John L. Peterson (Jack) fef33e98f6
[chore] [OTEL-2623] Automate Release Step 4 - push branch (#13040)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes
[#12989](https://github.com/open-telemetry/opentelemetry-collector/issues/12989)

<!--Describe what testing was performed and which tests were added.-->
#### Testing
Sample release (bugfix and new version) in jackgopack4 fork.
- [v0.126.1 workflow
success](https://github.com/jackgopack4/opentelemetry-collector/actions/runs/15048048531/job/42295539150)
- [v0.126.1 release after pushing tags
locally](https://github.com/jackgopack4/opentelemetry-collector/releases/tag/v0.126.1)
- [v0.127.0 workflow
success](https://github.com/jackgopack4/opentelemetry-collector/actions/runs/15048921462/job/42298512054)
- [v0.127.0 release after pushing tags
locally](https://github.com/jackgopack4/opentelemetry-collector/releases/tag/v0.127.0)


<!--Describe the documentation added.-->
#### Documentation
Update release.md in docs folder to reflect step 4 (and ability to run
as workflow or local bash script).
<!--Please delete paragraphs that you did not use before submitting.-->

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
2025-05-22 11:36:13 +00:00
Juliano Costa 20600a6096
fix typo (#13049)
Fix small typo
2025-05-19 08:31:55 +00:00
Dmitry Anoshin 2c50863819
[chore] update docs/release.md (#13033) 2025-05-13 22:50:39 +00:00
Pablo Baeyens f846829309
[chore] Document scalability, performance and resiliency requirements for stable components (#12994)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
<!-- Issue number if applicable -->

This updates the stability requirements to require certain benchmarking,
testing and documentation to ensure scalability, resiliency and
performance expectations are documented at a minimum level.

To operationalize this, I will work on:
- Adding automated context propagation tests for components for which it
is easy to do so (connectors and processors)
- Adding a new section to the table with a link to the latest
benchmarking results.

#### Link to tracking issue

Fixes #11866
Fixes #11868
Fixes #11593
2025-05-12 11:54:44 +00:00
Pablo Baeyens 05f573f77c
[chore] Update bugfix release guidelines (#12999)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This updates the bugfix guidelines to make them less strict. In
particular, after this change, we would start releasing bugfix releases
under the following cases:

1. Lack of consensus of SIG leads on whether to release a bugfix version
within one working day after a report has been made
2. Issues that have not been reported by multiple people, but that are
known to be used in production

This also:
- Explicitly lists difficulties with debugging and troubleshooting as
'severe enough'
- Explicitly states that the release manager is responsible for bugfix
releases
2025-05-08 22:53:30 +00:00
Pablo Baeyens c7eff7c7c5
[chore] Specify that the merge freeze also applies to update-otel (#12988)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Updates release guidelines to reflect #12837

---------

Co-authored-by: Chao Weng <19381524+sincejune@users.noreply.github.com>
2025-05-07 14:52:53 +00:00
Pablo Baeyens 7adca809a6
[chore] Add testing requirements for stable components (#12971)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Adds wording regarding testing requirements for stable components. The
intent is for the lifecycle tests to be handled via mdatagen.

This follows the work done on
open-telemetry/opentelemetry-collector-contrib/issues/39543, with which
now we have component coverage per component.

#### Link to tracking issue
Fixes #11867
2025-05-07 08:15:47 +00:00
Pablo Baeyens 29aaad3dfe
[chore] Generate codecov badge for all READMEs (#12962)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Adds a CodeCov status badge unless explicitly disabled.

I have disabled this in core until we roll this out in contrib to show
the Go SIG and move codecovgen to build tools

#### Link to tracking issue

Updates open-telemetry/opentelemetry-collector-contrib/issues/39583
2025-05-05 15:26:50 +00:00
Daniel Jaglowski ca612c0b64
[chore] Update attribute name in rfc (#12951)
Resolves
https://github.com/open-telemetry/opentelemetry-collector/issues/12916
2025-05-01 18:30:57 +00:00
Dmitry Anoshin e4f8b0119a
[chore] Update release doc (#12950)
after re-enabling pushing images to dockerhub
2025-04-30 20:26:53 +00:00
Yang Song e3553fa85f
[chore] update release.md (#12942)
#### Description
Update release schedule & mention missing images in Dockerhub
2025-04-29 19:09:38 +00:00
Evan Bradley 901c395904
[chore] Create RFC for Optional config types (#12596)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This RFC will help us explore the use cases Optional types solve and
move us toward a resolution for whether to adopt these in our config.

Related to #10266

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-04-21 11:09:41 +00:00
Joshua MacDonald 97eb30721c
[chore] Two spelling lints. (#12892)
#### Description

The cSpell action has been flaky for two reasons, fixed here.
2025-04-18 22:10:40 +00:00
Antoine Toulme d79ffd3a01
[chore] rotate releaser (#12873)
Update the release schedule.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-17 16:47:40 +00:00
Bogdan Drutu 5ab47cb143
[chore] Fix playground example for env provider (#12848)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2025-04-16 03:08:47 +00:00
Pablo Baeyens 28ca163a92
[docs/component-stability.md] Add criteria for graduating between stability levels (#11864)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Code ownership and maintenance of components continues to be an issue,
with varying levels of support across contrib. As we approach 1.0 and
the ability to mark components as stable, we want to make sure that
components that we deem as 'stable' have a healthy community around
them. We have three datapoints that we can leverage here: how many
codeowners a component has, how diverse these are in terms of employers
and how actively the codeowners have been responding to issues/PRs in
the recent past.

We need criteria that
1. Are reasonable predictors of the component health over the
short/medium term
2. Are not too onerous on the code owners

Some notes:
1. Some beta components do not meet the criteria listed on the PR. This
will be the case even after the transition for some components. This PR
makes no claim as to what should happen to these components stability
(so, de facto, they will stay as is).
2. The OTLP receiver and exporters do not meet this criteria today
because they don't have listed code owners. We can solve this either by
carving out an exception or by listing code owners.
3. We need automation and templates to enforce this.

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #11850

---------

Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
2025-04-14 09:00:01 +00:00
Daniel Jaglowski 2cab46e990
[chore] Propose additional attribute for 'otelcol.connector.produced.*' metrics (#12815)
Without this attribute, it's not possible to accurately understand how
data flows out of connectors.
2025-04-14 08:59:45 +00:00
Juraci Paixão Kröhling 8e6393bd64
[chore] Move jpkrohling to emeritus (#12819)
A few weeks ago, I mentioned to the Collector leads about my intention
to resign as maintainer/approver. My current focus on building
OllyGarden isn't leaving much room to be an approver or maintainer.
The plan right now is to ramp up again as approver/maintainer in the
future once time allows.

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
2025-04-11 15:21:58 +00:00
Tyler Helmuth ec1f13a7f4
[chore] update release schedule (#12787) 2025-04-01 22:03:29 +00:00
Bogdan Drutu d6bd0a5193
Revert "[chore] Auto-populate versions during release preparation" (#12775)
Reverts open-telemetry/opentelemetry-collector#12733

The problem is that the CURRENT_VERSION envs are prefixed with "v" and
nothing is working anymore.
2025-04-01 15:32:55 +00:00
Moritz Wiesinger a624a45dd0
[chore] Auto-populate versions during release preparation (#12733)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR updated the prepare-release workflow so that the version bump
just needs to be selected in a dropdown menu instead of putting in the
version numbers by hand. Additionally, "no bump" can be selected to not
bump specific component sets (beta or stable).

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #12565

<!--Describe what testing was performed and which tests were added.-->
#### Testing
Only bumping beta to next minor: [workflow
run](https://github.com/mowies/opentelemetry-collector/actions/runs/14059792536)
- [release tracker
issue](https://github.com/mowies/opentelemetry-collector/issues/17)
Bumping beta and stable to next minor: [workflow
run](https://github.com/mowies/opentelemetry-collector/actions/runs/14058979304/job/39364990356)
- [release tracker
issue](https://github.com/mowies/opentelemetry-collector/issues/16)
Bumping beta and stable to next patch: [workflow
run](https://github.com/mowies/opentelemetry-collector/actions/runs/14059861157)

<!--Please delete paragraphs that you did not use before submitting.-->

---------

Signed-off-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
2025-03-26 10:34:19 +00:00
Yuri Sa e0a1f2163b
[chore] Added spell check (#12671)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Added the cspell to check spelling in .md, .yaml files. 

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #9287 

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->

---------

Signed-off-by: Yuri Oliveira <yurimsa@gmail.com>
2025-03-20 18:53:25 +00:00
Alex Boten 69908f4ee7
[chore] update release documentation (#12670)
There was no mention of disabling the merge queue which is needed if we
need to merge a commit (instead of squashing it)

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-03-19 18:19:26 +00:00
Moritz Wiesinger 027cfd89f3
[chore] Auto-populate release notes (#12644)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR changes the release workflow to autofill the release notes from
`CHANGELOG.md` and `CHANGELOG-API.md` into the generated GH release.

It makes use od `awk` and `sed` to build the release notes step by step
from the changelog files.
The [default chloggen
template](c43cb0331c/chloggen/internal/chlog/summary.tmpl)
was added and a `<!--preview-version-->` tag was added to easily filter
out the changelog of just the latest version.

<!-- Issue number if applicable -->
#### Link to tracking issue
Fixes #10191

<!--Describe what testing was performed and which tests were added.-->
#### Testing
Tested on my fork.
Release with autofilled changelog:
https://github.com/mowies/opentelemetry-collector/releases/tag/v0.121.0
Workflow that did it:
https://github.com/mowies/opentelemetry-collector/actions/runs/13899615357/job/38888008499

<!--Describe the documentation added.-->
#### Documentation
The release checklist was updated accordingly.

<!--Please delete paragraphs that you did not use before submitting.-->

---------

Signed-off-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
2025-03-17 13:19:30 +00:00
Jade Guiton 0e9e259750
[chore] Update release doc to remove step 1 of releasing contrib (#12632)
#### Description

Once
[contrib#38534](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/38534)
is merged, the manual changes that were necessary in step 1 of releasing
contrib should now be included in step 2 (the Prepare Release CI
workflow). This PR updates the release doc to remove step 1.

#### Link to tracking issue
Updates #12294
2025-03-14 10:22:44 +00:00
Benjamin Blattberg 36eaf6a917
Update whitespace for list formatting (#12569)
#### Description

A very minor whitespace issue was preventing the list from formatting
correctly on one .md doc page. This fixes that _very minor_ issue.

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-03-06 21:05:37 +00:00
Pablo Baeyens df36fd7a06
[chore] Simplify release doc (#12563)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Simplifies description of automated release steps. While there is some
value in having the description of the automated steps somewhere, I
think this runs the risk of getting outdated and us having to look at
the code directly, so I would rather just remove it from here and
improve the comments/code of the automation over time. See
open-telemetry/opentelemetry-collector-releases/pull/856 for one
improvement of this kind.
2025-03-05 16:35:20 +00:00
Christos Markou a9c5de2b65
[mdatagen] Add deprecation date and migration note fields for deprecated components (#12464)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This PR adds deprecation date and migration note fields for deprecated
components as described at
https://github.com/open-telemetry/opentelemetry-collector/issues/12359.

Example metadata file:

```yaml
status:
  class: receiver
  stability:
    development: [logs]
    beta: [traces]
    stable: [metrics]
    deprecated: [profiles]
  deprecation:
    profiles:
      migration: "no migration needed"
      date: "2025-02-05"
```

Example README.md:

| Status        |           |
| ------------- |-----------|
| Stability     | [deprecated]: profiles   |
|               | [development]: logs   |
|               | [beta]: traces   |
|               | [stable]: metrics   |
| Deprecation of profiles | [Date]: 2025-02-05   |
|                      | [Migration Note]: no migration needed   |

[deprecated]:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecated
[development]:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#development
[beta]:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#beta
[stable]:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#stable
[Date]:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecation-information
[Migration Note]:
https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#deprecation-information

I'd appreciate any suggestions if there is a better way to represent
this information in the markdown table.

<!-- Issue number if applicable -->
#### Link to tracking issue

Fixes
https://github.com/open-telemetry/opentelemetry-collector/issues/12359

<!--Describe what testing was performed and which tests were added.-->
#### Testing

Added

<!--Describe the documentation added.-->
#### Documentation

Added

<!--Please delete paragraphs that you did not use before submitting.-->

/cc @atoulme who filed the feature request issue originally.

Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
2025-03-04 19:12:54 +00:00
Pablo Baeyens 909a8bbffd
[chore] Update release schedule (#12551)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Updates #12533
2025-03-04 16:09:16 +00:00
Jade Guiton 1bb0469b16
[service] Move batchprocessor metrics to normal level and update level guidelines (#12525)
#### Description

This PR:
- requires "level: normal" before outputting batch processor metrics (in
addition to one specific metric which was already restricted to "level:
detailed")
- clarifies wording in the telemetry level guidelines and documentation,
and adds said guidelines to the requirements for stable components.

Some rationale for these changes can be found in the tracking issue and
[this
comment](https://github.com/open-telemetry/opentelemetry-collector/issues/7890#issuecomment-2684652956).

#### Link to tracking issue
Resolves #7890

#### To be discussed

Should we add a feature gate for this, in case a user relies on "level:
basic" outputting batch processor metrics? This feels like a niche use
case, so considering the "alpha" stability level of these metrics, I
don't think it's really necessary.

Considering batch processor metrics had already been switched to
"normal" once (#9767), but were turned back to basic at some later point
(not sure when), we might also want to add tests to avoid further
regressions (especially as the handling of telemetry levels is bound to
change further with #11754).

---------

Co-authored-by: Dmitrii Anoshin <anoshindx@gmail.com>
2025-03-04 15:57:23 +00:00
Alex Boten dc627469c2
[docs] add guidance around what a collector/distro is (#12435)
Fixes #8555

---------

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-02-28 15:54:18 +00:00
Pablo Baeyens 8c24854960
[chore] Add naming guidance for modules prefix (#12479)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Add guidelines for naming Go modules
2025-02-25 22:40:14 +00:00
Pablo Baeyens b37cd330af
[chore] Promote Jade Guiton to approver (#12446)
## Description
Promote @jade-guiton-dd to approver on behalf of
@open-telemetry/collector-maintainers.

PRs reviewed:
https://github.com/open-telemetry/opentelemetry-collector/pulls?q=is%3Apr+reviewed-by%3Ajade-guiton-dd+
PRs authored:
https://github.com/open-telemetry/opentelemetry-collector/pulls?q=is%3Apr+author%3Ajade-guiton-dd+
Issues commented:
https://github.com/open-telemetry/opentelemetry-collector/issues?q=is%3Aissue+commenter%3Ajade-guiton-dd+
Commits:
https://github.com/open-telemetry/opentelemetry-collector/commits?author=jade-guiton-dd

Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
2025-02-20 21:55:24 +00:00
Pablo Baeyens 1a8fe1bd47
[chore] Promote Joshua MacDonald to approver (#12447)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Promote @jmacd to approver on behalf of
@open-telemetry/collector-maintainers.

PRs reviewed:
https://github.com/open-telemetry/opentelemetry-collector/pulls?q=is%3Apr+reviewed-by%3Ajmacd+
PRs authored:
https://github.com/open-telemetry/opentelemetry-collector/pulls?q=is%3Apr+author%3Ajmacd+
Issues commented:
https://github.com/open-telemetry/opentelemetry-collector/issues?q=is%3Aissue+commenter%3Ajmacd+
Commits:
https://github.com/open-telemetry/opentelemetry-collector/commits?author=jmacd
2025-02-20 19:34:05 +00:00
Juraci Paixão Kröhling 56fbf4c2c1
[chore] Update release schedule (#12441)
Note the 3-week window between .128 and .129, as we'll likely have OTel
Community Day on the week of June 23. An alternative to that is to have
the release on June 23 and assign to someone who knows already that they
won't be there anyway.

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
2025-02-20 11:05:00 +00:00
Daniel Jaglowski 139d2ce30f
Add clarification about attribute types to Telemetry RFC (#12407)
As suggested in
https://github.com/open-telemetry/opentelemetry-collector/issues/12217#issuecomment-2648752916

Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-02-18 12:45:29 +00:00
Guspan Tanadi 12d8ab1106
[docs] Fix links `syslist.go` (#12388)
#### Description
2025-02-14 15:50:35 +00:00
Pablo Baeyens c713e7c4d7
[chore][docs] Add guidance regarding breaking changes (#12274)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Reworks breaking changes section to include information about our
approach to feature gates.

---------

Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>
2025-02-14 11:40:48 +00:00
Antoine Toulme f71fe2757f
[chore] fix metadata.yaml (#12387)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
fix metadata.yaml github_project, add a go:generate instruction to
confmap and a banner to README
2025-02-14 11:00:42 +00:00
Daniel Jaglowski 26caac9f8f
[chore] Move djaglowski to emeritus approver (#12310) 2025-02-06 16:42:52 +00:00
Moritz Wiesinger 43087bdd92
[chore] add githubgen to enhance codeowners and issue templates (#11756)
### This PR
- adds the githubgen tool as a dependency in internal/tools
- uses githubgen to generate codeowners and issue template files
- updates lots of metadata files by
- taking the existing codeowners file and feeding the info from there
back into the component metadata.yaml files or creating new
metadata.yaml files where none existed yet
- adds distributions.yaml as a basis the mostly already existing
`distributions:` keys in metadata.yaml files (needed for githubgen to
work correctly)
- adds relevant make commands to make the githubgen tool usage mostly
transparent to users

This change is a prerequisite to be able to ping codeowners reliably
with automated tooling as a next step.


Part of #11562

---------

Signed-off-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
2025-02-06 10:31:36 +00:00
Pablo Baeyens 1041a0be80
[chore][docs] Use consistent title hierarchy (#12272)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Use h2 (hN-1) titles for h2 (hN-1) sections instead of h3 (hN)
2025-02-04 16:39:08 +00:00
Jade Guiton 1c4726a382
Amend Pipeline Component Telemetry RFC to add a "rejected" outcome (#11956)
### Context

The [Pipeline Component Telemetry
RFC](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/component-universal-telemetry.md)
was recently accepted (#11406). The document states the following
regarding error monitoring:
> For both [consumed and produced] metrics, an `outcome` attribute with
possible values `success` and `failure` should be automatically
recorded, corresponding to whether or not the corresponding function
call returned an error. Specifically, consumed measurements will be
recorded with `outcome` as `failure` when a call from the previous
component the `ConsumeX` function returns an error, and `success`
otherwise. Likewise, produced measurements will be recorded with
`outcome` as `failure` when a call to the next consumer's `ConsumeX`
function returns an error, and `success` otherwise.


[Observability requirements for stable pipeline
components](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#observability-requirements)
were also recently merged (#11772). The document states the following
regarding error monitoring:
> The goal is to be able to easily pinpoint the source of data loss in
the Collector pipeline, so this should either:
> - only include errors internal to the component, or;
> - allow distinguishing said errors from ones originating in an
external service, or propagated from downstream Collector components.

Because errors are typically propagated across `ConsumeX` calls in a
pipeline (except for components with an internal queue like
`processor/batch`), the error observability mechanism proposed by the
RFC implies that Pipeline Telemetry will record failures for every
component interface upstream of the component that actually emitted the
error, which does not match the goals set out in the observability
requirements, and makes it much harder to tell which component errors
are coming from from the emitted telemetry.

### Description

This PR amends the Pipeline Component Telemetry RFC with the following:
- restrict the `outcome=failure` value to cases where the error comes
from the very next component (the component on which `ConsumeX` was
called);
- add a third possible value for the `outcome` attribute: `rejected`,
for cases where an error observed at an interface comes from further
downstream (the component did not "fail", but its output was
"rejected");
- propose a mechanism to determine which of the two values should be
used.

The current proposal for the mechanism is for the pipeline
instrumentation layer to wrap errors in an unexported `downstream`
struct, which upstream layers could check for with `errors.As` to check
whether the error has already been "attributed" to a component. This is
the same mechanism currently used for tracking permanent vs. retryable
errors. Please check the diff for details.

### Possible alternatives

There are a few alternatives to this amendment, which were discussed as
part of the observability requirements PR:
- loosen the observability requirements for stable components to not
require distinguishing internal errors from downstream ones → makes it
harder to identify the source of an error;
- modify the way we use the `Consumer` API to no longer propagate errors
upstream → prevents proper propagation of backpressure through the
pipeline (although this is likely already a problem with the `batch`
prcessor);
- let component authors make their own custom telemetry to solve the
problem → higher barrier to entry, especially for people wanting to
opensource existing components.

---------

Co-authored-by: Pablo Baeyens <pablo.baeyens@datadoghq.com>
2025-01-28 12:41:10 +00:00
Curtis Robert df99547796
[chore][docs] Fix typos in Pipeline Component Telemetry RFC (#12181)
<!--Describe the documentation added.-->
#### Documentation
This is a documentation-only change to fix some typos in the Pipeline
Component Telemetry RFC doc.
2025-01-24 19:22:21 +00:00
Pablo Baeyens c400731605
[chore] RFC: Collector releases approvers group (#11577)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Proposal for creating a new `collector-release-approvers` group.

Announced at:
- #otel-collector-dev on 2024-10-30:
https://cloud-native.slack.com/archives/C07CCCMRXBK/p1730307025302339
- Collector SIG on 2024-11-05 (TBD)

The stakeholders for this PR are:
- @open-telemetry/collector-approvers
- @open-telemetry/collector-contrib-approvers

---------

Co-authored-by: Andrzej Stencel <andrzej.stencel@elastic.co>
2025-01-23 11:24:55 +00:00
Pablo Baeyens 54c3cd8596
[chore][docs/component-stability.md] Add documentation requirements for components based on their stability level (#11871)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->

Adds requirements for documentation for different stability levels.

I expect many of these will be done through automation over time :)

#### Link to tracking issue

Fixes #11852
2025-01-22 16:59:29 +00:00
Jade Guiton f70a4b158d
[chore] Reword component stability doc (#12161)
#### Description

This PR slightly changes the wording of the "Stability levels and
versioning" doc (`docs/component-stability.md`), which I found a bit
confusing, in order to:
- Emphasize the important fact that stability levels for a component are
defined _per signal_. At the moment this is only alluded to at the
beginning and assumed in the last section. Moreover, things like the
"Unmaintained" level may give the impression that stability levels
always apply to an entire component.
- More cleanly separate the part about behavior changes from the part
about API changes in the "Versioning" section.

This should not change the content or interpretation of the document.
2025-01-22 16:22:04 +00:00