How to calculate the time taken by every element in the pipeline without using probes

how do i calculate the time taken by every element in the pipeline without using probes any macros to be used??

Please refer to the latency.

Deepstream version is 6.1 yet am not able to see any time related information on the display…

The feature I attached has been supported since 5.0. You can check the log like below:

Comp name = nvv4l2decoder0 in_system_timestamp = 1593689758799.982910 out_system_timestamp = 1593689758998.961914 component latency= 198.979004
Comp name = src_bin_muxer source_id = 0 pad_index = 0 frame_num = 1442 in_system_timestamp = 1593689758999.022949 out_system_timestamp = 1593689759070.697021 component_latency = 71.674072
Comp name = primary_gie in_system_timestamp = 1593689759070.767090 out_system_timestamp = 1593689759137.716064 component latency= 66.948975
Comp name = tracking_tracker in_system_timestamp = 1593689759137.745117 out_system_timestamp = 1593689759147.971924 component latency= 10.226807
Comp name = tiled_display_tiler in_system_timestamp = 1593689759148.038086 out_system_timestamp = 1593689759152.321045 component latency= 4.282959
Comp name = nvosd0 in_system_timestamp = 1593689759153.775879 out_system_timestamp = 1593689759153.791016 component latency= 0.015137
Source id = 0 Frame_num = 1442 Frame latency = 369.830078 (ms)

yes i am getting the output but what exactly the output tells

Comp name: plugin
in_system_timestamp: system time when the frame in
out_system_timestamp: the system time when the frame out
component latency: frame processing time

thank you!

since i have a custom plugins in the pipeline want to make changes in the plugin itself can you please tell what is the entry and exit points of elements since there are many init functions in the plugin.

You need to pay attention to the flow of the gstbuffer in your own plugin.

if i want to calculate the processing time of an element should i start with the init functions or the function which is the processing the frame??

You should choose the function which is the processing the frame.

i have a custom pipeline when the frame is processing through the pipeline the elements starts from the init function or the processing function of that element??

init functions are executed once??

the processing function of that element.

Yes.

Thank you!

Since init functions are called once and i have my transform_ip function in init function but the transform_ip function is called every frame, how the function is getting to know that the frame is received everytime when it is processing?

is there any information in the frame like gstreamer timestamps which are appended with the frame?

even if there is a single source the source id’s are changing and the latency information is only from decoder to osd element and how these are batches are split based on streammux batch-size?

i am using multiuridecodebin in the deepstreams config-txt file does it sends the frames in batch wise ? or all at a time ?

If there are new questions, please file a new topic. We try to make sure that each topic only discusses relevant issues. Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.