Project

General

Profile

Google Summer of Code 2013 » History » Version 9

Christian Babeux, 03/08/2013 12:09 PM

1 1 Christian Babeux
h1. Google Summer of Code 2013
2 3 Christian Babeux
3 2 Christian Babeux
h2. Project Ideas
4
5 4 Christian Babeux
h3. Babeltrace python bindings
6 3 Christian Babeux
7 4 Christian Babeux
*Brief explanation*:
8 2 Christian Babeux
9
Provide Python bindings to the Babeltrace APIs to provide a complete CTF reading/writting infrastructure to Python programmers.
10 1 Christian Babeux
11
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.
12 4 Christian Babeux
13
*Expected results*: TBD
14
15
*Complementary information*:
16
17
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.
18 6 Christian Babeux
19 4 Christian Babeux
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.
20
21
*Skill level*: Easy - Medium
22 5 Christian Babeux
23 4 Christian Babeux
*Prerequisite Knowledge*: Python, OO development
24 5 Christian Babeux
25 4 Christian Babeux
*Mentors*: Jérémie Galarneau
26 7 Christian Babeux
27
h3. Trace probe support in C++
28
29
*Brief explanation*:
30
31
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.
32
33
*Expected results*: TBD
34
35
*Complementary information*:
36 9 Christian Babeux
37 8 Christian Babeux
Issue #338
38 7 Christian Babeux
39
*Skill level*: Easy - Medium
40
41
*Prerequisite Knowledge*: C++ development, C development, build environments
42
43
*Mentors*: TBD