dlg99 commented on issue #1782: Issue #1781: Add traces/zipkin support to simplify troubleshooting of slow requests URL: https://github.com/apache/bookkeeper/pull/1782#issuecomment-435547459 @sijie > more generic to intercept bookkeeper operations as in any possible step? i.e. traces pass context through executor etc, not sure what value it provides outside of the context of higher level trace. Either way, one can create Tracer that does some internal magic with traces, register that Tracer as a global Tracer. as in very specific points of bookie/client process (add start-finish, remote call start-finish etc)? This is related to tracing but not 100% the same. I.e. in traces I am interested to see wait/run times on executor etc., in case of such specific points executors are noise. I am not familiar with pulsar, I took a very brief look at https://github.com/apache/pulsar/blob/7a92111fe7824d422d1739abd06d85955b652212/pulsar-broker/src/test/java/org/apache/pulsar/client/api/InterceptorsTest.java where interceptors seem to be events that happen on start/finish of some operations. Using Storm as analogy, interceptors seem like a good idea to customize something when a bolt receives/sends a message letting whoever implements the bolt to deal with it internally. If I wanted to trace storm's internals the same way, interceptors seem to become nuisance. Or using servlet analogy, interceptors are like servlet filters that allow one to i.e. change headers or do something at specific points. I.e. if we are not interested in too many details abut the message or in changing the message and only need start/finish points of some events, we can use existing bookie's metrics framework to intercept such events. It did not work for me because I wanted to have flexibility in setting parent/child relationships. Interceptors could be a good feature to add but not necessarily as replacement or something dependent on tracing. TL;DR: There is probably some specific usecase that I am failing to catch right away but it feels like interceptors vs traces have some overlap but not complete and my immediate needs closer to traces. It also feels like interceptors are a great idea for i.e. streaming processing systems where big chunk of the code dealing with data is created by external user but that's not bookkeeper's case as far as I see it.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
