-
Notifications
You must be signed in to change notification settings - Fork 41.4k
Closed
Description
End-to-End request flow measurements are very important. A Correlation ID is used across request calls to track microservice call flow to 1. nail down nasty bugs and 2. track the originating event and understand the latency between the edge service to the API Gateway and from the API gateway fanout to all the downstream services. This is achieved by inserting correlation GUIDs and transaction IDs in HTTP headers and tracking them across requests.
- Correlation IDs can be implemented as servlet filters. A better way to inject this cross cutting concern across microservices code is by defining an aspect. Building on the servlet filter approach, such a capability is provided by the com.ofg:micro-infra-spring-base module. The CorrelationID support in the 4finance repo. works across Spring Reactor threads, Servlet 3.0, async servlets, Spring MVC Controllers, Spring RestTemplate and Apache Camel.
- The finagle-zipkin project provides the instrumentation for google’s Dapper-style distributed tracing in services. See Zipkin for a full fledged tracing system.
- Cloud Foundry services like AppDynamics and NewRelic also provide this capability by automatically instrumenting the java code via javaagent’s to insert these unique IDs and then visualize the request flow using a dashboard.
Can we get the capability of leveraging correlation IDs to enable request tracing across process boundaries natively in spring boot.
Metadata
Metadata
Assignees
Labels
No labels