From mboxrd@z Thu Jan 1 00:00:00 1970 From: matthew.khouzam@ericsson.com (Matthew Khouzam) Date: Tue, 17 Apr 2012 11:44:41 -0400 Subject: [lttng-dev] Writing a babeltrace output plugin In-Reply-To: <4F8D8C96.5020301@polymtl.ca> References: <524C960C5DFC794E82BE548D825F05CF29D8A8@EU-MBX-04.mgc.mentorg.com> <524C960C5DFC794E82BE548D825F05CF29D8C6@EU-MBX-04.mgc.mentorg.com> <20120403125754.GC14534@Krystal> <524C960C5DFC794E82BE548D825F05CF29F0FE@EU-MBX-04.mgc.mentorg.com> <20120417150558.GA31475@Krystal> <4F8D8C96.5020301@polymtl.ca> Message-ID: <4F8D8FE9.1050409@ericsson.com> On 12-04-17 11:30 AM, Alexandre Montplaisir wrote: > On 12-04-17 11:05 AM, Mathieu Desnoyers wrote: >> [...] >> The ideas I pondered were either to change the grammar late in the >> game and prefix a dot (".") before any toplevel dynamic scope, or make >> the LTTng tracer preprend an underscore before each event field, which >> gets removed by the trace analyzer. I'm not particularly proud of this >> hack though. Comments are welcome. > Matthew and I have discussed it before, and adding an underscore in > front is fine. However, we think this should be specified in the CTF > spec, and should not be optional. This makes writing a parser much > easier, since you systematically remove the first character, and it > avoids having to parse the first character for every single field name. > > For example: > developer adds a tracepoint, with a field called "field1" > tracer adds the underscore when writing the CTF metadata, "_field1" > when reading a trace, the parser removes the "_" > Viewers and readers (Babeltrace, Eclipse, etc.) only see the "field1" part. > > That way users never see the underscore itself. > > Thoughts? > I would like to say that part of the logic behind Alex and I's perspective of the problem is that this seems very similar to name mangling in C/C++. It's not up to the compiler to say: I think I'll add __lcGfield16Fpcpkc_0_ to this function name. It is in the spec. Of course, ctf needs to be simpler. My concerns are giving an unclear message to the user: why does seek field and _field work. what if I have worked at a Redmond company and adds _ all my fields already, then _field and __field will work.