Skip to content

Conversation

@RassK
Copy link
Contributor

@RassK RassK commented Sep 29, 2025

What

Adds experimental opamp client.
More info in contrib repo:
https://github.com/open-telemetry/opentelemetry-dotnet-contrib/tree/main/src/OpenTelemetry.OpAmp.Client

Tests

Build was locally tested.
Additional tools are unit tested.

Checklist

  • CHANGELOG.md is updated.
  • Documentation is updated.
  • New features are covered by tests.

# Conflicts:
#	src/OpenTelemetry.AutoInstrumentation/Configurations/GeneralSettings.cs
@RassK RassK requested a review from a team as a code owner September 29, 2025 20:09
Copy link
Member

@Kielek Kielek left a comment

Choose a reason for hiding this comment

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

I have 2 concerns here

  1. New transitive dependencies.
    • Google.Protobuf was already removed from the distribution in scope of update od OTel ADK to 1.11.0: 3986
    • System.Collections.Immutable - Do you any possibility to drop this dependency in Opam.Client package?
  2. Lack of integration tests with OpAmp server. I see 2 options here
    • create mocked server as we have for OTLP protocol
    • Utilize some existing dockerized server.
      Adding this kind of tests can be done as follow up PR.

@RassK RassK closed this Sep 30, 2025
@RassK
Copy link
Contributor Author

RassK commented Sep 30, 2025

I have 2 concerns here

  1. New transitive dependencies.

    • Google.Protobuf was already removed from the distribution in scope of update od OTel ADK to 1.11.0: 3986

I was looking what OpenTelemetry.Exporter.OpenTelemetryProtocol was doing. This experience could be transferred to OpAMP client as well.

  • System.Collections.Immutable - Do you any possibility to drop this dependency in Opam.Client package?

Probably not. This may have to stay.
Update: @Kielek found a way to fix it, so we can go fully without deps

  1. Lack of integration tests with OpAmp server. I see 2 options here

    • create mocked server as we have for OTLP protocol
    • Utilize some existing dockerized server.
      Adding this kind of tests can be done as follow up PR.

I could reuse OpAMP Go's example server.

@RassK RassK reopened this Sep 30, 2025
Copy link
Contributor

@ysolomchenko ysolomchenko left a comment

Choose a reason for hiding this comment

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

I believe it makes sense to create separate settings for OpAMP and handle calculations there (ConnectionType and ServerUrl). This would allow us :

  • Keep code consistency
  • Add file-based configuration

@RassK
Copy link
Contributor Author

RassK commented Sep 30, 2025

I believe it makes sense to create separate settings for OpAMP and handle calculations there (ConnectionType and ServerUrl). This would allow us :

  • Keep code consistency
  • Add file-based configuration

Yes, this seems good change for this PR even.

@RassK
Copy link
Contributor Author

RassK commented Oct 1, 2025

Moving to draft. The plan is to implement the next version without deps.

@RassK RassK marked this pull request as draft October 1, 2025 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants