Intel® VTune™ Profiler

User Guide

ID 766319
Date 3/22/2024
Public
Document Table of Contents

Timeline Report

Like the Timeline window in the Intel® VTune™ Profiler user interface, the Timeline report provides information about a metric which changed over time. This is a tabular report where each row displays the average metric value in each time interval.

For example, this command generates a timeline report that captures the CPU Utilization section highlighted in the Timeline pane below:

vtune -result-dir <result_path> -report timeline -report-knob column-by=CPUTime -report-knob bin-count=5

When you run the command, you see the following information:

vtune: Using result path `C:\VTune\Projects\sample (matrix)\r005hs'
vtune: Executing actions 75 % Generating a report                              
timeBin  Bin Start Time  Bin End Time  CPU Time:Self
-------  --------------  ------------  -------------
0                 0.000         7.440       621.445s
1                 7.440        14.879       620.543s
2                14.879        22.319       675.243s
3                22.319        29.758       573.878s
4                29.758        37.198       404.154s
vtune: Executing actions 100 % done

Generate a Timeline Report from an Existing Result

Run this command:

vtune -result-dir <result_path>
      -report timeline
      -report-knob column-by=<metric name>
    [ -report-knob sort-column-by=<metric name> ]
    [ -report-knob group-by=<grouper name> ]
    [ -report-knob bin-count=<30 by default> ]
    [ -report-knob start=<0 by default> ]
    [ -report-knob end=<end of collection by default> ]
    [ -report-knob time-format=<seconds|milliseconds|events> ]
    [ -report-knob object-names=True|False by default ]
    [ -report-knob query-type=interval|... ]

where:

  • <metric name> is the metric information you want. For example, CPUTime, OvertimeBandwidth, ContextSwitches, Task, PMUEventCount/PMUEventType etc.

  • <grouper name> is an optional name given to a grouper. During data collection, every metric on the timeline gets detected within a context. The metric is then attributed to the context. You use this context as the <grouper name> to group metric actions. Some examples of <grouper name> are Thread, UncorePackage, Task etc. Each instance of the <grouper name> generates an output table for that collection of metric actions. For example, if a parallel application runs on eight threads, setting group-by=Thread generates eight timeline reports. To see the overall behavior of the metric over time, do not set <grouper name>.

Example: Timeline Report for CPU Time

This example generates a timeline report for the r000hs result of a Hotspots analysis. The timeline report shows CPU Time utilization over 30 intervals:

vtune.exe -r r000hs -report timeline -report-knob column-by=CPUTime
timeBin  Bin Start Time  Bin End Time  CPU Time:Self
-------  --------------  ------------  -------------
0                 0.000         1.240         5.456s
1                 1.240         2.480         6.318s
2                 2.480         3.720         6.462s
3                 3.720         4.960         6.502s
4                 4.960         6.200         6.638s
5                 6.200         7.440         5.908s
6                 7.440         8.679         6.659s
7                 8.679         9.919         6.018s
8                 9.919        11.159         5.555s
9                11.159        12.399         5.599s
10               12.399        13.639         6.404s
11               13.639        14.879         6.994s
12               14.879        16.119         6.997s
13               16.119        17.359         6.290s
14               17.359        18.599         6.986s
15               18.599        19.839         6.859s
16               19.839        21.079         6.496s
17               21.079        22.319         6.883s
18               22.319        23.558         7.044s
19               23.558        24.798         4.416s
20               24.798        26.038         5.306s
21               26.038        27.278         6.219s
22               27.278        28.518         6.140s
23               28.518        29.758         5.305s
24               29.758        30.998         5.874s
25               30.998        32.238         5.617s
26               32.238        33.478         3.909s
27               33.478        34.718         3.688s
28               34.718        35.958         3.232s
29               35.958        37.198         1.927s

Example: Timeline Report for CPU Time within Time Range

In this example, a timeline report is generated from the r006ue result of a Microarchitecture analysis. The data is collected between the second and fifth seconds. The data collected during these three seconds is presented over 50 intervals of time.

vtune -r r006ue -report timeline -report-knob column-by=CPUTime -report-knob start=20000000000 -report-knob end=50000000000 -report-knob bin-count=50
timeBin  Bin Start Time  Bin End Time  CPU Time:Self
-------  --------------  ------------  -------------
0                 2.000         2.060       583.614s
1                 2.060         2.120       596.239s
2                 2.120         2.180       568.513s
3                 2.180         2.240       656.714s
4                 2.240         2.300       593.027s
5                 2.300         2.360       582.537s
6                 2.360         2.420       686.536s
7                 2.420         2.480       630.049s
8                 2.480         2.540       683.360s
9                 2.540         2.600       449.970s
10                2.600         2.660       534.815s
11                2.660         2.720       523.006s
12                2.720         2.780       563.003s
13                2.780         2.840       650.275s
14                2.840         2.900       590.479s
15                2.900         2.960       644.241s
16                2.960         3.020       646.289s
17                3.020         3.080       644.978s
18                3.080         3.140       634.378s
19                3.140         3.200       627.582s
20                3.200         3.260       588.956s
21                3.260         3.320       621.873s
22                3.320         3.380       158.051s
23                3.380         3.440       170.440s
24                3.440         3.500       216.458s
25                3.500         3.560       121.819s
26                3.560         3.620       351.148s
27                3.620         3.680       256.142s
28                3.680         3.740       385.892s
29                3.740         3.800       507.566s
30                3.800         3.860       459.971s
31                3.860         3.920       495.019s
32                3.920         3.980       503.530s
33                3.980         4.040       565.219s
34                4.040         4.100       526.778s
35                4.100         4.160       541.870s
36                4.160         4.220       569.609s
37                4.220         4.280       474.287s
38                4.280         4.340       585.829s
39                4.340         4.400       625.578s
40                4.400         4.460       656.474s
41                4.460         4.520       438.410s
42                4.520         4.580       519.766s
43                4.580         4.640       414.919s
44                4.640         4.700       577.235s
45                4.700         4.760       596.569s
46                4.760         4.820       570.871s
47                4.820         4.880       586.414s
48                4.880         4.940       532.267s
49                4.940         5.000       564.387s

Example: Timeline Report as a CSV File

When you collect a significantly large volume of data, consider exporting the timeline report to a CSV file for easier data management.

In this example, a timeline report generated from the r008hs result (of a Hotspots analysis) is saved as a CSV file (r008hs_timeline.csv). The collected data is split into 1000 intervals of time.

vtune -r r008hs -report timeline -report-knob column-by=CPUTime -report-knob bin-count=1000 -format=csv -csv-delimiter=semicolon -report-output r008hs_timeline.csv

The contents of r008hs_timeline.csv contain:

timeBin;Bin Start Time;Bin End Time;CPU Time:Self
0;2.000;2.060;583.614
1;2.060;2.120;596.239
... 

Example: Timeline Report of PMU Core Events Grouped by Threads

Run this command to generate a timeline report that groups PMU core events by threads and sorts the groups by event counts.

vtune -r <result dir> -report timeline -report-knob group-by=Thread -report-knob sort-column-by=PMUEventCount -report-knob column-by=PMUEventCount/PMUEventType

Example: Timeline Report of PMU Uncore Events Grouped by Packages

Run this command to generate a timeline report that groups PMU uncore events by packages and sorts the groups by uncore event counts.

vtune -r <result dir> -report timeline -report-knob group-by=UncorePackage -report-knob sort-column-by=UncoreEventCount -report-knob column-by=UncoreEventCount/UncoreEventType

Example: Timeline Report of Context Switches per Thread

Run this command to generate a timeline report of context switches per thread, using a time format of millisecond

vtune -r <result dir> -report timeline -report-knob query-type=interval -report-knob group-by=Thread -report-knob sort-column-by=ContextSwitchCount -report-knob column-by=ContextSwitches -report-knob bin-count=1000000000 -report-knob time-format=millisecond

Example: Timeline Report of Tasks per Thread

Run this command to generate a timeline report of tasks per thread and also displays the names of the tasks.

vtune -r <result dir> -report timeline -report-knob query-type=interval -report-knob group-by=Thread -report-knob sort-column-by=TaskTime -report-knob column-by=Task -report-knob object-names=True -report-knob bin-count=1000000000