Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

graphical timeline create software API for profiling a multithreaded C++ program

I am building a high performance multi-threaded program. Durations of some functions and the overlapping of execution count a lot and I wish to somehow produce a kind of a visual timeline graph showing at what time functions began and their durations. I wish for something similar to the graphs of the NVIDIA profiler. Using the boost::chrono package I already collect timelines, but can't find any software or API that plots them out. Does anybody knows of any?

Regards

Daniel

like image 459
Daniel Avatar asked Mar 18 '13 13:03

Daniel


1 Answers

Have a look at kcachegrind, I think it does what you want. Here are some screenshots.

If you don't want to use callgrind and you would rather generate the graphs yourself, consider using Graphviz. All you need to do to produce a graph with graphviz is to create a description of the graph in a simple text format.

like image 163
piokuc Avatar answered Oct 04 '22 00:10

piokuc