Skip to content

Commit 65d79b8

Browse files
Merge pull request #45 from intel-innersource/fix/removed-stale-input-latency
Removed stale input latency and updated MD file with latest generated…
2 parents 87fde8a + db6c3a5 commit 65d79b8

File tree

8 files changed

+8
-17
lines changed

8 files changed

+8
-17
lines changed

IntelPresentMon/AppCef/source/util/async/Introspect.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ namespace p2c::client::util::async
3535
const auto filterPred = [](const pmapi::intro::MetricView& m) { const auto type = m.GetType();
3636
return
3737
( m.GetId() != PM_METRIC_GPU_LATENCY &&
38-
m.GetId() != PM_METRIC_DISPLAY_LATENCY &&
39-
m.GetId() != PM_METRIC_INPUT_LATENCY)
38+
m.GetId() != PM_METRIC_DISPLAY_LATENCY)
4039
&&
4140
( type == PM_METRIC_TYPE_DYNAMIC ||
4241
type == PM_METRIC_TYPE_DYNAMIC_FRAME ||

IntelPresentMon/ControlLib/NvidiaPowerTelemetryAdapter.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ namespace pwr::nv
6767
// loop through all sensors, read those of interest into output struct
6868
for (const auto& sensor : thermals.sensor)
6969
{
70-
if (sensor.target == NVAPI_THERMAL_TARGET_GPU &&
71-
sensor.controller == NVAPI_THERMAL_CONTROLLER_GPU_INTERNAL)
70+
// TODO: consider prioritizing sensor.controller == NVAPI_THERMAL_CONTROLLER_GPU_INTERNAL when multiple GPU thermals are present
71+
if (sensor.target == NVAPI_THERMAL_TARGET_GPU)
7272
{
7373
info.gpu_temperature_c = (double)sensor.currentTemp;
7474
SetTelemetryCapBit(GpuTelemetryCapBits::gpu_temperature);
@@ -212,4 +212,4 @@ namespace pwr::nv
212212
{
213213
return name;
214214
}
215-
}
215+
}

IntelPresentMon/Interprocess/source/metadata/EnumMetric.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
\
3737
X_(METRIC, GPU_LATENCY, "GPU Latency", "", "How long it took until GPU work for this frame started") \
3838
X_(METRIC, DISPLAY_LATENCY, "Display Latency", "", "Time between frame submission and scan out to display") \
39-
X_(METRIC, INPUT_LATENCY, "Input To Frame Start Latency", "", "Time between input and display") \
4039
X_(METRIC, CLICK_TO_PHOTON_LATENCY, "Click To Photon Latency", "", "Time between input and display") \
4140
\
4241
X_(METRIC, GPU_SUSTAINED_POWER_LIMIT, "GPU Sustained Power Limit", "", "Sustained power limit of the GPU") \

IntelPresentMon/Interprocess/source/metadata/MetricList.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
X_(PM_METRIC_GPU_LATENCY, PM_METRIC_TYPE_DYNAMIC_FRAME, PM_UNIT_MILLISECONDS, PM_DATA_TYPE_DOUBLE, PM_DATA_TYPE_DOUBLE, 0, PM_DEVICE_TYPE_INDEPENDENT, FULL_STATS) \
3838
X_(PM_METRIC_DISPLAY_LATENCY, PM_METRIC_TYPE_DYNAMIC_FRAME, PM_UNIT_MILLISECONDS, PM_DATA_TYPE_DOUBLE, PM_DATA_TYPE_DOUBLE, 0, PM_DEVICE_TYPE_INDEPENDENT, FULL_STATS) \
3939
X_(PM_METRIC_CLICK_TO_PHOTON_LATENCY, PM_METRIC_TYPE_DYNAMIC_FRAME, PM_UNIT_MILLISECONDS, PM_DATA_TYPE_DOUBLE, PM_DATA_TYPE_DOUBLE, 0, PM_DEVICE_TYPE_INDEPENDENT, PM_STAT_NON_ZERO_AVG, PM_STAT_PERCENTILE_01, PM_STAT_PERCENTILE_05, PM_STAT_PERCENTILE_10, PM_STAT_MAX) \
40-
X_(PM_METRIC_INPUT_LATENCY, PM_METRIC_TYPE_DYNAMIC_FRAME, PM_UNIT_MILLISECONDS, PM_DATA_TYPE_DOUBLE, PM_DATA_TYPE_DOUBLE, 0, PM_DEVICE_TYPE_INDEPENDENT, FULL_STATS) \
4140
\
4241
X_(PM_METRIC_GPU_SUSTAINED_POWER_LIMIT, PM_METRIC_TYPE_STATIC, PM_UNIT_WATTS, PM_DATA_TYPE_DOUBLE, PM_DATA_TYPE_DOUBLE, 0, PM_DEVICE_TYPE_GRAPHICS_ADAPTER, PM_STAT_NONE) \
4342
X_(PM_METRIC_GPU_POWER, PM_METRIC_TYPE_DYNAMIC_FRAME, PM_UNIT_WATTS, PM_DATA_TYPE_DOUBLE, PM_DATA_TYPE_DOUBLE, 0, PM_DEVICE_TYPE_GRAPHICS_ADAPTER, FULL_STATS) \

IntelPresentMon/PresentMonAPI2/PresentMonAPI.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ extern "C" {
6565

6666
PM_METRIC_GPU_LATENCY,
6767
PM_METRIC_DISPLAY_LATENCY,
68-
PM_METRIC_INPUT_LATENCY,
6968
PM_METRIC_CLICK_TO_PHOTON_LATENCY,
7069

7170
PM_METRIC_GPU_SUSTAINED_POWER_LIMIT,

IntelPresentMon/SampleClient/DynamicQuerySample.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ int AddGpuMetric(pmapi::Session& pSession, unsigned int processId, double window
5959
elements.push_back(PM_QUERY_ELEMENT{ .metric = PM_METRIC_GPU_BUSY, .stat = PM_STAT_AVG, .deviceId = 0, .arrayIndex = 0 });
6060
elements.push_back(PM_QUERY_ELEMENT{ .metric = PM_METRIC_DISPLAY_LATENCY, .stat = PM_STAT_AVG, .deviceId = 0, .arrayIndex = 0 });
6161
elements.push_back(PM_QUERY_ELEMENT{ .metric = PM_METRIC_DISPLAYED_TIME, .stat = PM_STAT_AVG, .deviceId = 0, .arrayIndex = 0 });
62-
elements.push_back(PM_QUERY_ELEMENT{ .metric = PM_METRIC_INPUT_LATENCY, .stat = PM_STAT_AVG, .deviceId = 0, .arrayIndex = 0 });
62+
elements.push_back(PM_QUERY_ELEMENT{ .metric = PM_METRIC_CLICK_TO_PHOTON_LATENCY, .stat = PM_STAT_NON_ZERO_AVG, .deviceId = 0, .arrayIndex = 0 });
6363

6464
PM_METRIC gpuMetric;
6565
uint32_t gpuDeviceId;
@@ -157,7 +157,7 @@ int DynamicQuerySample(std::unique_ptr<pmapi::Session>&& pSession, double window
157157
FixedQueryElement gpuBusyTimeAvg{ this, PM_METRIC_GPU_BUSY, PM_STAT_AVG };
158158
FixedQueryElement gpuDisplayLatencyAvg{ this, PM_METRIC_DISPLAY_LATENCY, PM_STAT_AVG };
159159
FixedQueryElement gpuDisplayDurationAvg{ this, PM_METRIC_DISPLAYED_TIME, PM_STAT_AVG };
160-
FixedQueryElement gpuPhotonLatencyAvg{ this, PM_METRIC_CLICK_TO_PHOTON_LATENCY, PM_STAT_AVG };
160+
FixedQueryElement gpuPhotonLatencyAvg{ this, PM_METRIC_CLICK_TO_PHOTON_LATENCY, PM_STAT_NON_ZERO_AVG };
161161
FixedQueryElement gpuPower{ this, PM_METRIC_GPU_POWER, PM_STAT_AVG, 1 };
162162
FixedQueryElement presentMode{ this, PM_METRIC_PRESENT_MODE, PM_STAT_MID_POINT };
163163
FixedQueryElement gpuName{ this, PM_METRIC_GPU_NAME, PM_STAT_NONE, 1 };

IntelPresentMon/SampleClient/FrameQuerySample.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ int GenCsv(pmapi::Session& pSession, std::string processName, unsigned int proce
119119
{ PM_METRIC_GPU_BUSY, PM_STAT_NONE, 0, 0},
120120
{ PM_METRIC_DISPLAY_LATENCY, PM_STAT_NONE, 0, 0 },
121121
{ PM_METRIC_DISPLAYED_TIME, PM_STAT_NONE, 0, 0 },
122-
{ PM_METRIC_INPUT_LATENCY, PM_STAT_NONE, 0, 0}
122+
{ PM_METRIC_CLICK_TO_PHOTON_LATENCY, PM_STAT_NONE, 0, 0}
123123
};
124124

125125
auto frameQuery = pSession.RegisterFrameQuery(queryElements);

README-CaptureApplication.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ In Debug configuration, the application will halt with a modal error dialog when
3232
--p2c-no-net-fail
3333
```
3434

35-
## Metric Definitions
35+
## Metric and CSV Column Definitions
3636

3737
| Metric | CSV Column | Description | Compatible Query Types |
3838
| - | - | - |:-:|
@@ -62,7 +62,6 @@ In Debug configuration, the application will halt with a modal error dialog when
6262
|Allows Tearing|AllowsTearing|Indicates if the frame allows tearing|DF|
6363
|GPU Latency|GPULatency|How long it took until GPU work for this frame started|DF|
6464
|Display Latency|DisplayLatency|Time between frame submission and scan out to display|DF|
65-
|Input To Frame Start Latency||Time between input and display|DF|
6665
|Click To Photon Latency|ClickToPhotonLatency|Time between input and display|DF|
6766
|GPU Sustained Power Limit||Sustained power limit of the GPU|DS|
6867
|GPU Power|GPUPower|Power consumed by the graphics adapter|DF|
@@ -110,10 +109,6 @@ The PresentMon capture application creates two CSV files per capture. The first
110109
The second CSV file generated is a stats summary file for the capture. It includes the duration of the capture, the total number of frames captured, plus the average, minimum, maximum, 99th, 95th and
111110
90th FPS percentiles. The stats file is named using the following pattern: "pmcap-[executablename]-YYMMDD-HHMMSS-stats.csv". All files are stored in the user's appdata local directory in the "Intel\PresentMon\Capture" folder.
112111

113-
### CSV columns
114-
115-
The PresentMon capture application outputs all of the telemetry provided by the PresentMon Service. Please see the following link for all metric definitions:
116-
117112
## Implementation
118113

119114
### Z-band

0 commit comments

Comments
 (0)