absinthe_federation icon indicating copy to clipboard operation
absinthe_federation copied to clipboard

Support federated tracing

Open kdawgwilk opened this issue 3 years ago • 2 comments

Docs on federated tracing https://www.apollographql.com/docs/federation/metrics/

Proto file: https://github.com/apollographql/apollo-server/blob/main/packages/apollo-reporting-protobuf/src/reports.proto

See example tracing library for absinthe https://github.com/sikanhe/apollo-tracing-elixir

Possible design

  1. CreateTrace document phase that creates a stub %Trace{} and stuffs it into blueprint.execution.acc
  2. Middleware that adds a %Trace.Node{} in the resolution.extensions for each field that gets resolved
  3. AccumulateResult document phase that walks the tree building up the trace hierarchy from the %Resolution{} structs
  4. AddExtension document phase that takes the accumulated result and puts it into the blueprint.result.extensions

kdawgwilk avatar Jul 15 '21 19:07 kdawgwilk

Any updates here? Curious if theres been any progress/workarounds people have used to get around this issue. Seems like a must for most production use cases doesn't it?

abdilaziz-ibrahim avatar Sep 21 '23 17:09 abdilaziz-ibrahim

@abdilaziz-ibrahim we have tracing setup with datadog and open telemetry and are leaning more towards that instead of fleshing this support out

kdawgwilk avatar Sep 21 '23 22:09 kdawgwilk