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

Semantic conventions - RPC/gRPC #1859

Open
Tracked by #1857
jpkrohling opened this issue Jan 12, 2024 · 5 comments
Open
Tracked by #1857

Semantic conventions - RPC/gRPC #1859

jpkrohling opened this issue Jan 12, 2024 · 5 comments
Assignees
Labels

Comments

@jpkrohling
Copy link
Member

jpkrohling commented Jan 12, 2024

@jsuereth and @trask have volunteered to be the sponsors for this.

@alexvanboxel
Copy link
Contributor

Would you consider OpenAPI spec also as RPC metrics?

This is because we're doing reverse mapping from Envoy Logs to OpenAPI metrics using the RPC semantics, with operationId as the method. This is for use as one of the most important signals, and it would be nice to get this formalized, if not under RPC, maybe somewhere else.

@svrnm
Copy link
Member

svrnm commented May 7, 2024

@alexvanboxel can you provide some more details on your question? Many people (including myself) do not know the details of the OpenAPI spec, so a few pointers to what you are trying to accomplish can help to provide an answer

@alexvanboxel
Copy link
Contributor

The OpenAPI specification defines a standard, language-agnostic interface to HTTP APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. (copied from doc)

We load all our public and internal OpenAPI specs and build a reverse map from the URL path (discovered from the spec) toward the OperationId defined in the spec. This is then taken by an Apache Beam pipeline that creates metric (duration, bytes sent, and bytes received) histograms per 1 minute. This is then pushed into our metrics backend. This is a valuable source for operation-specific SLOs. Most enterprise software is built now with OpenAPI spec (or spec first => then generate the code, or code first => then generate the OpenAPI spec).

The metrics are close too the RPC definition (if you consider an operationId), but it's not present in the semconv.

@svrnm
Copy link
Member

svrnm commented May 8, 2024

@alexvanboxel this is a question best asked via the sem conv, raise an issue there to have a proper discussion

@alexvanboxel
Copy link
Contributor

I will; I'm slowly working myself in and plan to start joining the SIG meetings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants