[lttng-dev] babeltrace2 python api related question

zenan dantefu9001 at 163.com
Sun Aug 14 04:48:04 EDT 2022


In command line, I use “babeltrace2 net://somehost/some-session” to read live lttng session trace, and I want to use python bindings to do the same, is it possible?

here is my code:

import bt2
import sys


# Create an empty graph.
graph = bt2.Graph()


# Add a `source.text.dmesg` component.
#
# graph.add_component() returns the created and added component.
#
# Such a component reads Linux kernel ring buffer messages (see
# `dmesg(1)`) from the standard input and creates corresponding event
# messages. See `babeltrace2-source.text.dmesg(7)`.
#
# `my source` is the unique name of this component within `graph`.


# the original source code here in the example is:
# comp_cls = bt2.find_plugin('text').source_component_classes['dmesg']
# src_comp = graph.add_component(comp_cls,'my source')
comp_cls = bt2.find_plugin('ctf').source_component_classes['lttng-live']
src_comp = graph.add_component(comp_cls, 'my source', params = {
'inputs': [sys.argv[1]],
})


# Add a `sink.text.pretty` component.
#
# Such a component pretty-prints event messages on the standard output
# (one message per line). See `babeltrace2-sink.text.pretty(7)`.
#
# The `babeltrace2 convert` CLI command uses a `sink.text.pretty`
# sink component by default.
comp_cls = bt2.find_plugin('text').sink_component_classes['pretty']
sink_comp = graph.add_component(comp_cls, 'my sink')


# Connect the `out` output port of the `source.text.dmesg` component
# to the `in` input port of the `sink.text.pretty` component.
graph.connect_ports(src_comp.output_ports['out'], sink_comp.input_ports['in'])


# Run the trace processing graph.
graph.run()





 

发件人: Philippe Proulx
发送时间: 2022年8月10日 22:08
收件人: zenan
抄送: lttng-dev at lists.lttng.org
主题: Re: [lttng-dev] babeltrace2 python api related question

 

On Wed, Aug 10, 2022 at 9:54 AM zenan via lttng-dev

<lttng-dev at lists.lttng.org> wrote:

> 

> 

> 

> Hi there,

> 

> I’m trying to use babeltrace2 python bindings to track live lttng trace, as shown in some examples in the documents, I tried to use ctf.lttng-live( ctf.fs in the documents) plugin as source, and use text.pretty as sink, but it didn’t work out as I expected.  So does the api support tracking live lttng trace and print them out yet?

> 

> 

 

What did you try exactly?

 

I need command lines and/or some code (keep it minimal) to help you.

 

Philippe

 

> 

> 

> 

> Yours sincerely

> 

> _______________________________________________

> lttng-dev mailing list

> lttng-dev at lists.lttng.org

> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20220814/f5995b9e/attachment.htm>


More information about the lttng-dev mailing list