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

Reply via email to