Skip to content

Conversation

@trask
Copy link
Member

@trask trask commented Apr 16, 2025

Marking as ready for review, but it's not ready for approvals yet since we haven't lined up the necessary staffing yet.

@lmolkova
Copy link
Member

lmolkova commented Apr 21, 2025

Based on the discussion during SemConv call on 4/21/25, adding a few large topics I'd like to figure out in the scope of this group:

  1. What's an RPC system? Graph QL, WebSockets , SSE over HTTP, MCP, SignalR, WCF, etc? Are logical operations like AWS SDK calls (REST over HTTP) RPC calls?

  2. Which benefits does the abstraction bring?

    • Generic span conventions would cover almost everything there is in common between RPC systems - span name includes low-cardinality routes, span kind shows the side, server/client/network/error attributes cover generic networking concerns.

      • we still need a rpc.system (rpc.protocol.name) attribute
      • we still need some generic or protocol-specific attributes (gRPC status code)
    • Metrics - having a common call duration makes it easy to build a generic dashboard

      • such metric would have server/client/network, error.type attributes and a common operation name
      • but what does this metric show? All my remote (out-of-process) calls? No, it doesn't cover HTTP, sql low-level, etc
  3. Streaming: should we do any effort to define generic conventions? can we?

    • context propagation over individual messages
    • correlated request/response events or spans
    • streaming-related metrics (number of messages, time-between-messages, etc)

One potential outcome of p1 and p2 that we might decide that we can't define RPC system and/or can't define enough of a useful abstractions effectively limiting the scope of the group to a few attributes that remain necessary.

@lmolkova
Copy link
Member

/cc @JamesNK in case he's interested in sharing his experience instrumenting gRPC and SignalR

@danielgblanco
Copy link
Contributor

I've approved pending comment on staffing.

@trask trask requested a review from a team June 18, 2025 18:49
Copy link
Member

@alolita alolita left a comment

Choose a reason for hiding this comment

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

Excited to see this work takeoff! Lgtm.

Co-authored-by: Liudmila Molkova <neskazu@gmail.com>
@trask trask requested a review from a team as a code owner August 29, 2025 15:00
trask and others added 2 commits August 29, 2025 08:00
Co-authored-by: Liudmila Molkova <neskazu@gmail.com>
Co-authored-by: Liudmila Molkova <neskazu@gmail.com>
Co-authored-by: Matt Hensley <130569+matt-hensley@users.noreply.github.com>
trask added 2 commits August 29, 2025 08:50
Resolved conflicts in .cspell.yaml by merging word lists from both branches
@trask trask added this pull request to the merge queue Aug 29, 2025
Merged via the queue into open-telemetry:main with commit 459a9dc Aug 29, 2025
7 checks passed
@trask trask deleted the rpc branch August 29, 2025 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/project-proposal Submitting a filled out project template

Projects

No open projects
Status: No Status

Development

Successfully merging this pull request may close these issues.

10 participants