Eric C. If you're open to deploying an intermediate collector, this might simplify the Single Global Context approach a bit - https://github.com/luke-moehlenbrock/filter-remap-processor This is a custom collector processor built for pretty much this exact use case, it supports filtering and dropping spans and will buffer traces for a set time to remap the parent-child relationships to account for any dropped spans before forwarding to the next consumer (Phoenix/Jaeger in this case). With the collector approach you also only need 1 tracer provider exporting to the collector endpoint and can then handle the separate backends with multiple exporters/pipelines at the collector level. Here's an example config that should work for this use case, let me know if you would be interested in using this approach, I'm happy to talk through it in more detail if you have any questions.
