首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用打印完整的跟踪事件?

如何使用打印完整的跟踪事件?
EN

Stack Overflow用户
提问于 2015-12-23 06:16:29
回答 1查看 596关注 0票数 0

如何使用babeltrace的python读取器api打印完整的跟踪?

使用下面的内容,我可以获得事件的字段,但是如何像babeltrace一样打印完整的跟踪。

代码语言:javascript
复制
import babeltrace
import sys

trace_collection = babeltrace.TraceCollection()
trace_path = sys.argv[1]

trace_collection.add_traces_recursive(trace_path, 'ctf')

for event in trace_collection.events:
  print event.timestamp, event.cycles, event.name

使用事件字典,可以获取字段。但是如何用python阅读器复制babeltrace输出呢?

代码语言:javascript
复制
for event in trace_collection.events:
  for field in event.items():
    print field

示例babeltrace输出:

代码语言:javascript
复制
[2015-10-20 15:16:34.600508066] (+1.481059687) samplehost sample_trace_provider:INFO: { cpu_id = 1 }, { fileAndLine = "sampletest.cpp:330", msg = "Directing trace stream to channel #0" }

如果需要进一步的信息,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-23 09:07:01

您不能像预期的那样在一条语句中做到这一点。这是因为Babeltrace绑定类不递归地实现__str__

运行babeltrace命令时获得的默认输出格式称为ctf-text,是用C实现的。当然有一种方法可以复制ctf-text的输出,但是您需要手动实现一台漂亮的打印机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34429728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档