Project

General

Profile

Actions

Google Summer of Code 2013 » History » Revision 10

« Previous | Revision 10/80 (diff) | Next »
Christian Babeux, 03/08/2013 12:11 PM


Google Summer of Code 2013

Project Ideas

Babeltrace python bindings

Brief explanation:

Provide Python bindings to the Babeltrace APIs to provide a complete CTF reading/writting infrastructure to Python programmers.

Most of the public Babeltrace API is currently mapped using SWIG. However, a more “Pythonic” set of wrapper classes will make trace reading and writting more accessible than using the current native API. The production and interpretation of CTF traces in a high level language such as Python will ease the development of custom trace analysis solutions. It will also provide a convenient language in which to implement trace conversion plugins.

Expected results: TBD

Complementary information:

The Common Trace Format (CTF) specifies a trace format based on the requirements of the industry (through collaboration with the Multicore Association) and the Linux community.

Babeltrace is a trace conversion library that aims to provide a convenient to read and convert trace files between different formats. It currently supports CTF, which is the trace format outputted by the LTTng 2.0 tracers and provides the CTF reference implementation.

Skill level: Easy - Medium

Prerequisite Knowledge: Python, OO development

Mentors: Jérémie Galarneau

Trace probe support in C++

Brief explanation:

The LTTng userspace tracing relies on the instrumentation of target applications with tracepoint probes. Currently, the only way to use tracepoints in C++ applications is by compiling a stand-alone C library linked to liblttng-ust which is then linked to the target C++ application. While this method is functional, it introduces significant development time overhead and confusion for new users. This project aims at making the UST tracepoint probe code compatible with popular C++ compilers to enable direct compilation of the providers with the application. The necessary modifications should not be too complex but are an excellent introductory project.

Expected results: TBD

Complementary information:

Issue #338

Skill level: Easy - Medium

Prerequisite Knowledge: C++ development, C development, build environments

Mentors: TBD

Development of an strace-like wrapper

Brief explanation:

The LTTng kernel tracer should provide all the functionality required to emulate the behaviour of the strace tracer. The goal of this project is the development of an strace drop-in replacement based on the LTTng tracing toolchain that shall provide the user with the functionality of strace and the performance characteristics of the LTTng kernel tracer. This should ensure backward compatibility with tools based on the strace output format.
This should be implemented as a Babeltrace trace converter plug-in used in “live mode” -- an upcoming Babeltrace feature currently being developped by Julien Desfossez. The resulting plug-in will enable seamless interoperability between CTF and strace-based tools.

Expected results: TBD

Complementary information:

Issue #15

Skill level: Medium
Prerequisite Knowledge: C development, scripting
Mentors: TBD

Updated by Christian Babeux about 11 years ago · 10 revisions