Hi everyone, I'm experimenting on how to add tracing to Kafka Streams.
One option is to override and access `InternalTopologyBuilder#addProcessor`. Currently this method it is final, and builder is not exposed as part of `StreamsBuilder`: ``` public class StreamsBuilder { /** The actual topology that is constructed by this StreamsBuilder. */ private final Topology topology = new Topology(); /** The topology's internal builder. */ final InternalTopologyBuilder internalTopologyBuilder = topology.internalTopologyBuilder; private final InternalStreamsBuilder internalStreamsBuilder = new InternalStreamsBuilder(internalTopologyBuilder); ``` The goal is that If `builder#addProcessor` is exposed, we could decorate every `ProcessorSupplier` and capture traces from it: ``` @Override public void addProcessor(String name, ProcessorSupplier supplier, String... predecessorNames) { super.addProcessor(name, new TracingProcessorSupplier(tracer, name, supplier), predecessorNames); } ``` Would it make sense to propose this as a change: https://github.com/apache/kafka/compare/trunk...jeqo:tracing-topology ? or maybe there is a better way to do this? TopologyWrapper does something similar: https://github.com/apache/kafka/blob/trunk/streams/src/test/java/org/apache/kafka/streams/TopologyWrapper.java Thanks in advance for any help. Cheers, Jorge.