[PATCH] Basic Support for Trace Compass

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Jun 11 05:31:11 UTC 2019


Hello Ravindra,

you can highlight that this is the second version of a patch with the 
"git format-patch -v2" command line option.

On 10/06/2019 07:46, Ravindra Meena wrote:
> ---
>   images/user/event-recording-trace.png  | Bin 0 -> 9573 bytes
>   images/user/event-recording-trace.puml |  12 +++++++++
>   user/tracing/eventrecording.rst        |  47 ++++++++++++++++++++++++++++++++-
>   3 files changed, 58 insertions(+), 1 deletion(-)
>   create mode 100644 images/user/event-recording-trace.png
>   create mode 100644 images/user/event-recording-trace.puml
> 
[...]
> 
> literal 0
> HcmV?d00001
> 
> diff --git a/images/user/event-recording-trace.puml b/images/user/event-recording-trace.puml
> new file mode 100644
> index 0000000..6705748
> --- /dev/null
> +++ b/images/user/event-recording-trace.puml
> @@ -0,0 +1,12 @@
> + at startuml
> +
> +rectangle Host
> +rectangle "Target/QEMU Target" as target

The information presented here should be abstract. Details how a 
particular board or simulator is set up belong to other sections, e.g. 
the BSP documentation.

> +rectangle "Trace Compass" as tracecompass
> +rectangle "Babeltrace" as babeltrace
> +Host --> target : Connecting
> +target --> Host : RTEMS Trace Data
> +Host --> tracecompass : CTF
> +Host --> babeltrace : CTF
> +
> + at enduml
> \ No newline at end of file

When Git complains a newline is missing at the end of the file, then 
please fix this.

> diff --git a/user/tracing/eventrecording.rst b/user/tracing/eventrecording.rst
> index d799774..09dc68b 100644
> --- a/user/tracing/eventrecording.rst
> +++ b/user/tracing/eventrecording.rst
> @@ -6,7 +6,7 @@
>   .. _EventRecording:
>   
>   Event Recording
> -===============
> +***************
>   
>   The `event recording` support focuses on the recording of high frequency
>   events such as
> @@ -56,3 +56,48 @@ started by :c:func:`rtems_record_start_server` via a TCP connection.
>   
>   On the host computer you may use the command line tool :file:`rtems-record` to
>   get recorded events from the record server running on the target system.
> +
> +.. _tracecompass:
> +
> +Trace Compass
> +=============
> +
> +`Trace Compass <https://www.eclipse.org/tracecompass/>`_ is a tool to analyse
> +and display trace data graphically. Trace data can be gathered from  RTEMS
> +applications via various means, for example:
> +
> +- :ref:`RTEMS Trace Linker <TraceLinker>`
> +- :ref:`RTEMS Capture Engine <CaptureEngine>`
> +- :ref:`RTEMS Event Recording <EventRecording>`

Currently the plan is to support only the trace data generated by the 
event recording. This should be stated here. The user needs a clear 
information what is supported. Mentioning too much stuff is just confusing.

> +
> +Event Recording infrastructure is used to analyse and display some basic
> +information. The basic information is defined by the Linux kernel trace
> +support (lttng) and includes CPU Usage, IRQ Analysis(IRQ Statistics,
> +IRQ Table etc.), Linux Kernel(Control Flow, Resources etc.)
> +
> +Advanced support for Trace Compass includes dynamic memory traces, stack usage,
> +network packet flow, etc.
> +
> +This scheme of tracing goes through the flow of events described in a subsequent
> +flowchart. This requires the environment setup of
> +`rtems-libbsd <https://github.com/RTEMS/rtems-libbsd>`_  and
> +`rtems-tools <https://github.com/RTEMS/rtems-tools>`_:
> +
> +Step 1: The QEMU simulator is used to run a LibBSD based application and connect
> +it to a virtual network on host. This requires to create a TAP virtual Ethernet
> +interface for this. The QEMU command line is used for board support package, e.g
> +the arm/xilinx_zynq_a9_qemu BSP etc. The host can be connected to target via
> +telnet.
> +
> +Step 2: On the host computer the command line tool rtems-record can be used to
> +get recorded events from the record server running on the target system.
> +Recorded events can be sent to a host computer with a very simple record server
> +started by rtems_record_start_server() via a TCP connection.
> +
> +Step 3: The trace data received at host from QEMU target is converted into CTF.
> +Since, Babeltrace and Trace Compass are two compatible software which can read
> +and write CTF. The converted CTF ca be passed to any of these softwares.
> +
> +.. figure:: ../../images/user/event-recording-trace.png
> +  :align: center
> +  :width: 75%
> \ No newline at end of file
> 

A worked out Qemu example should move to another section.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list