monitoring distributed traces with kieker
play

Monitoring Distributed Traces with Kieker Hannes Strubel June 1, - PowerPoint PPT Presentation

Monitoring Distributed Traces with Kieker Hannes Strubel June 1, 2017 Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 1 / 33 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7.


  1. Monitoring Distributed Traces with Kieker Hannes Strubel June 1, 2017 Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 1 / 33

  2. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 2 / 33

  3. Motivation Motivation Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 3 / 33

  4. Goals Motivation ◮ Design a concept for monitoring distributed traces ◮ Implement the monitoring ◮ Implement the trace reconstruction ◮ Evaluate the concept Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 4 / 33

  5. Outline Motivation 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 5 / 33

  6. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 6 / 33

  7. Foundation Foundations ◮ Kieker Monitoring Framework ◮ AspectJ ◮ TeeTime Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 7 / 33

  8. Trace Reconstruction Foundations BeforeOperationEvent main() BeforeOperationEvent StringBuilder.append(..) AfterOperationEvent StringBuilder.append(..) BeforeOperationEvent StringBuilder.toString() AfterOperationEvent StringBuilder.toString() BeforeOperationEvent PrintStream.println(..) AfterOperationEvent PrintStream.println(..) AfterOperationEvent main() Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 8 / 33

  9. Communication Technologies Foundations ◮ REST - Jax-RS ◮ SOAP - Jax-WS ◮ RPC - RMI ◮ Message-oriented middleware - Apache ActiveMQ Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 9 / 33

  10. Approaches for Tracing Foundations ◮ Metadata propagation ◮ Schema-based ◮ Black-box inference RR Sambasivan, R Fonseca, I Shafer, GR Ganger - So, you want to trace your distributed system? Key design insights from years of practical experience 2014 Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 10 / 33

  11. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 11 / 33

  12. Monitoring RPC Related Work ◮ Exchange trace ID ◮ Generate records for sending and receiving a message ◮ Reconstruct traces with the additional records N. Matthiessen - Monitoring of Remote Procedure Calls - Concepts and Evaluation 2014 Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 12 / 33

  13. SOAP Probe Related Work ◮ Transfer information (e.g. trace ID, order ID) ◮ Modify SOAP header ◮ Continue client trace on server-side ◮ Use Apace CXF Interceptor Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 13 / 33

  14. Tracing Tools Related Work Google’s Dapper A Large Scale Distributed Systems Tracing Infrastructure X-Trace Network diagnostic tool MagPie Modelling and performance-aware systems Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 14 / 33

  15. Tracing Tools Related Work Twitter’s OpenZipkin based on Google’s Dapper paper a a BH Sigelman, LA Barroso, M Burrows, P Stephenson - Dapper, a Large-Scale Distributed Systems Tracing Infrastructure 2010 Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 15 / 33

  16. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 16 / 33

  17. Monitor TCP events Approach Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 17 / 33

  18. Aggregate TCP events Approach Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 18 / 33

  19. Merge Traces Approach Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 19 / 33

  20. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 20 / 33

  21. Goals of the evaluation Evaluation ◮ Monitor and reconstruct TCP communication ◮ Monitor REST, SOAP , RMI and reconstruct distributed traces Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 21 / 33

  22. Pointcuts for a TCP communication Evaluation Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 22 / 33

  23. Pointcuts for a TCP communication Evaluation Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 23 / 33

  24. TCP reduced call-tree Evaluation Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 24 / 33

  25. REST Evaluation GET method from a restful service 1 @GET 2 @Produces( MediaType . TEXT_PLAIN) 3 public String halloPlainText ( ) { 4 return " Hello World " ; 5 } Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 25 / 33

  26. Reduced call-tree Evaluation Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 26 / 33

  27. SOAP Evaluation WebMethod from a SOAP webservice 1 @WebMethod 2 public String getHelloAsString ( ) { 3 return " Hello World " ; 4 } Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 27 / 33

  28. RMI Evaluation Interface for an example RMI service 1 public i n t e r f a c e Hello extends Remote { 2 String sayHello ( ) throws RemoteException ; 3 } Implementation for an example RMI service 1 public class Server implements Hello { 2 public String sayHello ( ) throws RemoteException { 3 return " Hello world ! " ; 4 } 5 } Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 28 / 33

  29. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 29 / 33

  30. Conclusion Conclusion ◮ TCP probes and reconstruction of asynchronous trace works ◮ Probes do not apply for other communications ◮ therefore, probes for every implementation required ◮ AspectJ is maybe not adequate ◮ IP address is not a proper identifier in the application-layer Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 30 / 33

  31. 1. Motivation 2. Foundations 3. Related Work 4. Approach 5. Evaluation 6. Conclusion 7. Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 31 / 33

  32. New Approach Future Work Hannes Strubel Monitoring Distributed Traces with Kieker June 1, 2017 32 / 33

Recommend


More recommend