How to measure PGIE latency?

the title is pretty self-explanatory, I need to have a reliable measure of the time it takes to a batch to pass thru a PGIE element;

which is the recommended strategy?

thanks in advance,


Cuda has the bandwidth test sample to test host to device and device to host bandwidth. /usr/local/cuda/samples/1_Utilities/bandwidthTest

thanks for replying;

maybe I didn’t express myself clearly;
I need a reliable measure of the inference time;
the h2d and d2h memcopy are not part of this analysis;

I found this API searching within your documentation

I use the function

num_sources_in_batch = nvds_measure_buffer_latency(buf, latency_info);

inside a probe attached to the primary sink pad, where latency info is allocated like this

NvDsFrameLatencyInfo *latency_info = (NvDsFrameLatencyInfo *) malloc(batch_size * sizeof(NvDsFrameLatencyInfo));

the problem is that when the probe is triggered and the function above is executed I get a segmentation fault; am I missing any step? I could not find any code sample of how to use this API

thanks again,


Can you refer to

sources/apps/sample_apps/deepstream-app/deepstream_app.c --> latency_measurement_buf_prob()

Ensure that Jetson clocks are set high. Run these commands to set Jetson clocks high.
sudo nvpmodel -m <mode> --for MAX perf and power mode is 0 sudo jetson_clocks -> The DeepStream application is running slowly

To enable frame latency measurement, run this command on the console:
export NVDS_ENABLE_LATENCY_MEASUREMENT=1 •To enable latency for all plugins, run this command on the console: export NVDS_ENABLE_COMPONENT_LATENCY_MEASUREMENT=1
Using deepstream app, for latency measurement user should use RTSP or USB live sources and not file based