Skip to content

Conversation

@NoNickeD
Copy link
Contributor

@NoNickeD NoNickeD commented Aug 19, 2025

Description

This PR unexports internal structs in the cumulativetodeltaprocessor that are not part of the public API, improving API stability by reducing the exposed surface area.

Link to tracking issue

Fixes #40641

Changes Made

Unexported structs:

  • Statestate (internal tracking state implementation detail)
  • PrevPointprevPoint (internal field of the state struct)

Structs kept exported (as they should be):

  • Config & MatchMetrics - Part of public configuration API
  • MetricIdentity - Used in public functions
  • InitialValue - Used in config with marshaling
  • MetricTracker - Public API of the tracking package
  • ValuePoint - Part of the public tracking API
  • HistogramPoint - Part of the public tracking API
  • MetricPoint - Part of the public tracking API
  • DeltaValue - Part of the public tracking API

Testing

  • All existing tests pass
  • No functional changes, only visibility changes
  • Lint checks pass with no issues

@NoNickeD NoNickeD requested review from a team and TylerHelmuth as code owners August 19, 2025 15:29
@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Aug 19, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: NoNickeD / name: Nikos Nikolakakis (a564114)
  • ✅ login: atoulme / name: Antoine Toulme (f7ec757)

@github-actions github-actions bot added the processor/cumulativetodelta Cumulative To Delta processor label Aug 19, 2025
- State -> state (unexported internal implementation detail)
- PrevPoint -> prevPoint (unexported internal field)
- Keeps public API structs (ValuePoint, HistogramPoint, MetricPoint, DeltaValue) exported as intended
@NoNickeD NoNickeD force-pushed the unexport-cumulativetodelta-structs branch from 78a0ade to a564114 Compare August 19, 2025 16:43
Copy link
Contributor

@atoulme atoulme left a comment

Choose a reason for hiding this comment

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

You typically don't need to do this because these are under internal, so they will never be exported by the module. But that's fine.

@atoulme
Copy link
Contributor

atoulme commented Aug 28, 2025

@TylerHelmuth what is your take on this PR? is it ok?

@github-actions
Copy link
Contributor

This PR was marked stale due to lack of activity. It will be closed in 14 days.

@github-actions github-actions bot added the Stale label Sep 13, 2025
@NoNickeD
Copy link
Contributor Author

Hello,

Would you have a moment to review this PR when you get a chance?

@github-actions github-actions bot removed the Stale label Sep 14, 2025
@TylerHelmuth TylerHelmuth merged commit c8000c3 into open-telemetry:main Sep 27, 2025
186 checks passed
@otelbot
Copy link
Contributor

otelbot bot commented Sep 27, 2025

Thank you for your contribution @NoNickeD! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey.

@github-actions github-actions bot added this to the next release milestone Sep 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unexport structs

3 participants