Skip to content

Consolidate rpc metadata attribute #2869

@thompson-tomo

Description

@thompson-tomo

Area(s)

area:http, area:rpc

What's missing?

The ability to have have a common attribute for capturing rpc metadata regardless of the rpc protocol/system/framework being used. Also missing is stable attributes.

Note as per https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md grpc headers are delivered via http.

Describe the solution you'd like

Option 1 (preferred):

  • Introduction of a http.request.trailer.<key> attribute
  • Introduction of a http.response.trailer.<key> attribute
  • Deprecate rpc.connect_rpc.request.metadata.<key> as an uncategorised deprecation with data now stored http.request.header.<key> & in http.request.trailer.<key>
  • Deprecate rpc.connect_rpc.response.metadata.<key> as an uncategorised deprecation with data now stored http.response.header.<key> & in http.response.trailer.<key>
  • Deprecate rpc.grpc.request.metadata.<key> as an uncategorised deprecation with data now stored http.request.header.<key> & in http.request.trailer.<key>
  • Deprecate rpc.grpc.response.metadata.<key> as an uncategorised deprecation with data now stored http.response.header.<key> & in http.response.trailer.<key>

Option 2:

  • Deprecate rpc.connect_rpc.request.metadata.<key> as a renamed to deprecation with data now stored rpc.request.metadata.<key>
  • Deprecate rpc.connect_rpc.response.metadata.<key> as a renamed to deprecation with data now stored rpc.response.metadata.<key>
  • Deprecate rpc.grpc.request.metadata.<key> as a renamed to deprecation with data now stored rpc.request.metadata.<key>
  • Deprecate rpc.grpc.response.metadata.<key> as a renamed to deprecation with data now stored rpc.response.metadata.<key>

TBD approach for capturing headers/trailers in a streaming scenario

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Accepted

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions