I've included a few pictures of stuff I recently used, maybe it can help to give more context.
- http://1.bp.blogspot.com/-YA10ftXFFQ0/U6-iAdAUtGI/AAAAAAAAAn...
This one was done for debugging, as I do often. The code that I was debugging took some geometry and generated some texturemaps from it, it's really hard to debug why the maps are wrong when they are, what happened to the geometrical calculations. So I just added a std::vector<float> debugStuff and pushed values from various locations, then wrote it as a CSV. In processing I load this bunch of floats I know the meaning of and plot them in 3d as a point cloud. Each point in the cloud is clickable to show more of what happened at that position.
- http://1.bp.blogspot.com/-EFgdBffKEU0/U6-h9QweujI/AAAAAAAAAn...
This was for performance. A particular system computes tens of thousands of generated code snippets according to some rules, that will then used in runtime in various ways. Testing in runtime is hard because it's hard to cover all of them and it would take a long time. So I rigged the system to extract statistics about the generated code and save them to a CSV. Then in Mathematica I categorize and plot these datapoints and I can compare what changed between two different runs of the system. When I see in the data that a given change seems promising enough, I do the expensive test in runtime