Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

roadmap to make statsHandler stable #4690

Open
sahejsingh opened this issue Aug 20, 2021 · 7 comments
Open

roadmap to make statsHandler stable #4690

sahejsingh opened this issue Aug 20, 2021 · 7 comments
Assignees
Labels
P2 Type: API Change Breaking API changes (experimental APIs only!)

Comments

@sahejsingh
Copy link

https://github.com/grpc/grpc-go/blob/master/stats/stats.go#L21

// All APIs are experimental.

Reading the above gives an impression that the statsHandler api is not stable. Does this mean

  • api can be removed?
  • statsHandler interface or the stats it offers can change?

If answer to above is yes, is there a plan by when can we expect it to become stable?
If answer is no, can you please explain why that line exists? how should we interpret that.

@dfawley
Copy link
Member

dfawley commented Aug 24, 2021

Does this mean

  • api can be removed?
  • statsHandler interface or the stats it offers can change?

Yes, this is the idea.

is there a plan by when can we expect it to become stable?

I am going to be making some changes here within in the next 2-3 weeks to expose RPC retry information; hopefully in a non-breaking way, but in the process of doing that, I will assess the possibility of stabilizing these APIs as well.

@dfawley dfawley self-assigned this Aug 24, 2021
@dfawley
Copy link
Member

dfawley commented Nov 18, 2021

Update: I think the current basic API here can be marked as stable, with the possible exception of: can we remove some of the specific fields that are deprecated or unnecessary first? E.g. End.Trailer, OutTrailer.WireLength, and all the time.Time fields.

@pellared
Copy link
Contributor

pellared commented May 6, 2024

@dfawley, are there any plans to make the package stable in near time? We would like to have move confidence on the stability of the stats package for OpenTelemetry instrumentation in order favor it over interceptors API.

Related issue: open-telemetry/opentelemetry-go-contrib#4319

Related PR: open-telemetry/opentelemetry-go-contrib#5196

@dfawley
Copy link
Member

dfawley commented May 6, 2024

@pellared

I'm not sure if you're aware, but gRPC-Go intends to publish our own OTel instrumentation (using the stats package, which we can do safely since we control both sides of the API). The still-in-progress work is coming together in https://github.com/grpc/grpc-go/tree/master/stats/opentelemetry

Regarding the stability, there are a few changes coming - e.g. we will soon be removing the Data field from in/out payload (marked deprecated via #7121). There may be other changes needed as well, but we will try our best to have migration strategies where possible.

@pellared
Copy link
Contributor

pellared commented May 6, 2024

I'm not sure if you're aware, but gRPC-Go intends to publish our own OTel instrumentation

Awesome 👍

Does it mean that we after this is done we could deprecate https://pkg.go.dev/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc?

Do you intend to follow https://opentelemetry.io/docs/specs/semconv/rpc/grpc/? Are you involved in stabilizing the OpenTelemetry Semantic Conventions for RPC and gRPC?

@dfawley
Copy link
Member

dfawley commented May 6, 2024

Does it mean that we after this is done we could deprecate

We hope you will! :)

Do you intend to follow opentelemetry.io/docs/specs/semconv/rpc/grpc?

TBH I don't know. 😆 We are following our cross-language design here: https://github.com/grpc/proposal/blob/master/A66-otel-stats.md

Maybe @yashykt knows about both and can say off-hand whether they're the same or different.

@dashpole
Copy link

dashpole commented May 6, 2024

open-telemetry/semantic-conventions#627 was the latest change in that area. I believe OTel's migration plan to the gRPC metrics is still TBD.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 Type: API Change Breaking API changes (experimental APIs only!)
Projects
None yet
Development

No branches or pull requests

4 participants