Skip to content
Success

Changes

Summary

  1. callstack: Add synchronization on fields in data provider (details)
  2. trace-event: Fix 's', 't', 'f' semantics (details)
  3. callstack: Fix the FlameGraphTest (details)
  4. callgraph: Always return the palette with kernel (details)
Commit 87a22a2df44b13d97f793c32c6d52ade02cbd578 by Genevieve Bastien
callstack: Add synchronization on fields in data provider

Commit ef3c56e87c797f7a41e5d717fdc5b37266f95a60 removed the locking from
the data provider, but it was not entirely unnecessary. Some
synchronization is required on the fIdToCallstack field to ensure there
are no ConcurrentModificationException, but locking is introduced in
micro-dose only where necessary.

Change-Id: Ia6eb942e5907c4374b9a0e867738516e6618a679
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/156091
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core/src/org/eclipse/tracecompass/incubator/internal/callstack/core/instrumented/provider/FlameChartDataProvider.java (diff)
Commit 4f3db65ad92def98f8c02b89bad7490c50aff89f by Genevieve Bastien
trace-event: Fix 's', 't', 'f' semantics

According to the specification, flow events should not create stack
elements, but should rather be represented as arrows only.

This also adds unit tests on the flow_simple.json trace, to test the
flow events, as well as the complete events.

[fixed] Semantics of trace-event's flow events 's', 't', 'f'

Change-Id: I83f4ede7e9610071f81f7755f7b266c2c2be6aa2
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/139865
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
The file was addedtracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/traces/flow_various.json
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core/src/org/eclipse/tracecompass/incubator/callstack/core/base/EdgeStateValue.java (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/ITraceEventConstants.java (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/src/org/eclipse/tracecompass/incubator/traceevent/core/tests/InstrumentedCallStackArrowsTest.java (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventField.java (diff)
The file was addedtracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/resources/expectedScopeArrows.csv
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/resources/expectedArrows.csv (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/analysis/callstack/TraceEventCallStackProvider.java (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/src/org/eclipse/tracecompass/incubator/traceevent/core/tests/CallStackStateProviderTest.java (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core.tests/traces/tracecompassLog_small.json (diff)
The file was modified tracetypes/org.eclipse.tracecompass.incubator.traceevent.core/src/org/eclipse/tracecompass/incubator/internal/traceevent/core/event/TraceEventAspects.java (diff)
Commit 2caa15f0d220eed3689c1a109633965e2c9ab3a0 by Genevieve Bastien
callstack: Fix the FlameGraphTest

Some concurrent build threads would be run in any order and result may
have been to display the callgraph of another test. This fixes the
concurrency issues by resetting all values at the end of the test to
make sure there's no pollution between tests.

Change-Id: Ie7030966e157c6a2b984f490470c63f3e4d2a967
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/156103
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.ui.swtbot.tests/src/org/eclipse/tracecompass/incubator/callstack/core/ui/swtbot/tests/flamegraph/FlameGraphTest.java (diff)
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core.tests/src/org/eclipse/tracecompass/incubator/callstack/core/tests/callgraph/instrumented/AggregationTreeTest.java (diff)
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.ui/src/org/eclipse/tracecompass/incubator/internal/callstack/ui/flamegraph/FlameGraphView.java (diff)
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core/src/org/eclipse/tracecompass/incubator/internal/callstack/core/flamegraph/FlameGraphDataProviderFactory.java (diff)
Commit 13986ab5903b13f4fef811281f07bd7ea5ec4e52 by Genevieve Bastien
callgraph: Always return the palette with kernel

At worst, the kernel styles won't be used and it avoids having to wait
for the analysis to terminate. The palette is requested in a UI thread,
so it can hang it for a long time for a large trace.

Change-Id: I8bf6d5af84c36912fc002e9334be192060bb07a5
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/156014
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core/src/org/eclipse/tracecompass/incubator/callstack/core/instrumented/statesystem/InstrumentedCallStackAnalysis.java (diff)
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core/src/org/eclipse/tracecompass/incubator/internal/callstack/core/instrumented/callgraph/CallGraphAnalysis.java (diff)
The file was modified callstack/org.eclipse.tracecompass.incubator.callstack.core.tests/src/org/eclipse/tracecompass/incubator/callstack/core/tests/xml/module/XmlCallstackTest.java (diff)