Issues about summary statistics

Hi all, I have encountered some issues on summary statistics.

I have profiled a remote TensorRT C++ program and generated a qdrep report. The tool I use is nsight system 2021.2.1.58 for windows host. My goal is to perform some statistics on events I concern, such as total active time of events in a chosen time interval. I didn’t find how to achieve this in GUI. The only way I found is to operate the corresponding SQLite DB, either using nsys stats CLI or writing SQL scripts myself.

Question 1
Is there a way to get total time of the chosen events in GUI?

Question 2
Does the SQLite DB contains all data that I observe in the GUI?
In my case, I can observe CPU utilization and other accelerators trace in GUI, but fail to find them in corresponding DB.

Question 3
If the answers are both no, how can I achieve my goal in those events not existing in DB?

If I don’t make it clear, please point it out.
Looking forward to your reply. Thanks.

Just to make sure I understand, you want a dynamic summary, such as total duration of events, and perhaps percentage of usage and similar type numbers, that update dynamically as you select different parts of the timeline?

I’m under the impression this is not available, but I’m not as familiar with the features of the GUI as some; I spend most of my time in the CLI.

I think the answer you’re looking for is “yes,” but just to be clear…

The SQLite exports contain almost all of the data in the QDREP file, but both files only contain the raw capture and event data. Most of the GUI displays and reports do significant calculations and data manipulations in order to generate the required graph, summary, or display. That “display data” that you observe in the GUI is usually not directly available in the SQLite file, but it should be possible to calculate it from the data in the SQLite file. Those calculations are not always obvious or easy, however.

More information about the SQLite export schema and format can be found in the Documentation directory of your nsys install directory.

If you do want to write your own scripts to manipulate and summarize the data, consider using the nsys stats framework. The nsys stats CLI command generates its output by calling external Python scripts, which make queries into the SQLite database, and return the data to nsys. nsys then formats and exports the data for display. The framework takes care of a lot of the boiler-plate code and error handling, making it much more direct to write most queries.

Unfortunately, significant documentation on the stats framework is not really available. Your best bet is to look at the provided scripts in the reports directory of your install directory, and copy/modify one of those.

Thank you for your detailed reply.

Yes, that’s what I meant. It will be convenient for statistics if GUI provides the capability. Unfortunately it seems unavailable in the latest nsight system GUI.

Thank you for pointing this out. I have read the documents for nsys-exporter, but I don’t find contents on other accelerator trace. In my case, I can observe DLA0 events in other accelerator trace timeline, but don’t to know where to find raw data in DB. Could you please give me more information on this?

Thanks in advance.

Any updates?