[lttng-dev] Machine Interface

Christian Babeux christian.babeux at efficios.com
Thu Feb 6 13:21:07 EST 2014


> How about --machine-interface <output-type>?
> By default <output-type> would be the chosen format.
>
> This open opportunities for other MI type and have an unified syntax.
>
> --xml option is clear and efficient.We could
> add an option for each type (--json,--yaml) if needed.

IMO, supporting multiple output formats would be a tad bit overkill.
Moreover, the issue of bringing in additional library dependencies to
support multiple output format remains.

Thanks,

Christian

On Thu, Feb 6, 2014 at 12:00 PM, Jonathan Rajotte
<jonathan.r.julien at gmail.com> wrote:
> On Thu, Feb 06, 2014 at 11:11:39AM -0500, Christian Babeux wrote:
>> Hi Jonathan,
>>
>> > Multiples solutions come to mind:
>> > -XML
>> > -JSON
>> > -YAML
>> > -Custom syntax (like GDB Machine interface* as proposed by Alexandre
>> >                                 Montplaisir)
>>
>> I would advocate for the use of XML for the machine interface. Two
>> reasons come to mind:
>>
>> 1 - The expression of hierarchy (session, events, etc.) is much easier with XML.
>>
>> 2 - In a recent post [1], it was decided that the configuration load
>> and restore (for sessions) would also use XML. This will introduce a
>> new dependency on libxml. If we were to choose yet another format for
>> the machine interface, we would probably need to introduce another
>> dependency to some library.
>
> Good point
> +1 for XML
>
>>
>> > Machine interface output would be generated only with --mi option and
>> > could contain additional information than regular output.
>>
>> Perhaps adding --xml option to the relevant command? This would be
>> similar to svn machine interface [2].
>
> How about --machine-interface <output-type>?
> By default <output-type> would be the chosen format.
>
> This open opportunities for other MI type and have an unified syntax.
>
> --xml option is clear and efficient.We could
> add an option for each type (--json,--yaml) if needed.
>
>>
>> Thanks,
>>
>> Christian
>>
>> [1] - http://lists.lttng.org/pipermail/lttng-dev/2013-December/022068.html
>> [2] - http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.sw
>>
>> On Wed, Feb 5, 2014 at 9:42 PM, Jonathan Rajotte
>> <jonathan.r.julien at gmail.com> wrote:
>> > Hello all,
>> >
>> > After speaking with Michel Dagenais, Geneviève Bastien, folks over at EfficiOs
>> > and Ericsson, a machine interface for lttng-tool would be a nice feature
>> > to have. Olivier Cotte and me will be working on MI for the
>> > next few weeks.
>> >
>> > The main objective would be to reduce parsing complexity
>> > in control tools.
>> > ex:Regex used in TMF control service.
>> > (org.eclipse.linuxtools.internal.lttng2.ui.views.control.service.LTTngControlService.java)
>> >
>> > Multiples solutions come to mind:
>> > -XML
>> > -JSON
>> > -YAML
>> > -Custom syntax (like GDB Machine interface* as proposed by Alexandre
>> >                                 Montplaisir)
>> >
>> > XML/JSON/YAML promote extensibility and ease of development for new tools
>> > dependant on lttng-tools by being established standards.
>> > On the other hand, they add dependencies to lttng-tools where a custom syntax
>> > would not.
>> >
>> > Machine interface output would be generated only with --mi option and
>> > could contain additional information than regular output.
>> >
>> > We are focusing on output right now but we may eventually add a 'mi'
>> > command for input if necessary.
>> >
>> > What do you think ?
>> >
>> > Thanks
>> >
>> >
>> > *https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html
>> >
>> > --
>> > Jonathan Rajotte Julien
>> > Chargé de laboratoire INF1995
>> > Membre MD6
>> > Polytechnique Montréal
>> >
>> > _______________________________________________
>> > lttng-dev mailing list
>> > lttng-dev at lists.lttng.org
>> > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>
> --
> Jonathan Rajotte Juliana
> Chargé de laboratoire INF1995
> Membre MD6
> Polytechnique Montréal



More information about the lttng-dev mailing list