-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Currently, transcoder handlers are opaque and there is no way to pry into what's happening until we get into grpc handler.
One use case I have in mind is opentelemetry. I start the tracer before transcoder with no knowledge about my routes so my traces explorer will be full of unique transactions like:
GET /package/version/entity/foo1?param=bar
GET /package/version/entity/foo2?param=baz
If I had access to route matches in transcoder, I could have set http.route attribute or anything else from the http rule.
I've thought about not starting the tracer at all before reaching grpc handler, but it's not always possible. Some things are meant to happen with a non-transcoded request, like logging or authz (not ideal, but that usually depends on url paths like /api/admin/entity/*). And some of those things benefit from the knowledge of transcoder metadata (like detecting route tags from http rules).