So I recently saw this posted on HN, which shows the call stack of a Java application from the point an http request hits Tomcat down to the point something happens in a database via JDBC.
I get that it’s just a java call stack, but this diagram made me very happy, as for some time I’ve had in mind the idea to try to visualise every abstraction from a transistor up to a user for a reasonably general use case such as looking at a web application in a browser.
My question to lobste.rs is - do any of you have, or could you suggest a reasonably direct way, to get hold of or create similar ‘call stacks’ for other parts of the whole stack of abstractions?
No, I’m not even sure exactly what it would look like, and yes, at some points it would need to ‘branch’ and allow visualisation of different stacks of abstractions that are working simultaneously, but the goal here is a rough estimate of (perhaps for one particular user action), a single-ish critical path of information flow through layers of abstractions.
This is just for my personal interest, although I do believe that one of the wonders of the world is that the hundreds of layers of abstraction between transistor and user seem to work mostly ok most of the time - and a visualisation of the entire stack would be useful in arguments about global technological complexity and sustainability, etc.
Edit: For clarification, not looking to build the stack myself or understand a simplified stack, I’m suggesting it would be useful to visualise all the layers of abstraction in a real environment.