Eclipse Trace Compass 2.0.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

2.0.0

Description

Trace Compass is a tool for viewing and analyzing both logs and traces. It provides views, graphs, metrics, etc. to help extract useful information from logs or traces, in a way that is user-friendly and informative.

This release includes new features, API changes and additions to the framework as well as new extension points.

This release is part of Neon.

 

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

Trace Compass has been providing extension points for adding new trace or log types and for adding trace analysis modules.

In this release 2 new extension points have been added:

  • org.eclipse.tracecompass.tmf.core.analysis.ondemand

    This extension point is used to provide on-demand analyses. Unlike regular analyses, the on-demand ones are only executed when the user specifies it.

  • org.eclipse.tracecompass.tmf.ui.symbolProvider

    This extension point can be used to transform from symbol addresses that might be found inside a TmfTrace into human readable texts, for example function names (e.g. used for Call Stack views)

 

Security Issues

There are no security issues.

Non-Code Aspects

Trace Compass documentation is kept up-to-date for added and changed features. The developer and user guides are available as Eclipse help plug-ins and are part of the installable features. The latest released versions are also available on the Eclipse Foundation's web page.

 

Usability Details

User experience is very important for us and we continuously work on improving the user experience.

  • The UI components support for keyboard navigation.

  • All of our strings are externalized but there are currently no language packs.
  • Stream-lined key handling across Time Graph views

  • Trace Compass is designed to support large trace data that exceeds the available memory while providing a responsive UI.

Trace Compass 2.0 provides more capabilities for the user to perform custom trace analysis without writing any Java code and extending Trace Compass.

First of all, the existing data-driven analysis for Trace Compass has been enhanced for pattern detection using finite state machines (FSM). Defining such a data-driven pattern matching it is possible to perform latency and timing analysis of  real-time applications or systems. Several latency analysis views have been added that can be populated using the data-driven pattern detection. Users now can define custom patterns, load them into Trace Compass and analyse the timing of their system. No Java code is required for that. For more information about that see the Trace Compass user guide.

Secondly, it is now possible to run external analysis scripts (e.g. written in Python, Perl) and programs on the trace data. Users often write scripts to perform custom analysis. Scripts can easily be integrated into continuous integration. With this release Trace Compass provides a way to integrate command-line scripts or programs with the rich set of UI features of Trace Compass. Scripts can now be executed from Trace Compass and the output will be loaded as reports into Trace Compass. Such reports will point users to problem  areas in the trace data. The reports can be visualized as tables, histograms and scatter charts. From the report it is possible to navigate to the trace location and use the existing views to analyze the trace data further. and to find root causes of the problem areas.

A machine interface has been defined that allows for this integration. LTTng Analysis scripts for LTTng kernel traces have been updated to comply with the machine interface and are integrated with Trace Compass. Users can also provide user-defined scripts for any trace type in order to create custom reports.

End of Life

New API were added to Trace Compass 2.0 as well as API have been cleaned-up for this release.

The feature "LTTng Live trace reading" has been disabled for Trace Compass 2.0.It was decided to disable the LTTng Live trace support because of the shortcomings documented in bug 486728.  We look forward to addressing the shortcomings in the future releases in order to re-enable the feature.

 

Standards

Trace Compass comes with multipe built-in trace parsers for the following standard:

  • Common Trace Format (CTF)

    • Linux LTTng kernel traces

    • Linux LTTng-UST userspace traces which can come from proprietary software or open source eg. Mir, MariaDB, QEMU traces

    • Other traces in CTF, e.g. Linux Perf traces (CTF), Bare metal traces (CTF), Hardware traces (e.g. IEEE Nexus 5001 CTF conversion).

  • GDB traces for debugging

  • Best Trace Format for OSEK

  • The libpcap (PAcket CAPture) format, for network traces

Trace Compass provides a remote tracer control for LTTng Kernel and UST Tracers for configuring of trace sessions.

For the integration of the command-line analysis Trace Compass is able to consume analysis results specified by the LTTng Analysis Machine Interface.

Communities
  • 8 active committers from 3 different organizations

  • Trace Compass can be setup using Oomph.  We hope this lowers the barrier-to-entry and stimulates the growth of our community.

  • User interaction via Bugzilla, IRC chat (#tracecompass) and mailing list (tracecompass-dev@eclipse.org)

  • Bugzilla has been used for planning and bug tracking. In the future the project will also pilot the use of the open-source ALM (application lifecycle management) tool. This will help us to improve project planning and collaboration across various contributing organisations. An instance of Tuleap is currently installed at Eclipse and the project can be found here.

  • Centralized update site and download page for the standalone RCP

  • Trace Compass is part of the PolarSys solutions

  • Strong relationship with the LTTng project. Project members interact with this community via mailing list (lttng-dev@lists.lttng.org).

  • Many interactions with the CDT project. One committer is also committer in CDT.

  • Trace Compass has been the preferred Trace Analysis Tool for students as part of the trace research projects with the Polytechnique Montreal university. Many new features and enhancements for Trace Compass have been a direct outcome of  the reseach projects. See below for a link to the current active research track:

  • A project member presented at EclipseCon North America 2016 and participated at the co-located CDT summit:

 

This release is part of Neon