[lttng-dev] Machine Interface

Jonathan Rajotte jonathan.r.julien at gmail.com
Thu Feb 6 12:00:39 EST 2014


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