Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Trace trimming and stream intersection features

Hi Alex

Thanks for uploading the patches. The Gerrit verification job fails and Iooks like a legit failure. Could you please make sure that the Gerrit verification is successful for all the patches?

Thanks
Bernd

-----Original Message-----
From: tracecompass-dev-bounces@xxxxxxxxxxx [mailto:tracecompass-dev-bounces@xxxxxxxxxxx] On Behalf Of Alexandre Montplaisir
Sent: July-19-17 1:32 PM
To: tracecompass-dev@xxxxxxxxxxx
Subject: Re: [tracecompass-dev] Trace trimming and stream intersection features

Hi Bernd,

Alright, I pushed it to Gerrit, the tip of the branch is at https://git.eclipse.org/r/#/c/101580/

Cheers,
Alex


On 2017-07-19 10:36 AM, Bernd Hufmann wrote:
> Hi Alex
>
> Sorry for the late reply.
>
> Yes, these features sound interesting as an addition to Trace Compass mainline. 
>
> If you could prepare the patches on Gerrit it would be great. Looking forward to it.
>
> Thanks
> Bernd
>
> -----Original Message-----
> From: tracecompass-dev-bounces@xxxxxxxxxxx 
> [mailto:tracecompass-dev-bounces@xxxxxxxxxxx] On Behalf Of Alexandre 
> Montplaisir
> Sent: July-12-17 3:56 PM
> To: tracecompass-dev@xxxxxxxxxxx
> Subject: [tracecompass-dev] Trace trimming and stream intersection 
> features
>
> Hi all,
>
> With the upcoming release of Babeltrace 2 (!), I have recently finished cleaning up a set of patches to add the following features to Trace Compass:
>
> - Trace trimming
> - Stream intersection mode for CTF traces
>
> Both make use of a Babeltrace 2 binary that would be present on the system.
>
>
> Feature description
> -------------------
> Trace trimming means "cutting" the trace to a subset of its time range.
> In addition, it saves a snapshot of all built state systems, so that the new trace does not lose any state information.
>
> Stream intersection is similar to trimming, except the target time range is the intersection of all CTF streams in the trace. For example, if a trace has stream1 that goes from timestamps 10 to 20 and stream2 that goes from 15 to 25, the resulting "stream-intersected" trace will go from 15 to 20.
> The stream intersection operation is a common use case for snapshot traces, where all streams may not have the same rate of events, but analyses should focus on the section where all streams are defined.
>
> Both features make use of Babeltrace 2 to do the actual trace cutting.
> If Babeltrace 2 is not found on the PATH, the options are not available.
>
>
> UI Presentation
> ---------------
> Both features work by adding menu options to the context menu of traces.
> Trace trimming is called "Export Time Selection as New Trace..." and picks the currently selected time range as the target range.
> Stream intersection is done using the "Perform Stream Intersection..."
> action, which is defined only for CTF traces and their subtypes.
> See the attached screenshot.
>
> In both cases, a directory chooser asks the user for a writable directory where to write the new trace, and a new trace is created and imported into the current project. Analyses etc. have to be rebuilt for the new traces anyway, so it did not really make sense to have a "toggle" that would modify existing traces.
>
>
> Caveats
> -------
> There are a few caveats to the current implementation:
>
> - Trace cutting currently only works on single traces, not experiments.
> The stream intersection feature in Babeltrace only works on single traces anyway.
> - There are tests included, but they are @Ignore'd by default, since the features requires Babeltrace to be installed to work. Most CIs will not have it installed, so I don't think the tests can be enabled by default.
> - A few test traces are ignored because Babeltrace 2 currently fails to read them. This is a bug on the reader side, unrelated to the trace trimming. Once that is fixed in BT they could be restored.
> - Babeltrace doesn't support Windows yet. A Windows port is planned as part of the Babeltrace 2.0 release, at which point the features mentioned here should work on Windows too.
> - Stream intersection only works on indexed traces (traces with and 
> index/ subdirectory). This is also planned to be fixed before the 
> release of Babeltrace 2.0
>
>
> The code is currently in the following git branch:
> https://github.com/alexmonthy/tracecompass/commits/for-review-bt2
>
> If there is interest in having this upstream, I can push it to Gerrit, just let me know.
>
>
> Cheers,
> Alex
> _______________________________________________
> tracecompass-dev mailing list
> tracecompass-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or 
> unsubscribe from this list, visit 
> https://dev.eclipse.org/mailman/listinfo/tracecompass-dev

_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/tracecompass-dev


Back to the top