apple/swift-cluster-membership

Integrate swift-tracing into SWIM

Opened this issue · 1 comments

ktoso commented

It would be quite nice to optionally be able to pass around baggage context in such way that tracing will just work:

  • The Instance should return baggage context whenever it yields a send... directive
  • the Peer protocols should gain a context parameter (BaggageContext)
  • implementations should pass the context always
    • if a tracer is enabled, this will contain the trace ids so tracing "just works"

we'd small fun traces of the pings and pingReq (this one is more interesting since it performs a "hop" through a node, so that's nice to view).

We should also visualize a pingRequest as containing all of the pings this causes.

Tracing: https://github.com/slashmo/gsoc-swift-tracing

ktoso commented

Ah to be clear: this is unlikely to be running with tracing in production I think, but if we had it on/off switchable with an envelope that could be quite great.

I think it would be a great teaching and visalization tool and it's more interesting than request-response calls, esp a pingRequest can be "fun".