Skip to content

Conversation

jackgopack4
Copy link
Contributor

@jackgopack4 jackgopack4 commented Jul 28, 2025

Description

Adds profiles_endpoint config setting for otlphttpexporter

Link to tracking issue

Updates #13504 (edit by @mx-psi)

Testing

unit and manual testing

Documentation

updated example config and README.md

@jackgopack4 jackgopack4 requested a review from a team as a code owner July 28, 2025 18:58
@jackgopack4 jackgopack4 requested a review from bogdandrutu July 28, 2025 18:58
Copy link

codecov bot commented Jul 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.72%. Comparing base (47efd15) to head (bbc0bf7).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #13505      +/-   ##
==========================================
- Coverage   92.76%   92.72%   -0.04%     
==========================================
  Files         630      630              
  Lines       35515    35515              
==========================================
- Hits        32944    32933      -11     
- Misses       2025     2033       +8     
- Partials      546      549       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@dmathieu dmathieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, thank you.

Copy link
Member

@bogdandrutu bogdandrutu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is that the config of this exporter is "stable" and we are adding possibly an unstable config here. What would be the path for this?

@open-telemetry/collector-approvers can you suggest?

@evan-bradley
Copy link
Contributor

evan-bradley commented Jul 29, 2025

The problem is that the config of this exporter is "stable" and we are adding possibly an unstable config here. What would be the path for this?

Good point. I think we can proceed here for the following reasons:

We may want to clarify how stable/unstable config options at the same level like in this situation are treated. However everything I can see about our publicly-stated stability guarantees for the exporter seem to indicate that the exporter's handling of profiles and profile-related config options are still considered unstable.

Copy link
Contributor

@florianl florianl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the v1development element in the endpoint, it clearly marks the endpoint as not stable. So I think, it is fine to go and I agree with #13505 (comment).

@mx-psi
Copy link
Member

mx-psi commented Jul 30, 2025

Our versioning docs call our per-signal stability, allowing breaking changes for even 1.x components: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#versioning

We don't allow breaking changes in the configuration (at least that was my intent when I wrote that part). In particular we say:

The versioning of a component, and the Go API stability guarantees that come with it, apply to ALL signals simultaneously, regardless of their stability level. This means that, once a component is marked as 1.x, signal-specific configuration options MUST NOT be removed or changed in a way that breaks our Go API compatibility promise, even if the signal is not stable.

I think for this particular option this means that we need to support this option forever if we merge this. I think this is fine since the profiling signal is here to stay, and the worst-case scenario is to keep this option working in some way if things change drastically.

@dmathieu
Copy link
Member

As mentioned, it's extremely unlikely profiling would be dropped.
Furthermore, the expected breaking changes from profiling end up being in the OTLP protocol, not in how this interface is implemented.
So having this option for an unstable signal in a stable module seems fair to me.

@evan-bradley
Copy link
Contributor

I think for this particular option this means that we need to support this option forever if we merge this.

The module itself is still 0.x, shouldn't we be okay to make API-only breaking changes for profiles before we make it 1.x?

@mx-psi
Copy link
Member

mx-psi commented Jul 30, 2025

I think for this particular option this means that we need to support this option forever if we merge this.

The module itself is still 0.x, shouldn't we be okay to make API-only breaking changes for profiles before we make it 1.x?

Yes, that is true, I guess the point Bogdan was trying to make is that we intend to mark this as 1.x at some point in the short/medium term. But anyway, as Damien pointed out, it is extremely unlikely that this would be changed in any way, so I am personally okay with taking the risk

@mx-psi
Copy link
Member

mx-psi commented Aug 4, 2025

@bogdandrutu Could you take a look at the discussion above and see if this unblocks things for you?

@mx-psi mx-psi requested a review from bogdandrutu August 4, 2025 16:00
@mx-psi
Copy link
Member

mx-psi commented Aug 12, 2025

@bogdandrutu I think given the discussion above and the fact that this is still not 1.0 I am going to merge this and we can keep discussing on #13504 if you have further concerns. What do you think?

@evan-bradley evan-bradley dismissed bogdandrutu’s stale review August 12, 2025 14:24

Per our conversation on Slack, dropping this since we have agreement from others this change is okay.

@bogdandrutu
Copy link
Member

@mx-psi sounds good to me

@mx-psi mx-psi added this pull request to the merge queue Aug 12, 2025
Merged via the queue into open-telemetry:main with commit 10fd06d Aug 12, 2025
57 checks passed
@mx-psi mx-psi deleted the jackgopack4/13504-create-custom-profiles-endpoint-otlphttpexporter branch August 12, 2025 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants