Skip to content
Success

Changes

Summary

  1. scripting: Allow scripts to request a subset of events (details)
Commit 2e3c14ff1df6c15d5e11dd4b0b51adc9a250d43f by Genevieve Bastien
scripting: Allow scripts to request a subset of events

Passing java objects to/from scripts can have a big overhead, especially
with the py4j engine. This adds a public ScriptEventsIterator class
which has a method that allows to filter events based on their name, so
only a subset of events can be retrieved.

With py4j, reading a big trace to get sched_switches went from 18
minutes to 43 seconds.

[added] Allow scripts to request only a subset of events

Change-Id: Ia2c1ab27854dda24be9c4ac190710bd8ddf1e277
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/154910
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 scripting/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/analysis/ScriptedAnalysis.java (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/perf/org/eclipse/tracecompass/incubator/scripting/core/tests/perf/ScriptingBenchmark.java (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/trace/TraceScriptingModule.java (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/internal/scripting/core/trace/ScriptEventRequest.java (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/scripts/perf/python/py4j_tidAnalysis.py (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/scripts/perf/python/readTrace.py (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/scripts/perf/javascript/readTrace.js (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/internal/scripting/core/analysis/TmfScriptAnalysis.java (diff)
The file was addedscripting/org.eclipse.tracecompass.incubator.scripting.core/src/org/eclipse/tracecompass/incubator/scripting/core/trace/ScriptEventsIterator.java
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/scripts/perf/python/tidAnalysis.py (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.core.tests/src/org/eclipse/tracecompass/incubator/scripting/core/tests/analysis/AnalysisModuleTest.java (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/scripts/perf/javascript/tidAnalysis.js (diff)
The file was modified scripting/org.eclipse.tracecompass.incubator.scripting.ui.tests/scripts/perf/python/py4j_readTrace.py (diff)