Fork me on GitHub
Drew Verlee02:01:02

I just wanna walk through what this AWS X-ray thing is at a high level as i'm really unclear what i'm looking at. > AWS X-Ray helps developers analyze and debug production, distributed applications, such as those built using a microservices architecture. With X-Ray, you can understand how your application and its underlying services are performing to identify and troubleshoot the root cause of performance issues and errors. X-Ray provides an end-to-end view of requests as they travel through your application, and shows a map of your application’s underlying components. You can use X-Ray to analyze both applications in development and in production, from simple three-tier applications to complex microservices applications consisting of thousands of services. Let me try to pair this down... > are performing Like how would it know if my computer are really crunching away at some meaningful task or just adding numbers in a loop endless? > end-to-end view of requests as they travel through your application, Ok so they mean they are going to add tags to network requests and register individual servers in a cluster as entities as well as handlers at entry points that will log the flow of traffic to another database? I'm guessing Jepsen might have some tools for doing this if you want to take inspiration from somewhere. Not sure that adds to the conversation...


Usually the way it's done is by attaching a unique ID to an incoming request and that ID is passed along with extra metadata down the stack, and propagated up once the request is done (request can be sync or async), that's why all of the JVM tools offer extensions to things like Jetty, gRPC so that this instrumentation happens automatically - for Clojure the usual approach is a ring middleware but once you step out of that, you'll have to instrument all of your code to pass the context when doing HTTP calls (or similar)