RidgeRun's GST-shark for Jetson AGX Xavier

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson AGX Xavier
• DeepStream Version Deepstream 6.0
• JetPack Version (valid for Jetson only) JetPack 4.6.1
• TensorRT Version 8

I am trying to install gst-shark and have it working on Jetson AGX Xavier. I was able to clone the repo, compile it and install it. I can also see the plugin for the tracer. However, when I run it with “interlatency”, or “cpuusage” etc., it does not give me any numbers. The only option that works is “latency”.
Can any of you help me with gst-shark on Jetson Xavier AGX?

Thank you in advance for your help!

Hi @raghavendra.ramya ,
As gst-shark is not developed or maintained by Nvidia, we are not able to support such plugin, maybe you have to go back to RidgeRun for help. Sorry for it.

Hi @raghavendra.ramya

GstShark should work on JetPack 4.6.1 regardless of the hardware since it uses GStreamer 1.14.5

Installation:

sudo apt install -y libgraphviz-dev
git clone git@github.com:RidgeRun/gst-shark.git
cd gst-shark/
meson build --prefix /usr/
ninja -C build
sudo ninja -C build install

To see all the available tracers run:

gst-inspect-1.0 | grep tracers

Detailed descriptions and guides to each tracer are provided in the GstShark wiki page. I tested a fresh installation on a Xavier AGX with JetPack 4.6.1 and all the tracers were installed correctly. Here is the command:

gst-inspect-1.0 | grep tracers
sharktracers:  buffer (GstTracerFactory)
sharktracers:  bitrate (GstTracerFactory)
sharktracers:  queuelevel (GstTracerFactory)
sharktracers:  framerate (GstTracerFactory)
sharktracers:  scheduletime (GstTracerFactory)
sharktracers:  interlatency (GstTracerFactory)
sharktracers:  proctime (GstTracerFactory)
sharktracers:  graphic (GstTracerFactory)
sharktracers:  cpuusage (GstTracerFactory)
coretracers:  latency (GstTracerFactory)
coretracers:  log (GstTracerFactory)
coretracers:  rusage (GstTracerFactory)
coretracers:  stats (GstTracerFactory)
coretracers:  leaks (GstTracerFactory)

Enable the tracers with the GST_DEBUG variable and then select the tracers wanted with GST_TRACERS. Here is a pipeline that uses the tracers you mentioned:

GST_DEBUG=*TRACE*:9 GST_TRACERS="cpuusage;interlatency" gst-launch-1.0 videotestsrc is-live=true ! fakesink

I hope this helps.

Hi @miguel.taylor

Thank you for responding. I tried the steps you suggested and gst-shark is working with latency, cpuusage and bitrate. But with interlatency, queuelevel, proctime I still get a segmentation fault. I am trying to use gst-shark with deepstream-app.

Thank you,
Ramya.

@raghavendra.ramya

I tested these tracers with the DeepStream pipelines I use and they seem to be working correctly. Can you share the command and configs you are using to see if I can reproduce the issue? Are you using multiple tracers at the same time or just one at a time?

Hi @miguel.taylor

Thank you for your willingness to help. I am using just the Yolov3-tiny config file in the Deepstream folder. Which one did you use? I tried using single and multiple tracers, but I see the same issues.

Thank you!

@raghavendra.ramya I tested with a simple deepstream pipeline with the example config files. Can you test something similar on your side to see if you get the same error?

GST_DEBUG=*TRACE*:9 GST_TRACERS="cpuusage;interlatency" gst-launch-1.0 \
uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-5.0/samples/streams/sample_720p.mp4" !  \
queue ! nvvideoconvert ! 'video/x-raw(memory:NVMM)' ! nvstreammux0.sink_0 \
nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=true ! \
nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-5.0/sources/apps/sample_apps/deepstream-test1/dstest1_pgie_config.txt" ! \
fakesink