Hi Geneviève, thanks for this.

For now, I'm focused on libbabeltrace. I think this is something my users will 
like to work with. They're mainly C hacks working on our kernel to start. I 
think they'll also like using the python bindings.

It would be awesome to have a stack that built on top of that that used the 
same APIs in whatever language. My current thinking is to build a prototype 
that visualizes using D3 in an Electron app, so JavaScript/TypeScript would be 
key there. I'd be happy to help contribute to that. But that will probably be 
in the Babeltrace repo.

I'm still not clear how TraceCompass fits in but will start looking at that 
once I'm off the ground. At this stage of the game, as you can see from my work 
on CDT, whatever solution I plan on adopting has to plug into not only the 
Eclipse IDE, but HTML5 front ends like VS Code or just simple Electron apps or 
web pages as well. It's a pretty exciting new direction. Imagine visualizing 
traces using WebGL. We can do some pretty cool things that users will get a lot 
of value from.

Cheers,
Doug.

On Fri, 2019-03-15 at 09:40 -0400, Geneviève Bastien wrote:

Hi Doug,

Welcome to the CTF ecosystem!

FYI, one thing I am working now on TraceCompass is to add support for scripting 
using the Eclipse EASE framework.

In short, one could use python, javascript, ruby or groovy to interact with 
POJOs. We'll provide a simple API to get the trace events (the parsers are 
already available in TraceCompass, so all supported trace types will work), 
fill backend (state systems, segment stores) and create time graph / XY views.

In a few weeks, I should be able to share a prototype for the community to try. 
I hope you can benefit from it.

Regards,

Geneviève


On 2019-03-12 11:23 a.m., Doug Schaefer wrote:
It should be easy to generate a random one with the class I mentioned below and 
fill it with 16 million events. BTW, two of the int fields are 5 and 10 bits 
respectively, but I'm not sure that matters (or at least it shouldn't).

I'll also take a look at the babeltrace code and see what I can see.

BTW, my focus on libbabeltrace is to allow for a full range of tooling for our 
users using the language of their choice. The python binding is particularly 
interesting. As we move forward into the new world of IDEs, I can see a node.js 
binding being interesting as well. And it may even make sense to use it in Java 
tooling like TraceCompass using JNA. That's the vision at least, but first, 
baby steps ☺.

Doug.

On Tue, 2019-03-12 at 11:03 -0400, Jonathan Rajotte-Julien wrote:

Hi Doug,

On Tue, Mar 12, 2019 at 02:56:26PM +0000, Doug Schaefer wrote:

Thanks, Matthew, I ended up flushing every 100K events and that seemed OK.

My biggest worry is on the read side. Babeltrace blew up on that file. It's a 
pretty simple trace (for now) with a single event class with 4 ints and a 
sequence of 32-bit unsigned ints which is usually only 2 elements long.

This is not I expect. Still eithet jgalar or eep might have a more insight on

this. CCing the lttng-dev mailing list.

Is there any way to share us a similar trace? Either with a generator or we can

provide a link for you to upload it. The current limit on bugs.lttng.org is a

bit too small for such trace.

Aside from that, am very pleased with the how easy CTF is to work with. Looking 
forward to doing more.

Doug.

On Tue, 2019-03-12 at 14:41 +0000, Matthew Khouzam wrote:

Hi Doug,

Great to hear you're coming to a standard! I don't know if trace compass will 
scale properly as I don't know what the trace configuration is.

I have one of our trace which has 16 million events, the size of each event is 
around 32 bytes giving me a 540MB file. My first attempt at simply writing out 
the CTF events without a flush ran out of virtual memory. I then flushed after 
every event which made each event take 32K. So I found a middle ground and the 
resulting stream file is close to the same size.

My suggestion is to have 1 MB packets. This makes seeking very efficient. If 
each event is 32 bytes, basically flush every 25k events or so.

Please keep us posted!

Matthew.

________________________________

From: 
tracecompass-dev-boun...@eclipse.org<mailto:tracecompass-dev-boun...@eclipse.org>
 
<tracecompass-dev-boun...@eclipse.org<mailto:tracecompass-dev-boun...@eclipse.org>>
 on behalf of Doug Schaefer 
<dschae...@blackberry.com<mailto:dschae...@blackberry.com>>

Sent: Tuesday, March 12, 2019 10:30:15 AM

To: tracecompass-...@eclipse.org<mailto:tracecompass-...@eclipse.org>

Subject: [tracecompass-dev] Scalability

Hey gang,

We're finally starting to look at converting our custom traces into CTF so we 
can leverage tools like TraceCompass and, of course, contribute to it. One 
thing I quickly ran into is a scalability issue I'm seeing with libbabeltrace.

I have one of our trace which has 16 million events, the size of each event is 
around 32 bytes giving me a 540MB file. My first attempt at simply writing out 
the CTF events without a flush ran out of virtual memory. I then flushed after 
every event which made each event take 32K. So I found a middle ground and the 
resulting stream file is close to the same size.

But when I use babeltrace to print it out, I ran out of virtual memory. I then 
hand coded a reader and simply adding the trace to the context caused the 
memory issue. It really looks like libbabeltrace (version 1.5 from the Ubuntu 
18.04 distro), tries to inflate the events into it's internal representation 
for the entire trace. I need to do more investigation to confirm that.

So my question for this list, would TraceCompass do better? Does it have it's 
own parsing libraries?

Thanks,

Doug

_______________________________________________

tracecompass-dev mailing list

tracecompass-...@eclipse.org<mailto:tracecompass-...@eclipse.org>

To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit

https://urldefense.proofpoint.com/v2/url?u=https-3A__www.eclipse.org_mailman_listinfo_tracecompass-2Ddev&d=DwIBAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=NrrbvTHWa2Nbp_kAN0Hl1o3lM1WAwSes64uBjxjNhMc&m=ZoCx61VE_sHGa6j3DXehbqjX5P1NGEuDtEFaGORCh9k&s=qi9q1zvDaC9cJCci0y123O-j66M643YwxRJccJCzg_c&e=


_______________________________________________

tracecompass-dev mailing list

tracecompass-...@eclipse.org<mailto:tracecompass-...@eclipse.org>

To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit

https://www.eclipse.org/mailman/listinfo/tracecompass-dev<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.eclipse.org_mailman_listinfo_tracecompass-2Ddev&d=DwMDaQ&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=NrrbvTHWa2Nbp_kAN0Hl1o3lM1WAwSes64uBjxjNhMc&m=AXjlhbxcRzd4fSiGbMwiy9b1nEq-usTDVgMuGARIGig&s=KZTLmhBOxh0wmvcdRm5Wn1xbWXuEtBDoIa8aBaIkHvI&e=>

_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to