Debugging

VVAS Debugging

This section covers various debugging options available in VVAS.

GStreamer logs

VVAS relies on debugging tools supported by GStreamer framework. For more details, you may refer to GStreamer Debugging Tools

vvas-core library logs

VVAS GStreamer plug-ins are using different vvas-core libraries for different functionalities. Logs specific to each of these vvas-core libraries can be enabled/disabled. How to rout these to syslog, to a file or to the console is covered in the section below. vvas-core library logs will be routed to one of the options mentioned below.

To syslog

If syslog is supported, this is the default destination for the logs. Logs will be routed to either /var/log/syslog or /var/logs/messages.

Note

Make sure systemd or other logging service is running

Note

Syslog support currently not available in V70 platform.

To a File

If environment variable VVAS_CORE_LOG_FILE_PATH is set to file path then vvas-core logs will be routed to file provided. if file path is invalid or unable to create file in the provided path due to permissions then logs will be routed to SYSLOG.

Example: export VVAS_CORE_LOG_FILE_PATH=$PWD/log.txt

To Console

If environment variable VVAS_CORE_LOG_FILE_PATH is set to “CONSOLE” then vvas-core logs will be routed to console.

Example: export VVAS_CORE_LOG_FILE_PATH=CONSOLE

Note

The current V70 docker container sets the VVAS_CORE_LOG_FILE_PATH to “CONSOLE” inside the setup file docker_env_setup.sh. Hence after sourcing that setup file VVAS core logs are routed to the console.

Setting VVAS_CORE Log Level

To set vvas_core log level for GStreamer based applications, GST_EXPORT should be set accordingly. Mapping between GStreamer log level and vvas-core library log level is as mentioned below.

GStreamer Log level

vvas-core log level

GST_LEVEL_NONE, GST_LEVEL_ERROR

LOG_LEVEL_ERROR

GST_LEVEL_WARNING, GST_LEVEL_FIXME

LOG_LEVEL_WARNING

GST_LEVEL_INFO

LOG_LEVEL_INFO

Default

LOG_LEVEL_DEBUG

Device side debugging

V70 device runs Petalinux on APU and to check the V70 device side logs, login to minicom and access device side Linux terminal. The steps are as below

  • Install minicom on the host system (outside of the docker) using sudo apt install minicom

  • Access V70 device via minicom using below command (run outside the docker on host system)

sudo minicom -D /dev/ttyXRTUL1
  • Serial device ttyXRTUL1 is considering single Alveo card installed on the host

  • Once V70 device is accessible, one can use below handy commands for further debug in addition to normal Linux commands to see memory info, cpu info and dmesg.

  • To check if VDU soft kernels are installed and how many, lookout for skd in process status command

ps -ef | grep skd
  • See VDU software control and soft kernel logs inside /var/log/messages