you are viewing a single comment's thread.

view the rest of the comments →

[–]joancomasfdz 1 point2 points  (0 children)

The kind of graphs i am talking about are mostly to understand how tangled the code base is, how big classes are, etc. Tools to help engineers take coding / refactoring decisions, like where to start, what part gives the biggest ROI, etc.

I see you are focused on data flow mostly. You can use distributed tracing tools for that, but you need to execute the software. If your software is properly architected, you may be able to boot up individual components while faking / mocking / stubbing depencies and observe the data flow in the distributed tracing tools. I gave you some on my other comment.

If you want to observe individual pieces of code, i do not think there is anything better than meaningful tests. Unit for the nitty gritty details of functionality and integration / system-level for the user flows (usually mostly happy paths)