-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Distributed tracing is a method of monitoring and profiling applications, by tracing a request along the services it hits. This keeps an application reliable, observable and identifying failures of services easier. According to a research conducted by Camunda involving 354 enterprises, the outcome shows that 63% of the companies are using microservices and many more are planning to adopt them. Industry today is limited to utilizing centralized logs and transaction metrics as a part of Application and Performance Monitoring(APM) and does not provide a complete view of the distributed system. This makes finding the root cause of a failure difficult making distributed tracing of microservices significant.
Microservices can be deployed on thousands of instances and can be dynamically created/destroyed which makes its tracing complex. The tools used in industry today like Jaeger, Zipkin etc. are limited in tracing and monitoring of microservices and rely upon instrumenting the code. This makes adoption of such tools into existing distributed systems complex. Given the polyglot nature of huge production systems, doing a white-box instrumentation of code can be very challenging as it is dependent on language-specific libraries or technologies.
In this project, we are investigating a black-box method for distributed tracing of microservices. Our approach will help keep the tracing application-transparent and would not require changing the source code. We intend to implement black-box instrumentation of microservices via docker builds i.e. by adding agents and potentially OS kernel extensions to the container OS running the microservice. In addition, we plan to develop a UI for graphical navigation of trace data by viewing interactively generated UML sequence diagrams to represent end-to-end distributed traces. Finally, we plan on using trace data analysis to identify errors or changes in the overall behavior of the distributed system.
- Feb 6 - Project Abstract
- Mar 5 - Workbook #1 (Research Findings)
- Apr 9 - Workbook #2 (Design Specifications)
- May 7 - Draft Report (1st two Chapters)