Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Trace Compass/News/NewIn21"

(Call graph analysis)
 
(7 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
= Call graph analysis =
 
= Call graph analysis =
 
A new analysis has been added to analyze the call stack data provided by a call stack analysis (e.g. LTTng UST call stack analysis based on gcc's finstrument-functions). For that 2 new views are available to provide information on the performance of the traced application: '''Flame Graph''' view and '''Function Duration Density''' view.
 
A new analysis has been added to analyze the call stack data provided by a call stack analysis (e.g. LTTng UST call stack analysis based on gcc's finstrument-functions). For that 2 new views are available to provide information on the performance of the traced application: '''Flame Graph''' view and '''Function Duration Density''' view.
 +
 +
'''Note''': The current implementation is limited by the available RAM. Future improvements will be done to overcome this limitation.
  
 
== Flame graph view ==
 
== Flame graph view ==
 
The '''Flame Graph''' view visualizes the aggregation of each function call duration per stack depth and per caller. The x-axis represents the function call duration. They are ordered by duration from left to right and it's easy to spot the function with longest duration and the code path that is used the most. The y-axis shows the call stack depth ordered from root at the top to leaf at the bottom. Multiple threads are grouped together in its own '''Flame Graph'''.
 
The '''Flame Graph''' view visualizes the aggregation of each function call duration per stack depth and per caller. The x-axis represents the function call duration. They are ordered by duration from left to right and it's easy to spot the function with longest duration and the code path that is used the most. The y-axis shows the call stack depth ordered from root at the top to leaf at the bottom. Multiple threads are grouped together in its own '''Flame Graph'''.
[[Image:FlameGraph.png]]
 
  
 +
[[Image:FlameGraph.png]]
  
 
== Function duration density view ==
 
== Function duration density view ==
  
The '''Function Duration Density''' view shows the distribution of function call duration over the current active window range.
+
The '''Function Duration Density''' view shows the distribution of function call durations for the current active window range.
  
 
[[Image:FunctionDensity.png]]
 
[[Image:FunctionDensity.png]]
Line 74: Line 76:
 
This will open a XML editor provided by the Eclipse WST project.
 
This will open a XML editor provided by the Eclipse WST project.
 
[[Image:TraceCompassXMLEditor.png]]
 
[[Image:TraceCompassXMLEditor.png]]
 +
 +
==Multiple instances of XML views of same type==
 +
It is now possible to have multiple XML view instances of same type (Time chart or XY chart) open at the same time.
 +
 +
==Augmented XSD for data-driven analysis==
 +
The XSD definition for data-driven state provider and data-driven pattern detection have been augmented in this release.
  
 
==Progress bar for indexing of CTF traces==
 
==Progress bar for indexing of CTF traces==
Line 79: Line 87:
  
 
[[Image:IndexingProgrossForCTF.png]]
 
[[Image:IndexingProgrossForCTF.png]]
 +
 +
== Support for LTTng-Analyses 0.5+ ==
 +
 +
The integration with [https://github.com/lttng/lttng-analyses LTTng-Analyses] was updated to support the latest 0.5 stable branch, as well as the project's master branch. This now follows the more standardized [https://github.com/lttng/lami-spec LAMI specification], so future protocol changes should be easier too. The 0.4 branch is still supported, but users are advised to update to the latest version.
 +
 +
== Java utility logging tracepoints for troubleshooting of Trace Compass ==
 +
 +
Trace Compass now contains some Java Utility Logging (JUL) tracepoints in various places in the code. To diagnose issues with Trace Compass or when reporting problems with the application, a JUL trace may be useful to help pinpoint the problem. See [http://archive.eclipse.org/tracecompass/doc/org.eclipse.tracecompass.doc.user/Java-Logging.html#Java_Logging this section] of the documentation, as well as [http://lttng.org/blog/2016/07/25/tracing-java-applications-and-tc/ this blog post] for more information.
  
 
= Bugs fixed in the 2.1.0 release =
 
= Bugs fixed in the 2.1.0 release =
 
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&classification=Tools&product=Tracecompass&query_format=advanced&resolution=FIXED&target_milestone=2.1.0 Bugs Fixed in Trace Compass 2.1.0]
 
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=CLOSED&classification=Tools&product=Tracecompass&query_format=advanced&resolution=FIXED&target_milestone=2.1.0 Bugs Fixed in Trace Compass 2.1.0]
 +
 +
[[Category:Trace_Compass]]

Latest revision as of 14:53, 13 February 2024

Operating system overview

A new perspective with a set of predefined views is available showing CPU Usage, Disk I/O Activity and Kernel Memory Usage populated with from LTTng Kernel traces.

OSOverviewPerspective.png

Call graph analysis

A new analysis has been added to analyze the call stack data provided by a call stack analysis (e.g. LTTng UST call stack analysis based on gcc's finstrument-functions). For that 2 new views are available to provide information on the performance of the traced application: Flame Graph view and Function Duration Density view.

Note: The current implementation is limited by the available RAM. Future improvements will be done to overcome this limitation.

Flame graph view

The Flame Graph view visualizes the aggregation of each function call duration per stack depth and per caller. The x-axis represents the function call duration. They are ordered by duration from left to right and it's easy to spot the function with longest duration and the code path that is used the most. The y-axis shows the call stack depth ordered from root at the top to leaf at the bottom. Multiple threads are grouped together in its own Flame Graph.

FlameGraph.png

Function duration density view

The Function Duration Density view shows the distribution of function call durations for the current active window range.

FunctionDensity.png

LTTng Control view enhancements

Enabling all kernel tracepoints and syscall at once

It is now possible to enable all LTTng kernel tracepoints and syscall at the same time.

EnableAllTracepointsAndSyscalls.png

Enabling LTTng Kernel events by name

It is now possible to enable LTTng Kernel events by specifying one or more names. This is useful when tracing Kernel modules that are loaded manually.

LTTng2EnableKernelEventsByName.png

Enabling specific LTTng Kernel syscall events

It is now possible to specify which LTTng Kernel syscall(s) to enable when enabling syscall events. Previously, only enabling all syscalls was supported.

LTTng2EnableSelectedSyscalls.png

Support for tracing Java and Python applications

It is now possible to create tracing sessions to trace Java and Python applications. For java, the loggers can be either JUL (java.util.logging) or LOG4J (org.apache.log4). User can enable specific loggers with or without specifying the loglevels to apply.

LTTng2JulLog4jPythonDomainSupport.png

Control Flow view enhancements

Following events per TID

Two navigation buttons have been added to the toolbar of the Control Flow view to follow events for the selected thread. With this is possible to go to the next or previous event from the current time for the selected thread.

LTTngCFVNextPrevEventPerTID.png

Optimizing threads grouping

Support for automatic threads grouping by activity using a graph placement algorithm has been added to the LTTng Control Flow view.

OptimizeThreadGroupingInCFV.png

Custom Text/XML parser enhancements

Support for event types in custom parsers

It is now possible to assign an event type in custom text and XML parser wizard.

CustomTextParserInputWithEventType.png

The event type will be displayed in Event type column. Data-driven analysis can take advantage of the event type definition.

CustomTextParserOutputWithEventType.png

Latency analysis enhancements

Total latency statistics

The Latency statistics view now will display the sum of a latencies per type in the Totals column. This is applicable to the Latency statistics view created by the data-driven pattern analysis or in Java like the System Call analysis.

LatencyStatisticsViewWIthTotals.png

Other enhancements

Open XML Editor for data-driven analysis

It is now possible to edit data-driven analyses directly within Trace Compass using the "Edit..." of the XML analysis manager.

ManageXMLAnalysisWithEdit.png

This will open a XML editor provided by the Eclipse WST project. TraceCompassXMLEditor.png

Multiple instances of XML views of same type

It is now possible to have multiple XML view instances of same type (Time chart or XY chart) open at the same time.

Augmented XSD for data-driven analysis

The XSD definition for data-driven state provider and data-driven pattern detection have been augmented in this release.

Progress bar for indexing of CTF traces

The progressing of the trace indexing of CTF traces will be shown in the Progress view as well as the status bar of Trace Compass.

IndexingProgrossForCTF.png

Support for LTTng-Analyses 0.5+

The integration with LTTng-Analyses was updated to support the latest 0.5 stable branch, as well as the project's master branch. This now follows the more standardized LAMI specification, so future protocol changes should be easier too. The 0.4 branch is still supported, but users are advised to update to the latest version.

Java utility logging tracepoints for troubleshooting of Trace Compass

Trace Compass now contains some Java Utility Logging (JUL) tracepoints in various places in the code. To diagnose issues with Trace Compass or when reporting problems with the application, a JUL trace may be useful to help pinpoint the problem. See this section of the documentation, as well as this blog post for more information.

Bugs fixed in the 2.1.0 release

See Bugzilla report Bugs Fixed in Trace Compass 2.1.0

Back to the top