Jump to content

GstShark - Queue Level tracer: Difference between revisions

no edit summary
(Created page with "{{GstShark Tracer |prev=Bitrate tracer |next=Buffer tracer |name=Queue Level |description= |pipeline= |graph= }}")
 
No edit summary
Line 3: Line 3:
|next=[[GstShark - Buffer tracer|Buffer tracer]]
|next=[[GstShark - Buffer tracer|Buffer tracer]]
|name=Queue Level
|name=Queue Level
|description=
|description=The Queue Level tracer measures the amount of data queued in every queue element in the pipeline. A new trace will be printed every time a buffer enters a queue.
|pipeline=
 
|graph=
This data is specially useful when debugging latency and performance bottlenecks. The queue level will provide the developer with additional data to debug queue underruns and other related problems.
|pipeline=The following pipeline demonstrates how to use the queuelevel tracer and the results obtained with it. Queue elements with specific maximum sizes are used to simulate constrained queue elements. This forced maximum should be reflected on the measurements for every element on the output log of the tracer.
 
<syntaxhighlight lang=bash>
$ GST_DEBUG="GST_TRACER:7" GST_TRACERS="queuelevel" gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fraction)30/1' ! videorate max-rate=30 ! videoconvert ! queue max-size-buffers=20 ! avenc_h263p ! queue max-size-time=400000000 ! avimux ! fakesink sync=true
</syntaxhighlight>
|graph=[[File:queuelevel_test.png|1000px|center]]
|output=
<font size=1>
<pre>0:00:03.326893588 6168 0x18322d0 TRACE GST_TRACER :0:: queuelevel, queue=(string)queue0, size_bytes=(uint)9216000, size_buffers=(uint)20, size_time=(string)0:00:00.666666667;
0:00:03.360292341 6168 0x18324a0 TRACE GST_TRACER :0:: queuelevel, queue=(string)queue1, size_bytes=(uint)72732, size_buffers=(uint)12, size_time=(string)0:00:00.400000000;</pre></font>
 
Each line of the log includes a {{code|queue}} field identifying the element being measured, and three fields with the measurement of the queue level in bytes, buffers and time. The results show the queue levels at the maximum established by the limits set on the pipeline. On practical applications, the queue level may be constrained by bottlenecks that do not provide the queue with enough data.
}}
}}
460

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.