Visible to Intel only — GUID: GUID-142D14A8-25DC-4595-910B-ED40DEC393E8
Visible to Intel only — GUID: GUID-142D14A8-25DC-4595-910B-ED40DEC393E8
Create a CSV File with External Data
Intel® VTune™ Profiler can process and integrate performance statistics collected externally with a custom сollector or with your target application in parallel with the native VTune Profiler analysis. To achieve this, provide the collected custom data as a csv file with a predefined structure and save this file to the VTune Profiler result directory.
VTune Profiler can load and process the following data types:
To make the VTune Profiler interpret the custom statistics from the csv file, make sure the file format meets the following requirements:
File Name
csv filename should specify the hostname where your custom collector gathered the data, following these format requirements:
Filename format:[user-defined]-hostname-<hostname-of-system>.csv
Where:
[user-defined] is an option string, for example, describing the type of data collected
-hostname- is a required text that must be specified verbatim
<hostname-of-system> is the name of the system where the data is collected. If you use a custom collector you can retrieve the hostname by using the VTUNE_HOSTNAME environment variable. If you create a CSV file to import into an existing result, you can either refer to the Summary window that provides the required hostname in the Collection and Platform Info section > Computer name, or check the corresponding vtunesummary report: vtune -r <result> -R summary.
Example:phases-hostname-octagon53.csv
If the hostname in the csv file name is not specified or specified incorrectly, the VTune Profiler displays the imported data with the following limitations:
Event timestamps are represented in the UTC format.
Only global data (not attributed to specific threads/processes) are displayed.
Format for Interval Values
Interval data may be optionally bound to a thread ID. VTune Profiler represents data not bound to a particular thread (there are no TID values in the csv file) as frames. Data bound to a thread (there are TID values in the csv file) is represented as tasks .
For imported interval values, use 5 columns, where the order of columns is important:
name,start_tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC],end_tsc,[pid],[tid]
Column Name |
Description |
---|---|
name |
Name of an event. |
start_tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC] |
Event start timestamp. This column name has a QPC|CLOCK_MONOTONIC_RAW, RDTSC or UTC suffix that indicates the type of a timestamp counter:
|
end_tsc |
Event end timestamp. |
pid |
Process ID, provided optionally. Absence of a value in this field does not affect how a result is imported except for extremely rare cases when the following conditions are all met:
You may specify this field as an empty value within the data, or skip it from both file header and data entirely. |
tid |
Thread ID, provided optionally. If a value is specified in this field, the interval will be interpreted as a Task; otherwise, interval will be interpreted and shown as a Frame. You may specify this field as an empty value within the data, or skip it from both file header and data entirely. |
Format for Discrete Values
You can import two types of discrete values:
Cumulative data type (for example, distance, hardware event count), specified with the .COUNT suffix in the csv file
Instantaneous data type (for example, power consumption, temperature), specified with the .INST suffix in the csv file
The following format is required:
tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC],CounterName1.COUNT|INST[,CounterName2.COUNT|INST],[pid],[tid]
Column Name |
Description |
---|---|
tsc.[QPC|CLOCK_MONOTONIC_RAW|RDTSC|UTC] |
Event start timestamp. This column has a QPC|CLOCK_MONOTONIC_RAW, RDTSC, or UTC suffix that indicates the type of a timestamp counter:
|
CounterName1 |
Name of the event. Each counter has a separate column. COUNT suffix is used to specify a cumulative counter value. INST suffix is used to specify instantaneous counter values. |
pid |
Process ID, provided optionally. Absence of a value in this field does not affect how a result is imported except for extremely rare cases when the following conditions are all met:
You may specify this field as an empty value within the data, or skip it from both file header and data entirely. |
tid |
Thread ID, provided optionally. If a value is specified in this field, the interval will be interpreted as a Task; otherwise, interval will be interpreted and shown as a Frame. You may specify this field as an empty value within the data, or skip it from both file header and data entirely. |
Additional Requirements
Make sure each csv file contains only one table. If you need to load several tables, create several csv files with one table per file.
Use commas as value separators.
Use RDTSC, UTC or performance counter (QueryPerformanceCounter on Windows OS and CLOCK_MONOTONIC_RAW on Linux OS) to specify events timestamp.