Project

General

Profile

Google Summer of Code 2015 » History » Version 4

Jérémie Galarneau, 02/19/2015 06:38 PM

1 1 Jérémie Galarneau
h1. Google Summer of Code 2015
2
3
Google Summer of Code is a global program that offers students stipends to write code for open source projects. 
4
5 2 Jérémie Galarneau
The LTTng project will apply to participate in GSoC for a third year in 2015!
6 1 Jérémie Galarneau
7
h1. Guidelines for students applying to GSoC
8
9
Here a few guidelines and advice for aspiring applicants to GSoC:
10
11
* *Submit* your application to Google by *March 27 2015 19:00 UTC*.
12
13
* *Join* the IRC #lttng channel on OFTC (irc://irc.oftc.net/lttng) to discuss your application and project ideas.
14
  Since IRC and the "mailing list":http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev are our usual means of communication, applicants who have shown initiative in reaching out to the community will be favored during the applications review process.
15
16
To get involved in the LTTng project, see our "community page":http://lttng.org/community/#getting-involved!
17
18
* *Subscribe* to the lttng-dev "mailing list":http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev.
19
20
* *Break the ice!* Try submitting a patch for simple issues such as typos, documentation improvements or simple bug fixes
21
> * The LTTng "bug tracker":http://bugs.lttng.org/projects/lttng/issues?sort=priority%2Cid%3Adesc is a good starting point.
22
23
* *Give the toolchain a try* with some of your personal projects and show us a use case (performance issue, ease of debugging, etc.) that *your* project idea would solve.
24
25
* *Read the LTTng "blog":http://lttng.org/blog* for inspiration.
26
27
Perhaps you have ideas to improve LTTng''s usability? Discuss them with us, you might just have found yourself a summer project! 
28
29
*Don''t panic!* Some parts of the LTTng project can be quite daunting. We don''t expect applicants to be familiar with all the concepts behind the LTTng codebase. We''re always happy to help.
30
31
Additional tips for a successful application: "The DOs and DON’Ts of Google Summer of Code: Student Edition":http://google-opensource.blogspot.de/2011/03/dos-and-donts-of-google-summer-of-code.html
32
33
h1. Project Ideas
34
35 3 Jérémie Galarneau
h2. Userspace RCU port to Windows
36
37
*Brief explanation:*
38
39
The userspace "RCU library":https://urcu.so/ is currently supported on multiple architectures and platforms. However, Windows is currently unsupported. This project would involve the port of userspace RCU to Windows and the development of an extensive stress-test suite to ensure the stability of the port.
40
41
*Expected results:* A native port of userspace RCU to Windows (not cygwin based).
42
43
*Skill level:* Medium
44
45
46
h2. Userspace application instrumentation and analyses
47
48
*Brief explanation:*
49
50
The LTTng userspace tracer relies on static tracepoint probes manually added to an application’s source code to generate events.
51
52
The currently privileged instrumentation method consists in creating a C header which contains a description of an LTTng event and declares a tracepoint. This header is then included by the application developer and called the same way a function would. See the LTTng documentation for more "details":http://lttng.org/docs/#doc-tracing-your-own-user-application.
53
54
As part of this project, a student would integrate relevant probes into an existing open source project and contribute analysis scripts to the LTTng Analyses project. This "blog post":http://lttng.org/blog/2015/02/04/web-request-latency-root-cause/ gives a quick presentation of what is expected of such analysis scripts. The information extracted from userspace applications should supplement these analysis'' reports.
55
56
Students proposing such a project will have to demonstrate a prior understanding of the instrumented project''s internals and present clear analysis ideas.
57
58
*Expected results:* A set of instrumentation probes and trace analyses scripts
59
60
*Skill level:* Medium
61
62
*Prerequisite Knowledge:* C and Python development. Prior knowledge of the instrumented application.
63
64
65 4 Jérémie Galarneau
h2. JavaScript code instrumentation (node.js / io.js)
66 3 Jérémie Galarneau
67
*Brief explanation:*
68 1 Jérémie Galarneau
69 4 Jérémie Galarneau
LTTng provides a number of agents for "Java Util Logging":http://lttng.org/docs/#doc-java-application, Log4J and Python tracing support. This project''s goal is to develop a new agent which would allow the tracing of JavaScript code from LTTng. A strategy similar to that used by these already existing agents is preferred and students are encouraged to read up on the design of these agents before applying to this project.
70 1 Jérémie Galarneau
71 4 Jérémie Galarneau
*Expected results:* An agent allowing the tracing of events from JavaScript code
72 3 Jérémie Galarneau
73 4 Jérémie Galarneau
*Skill level:* Medium-Hard
74 1 Jérémie Galarneau
75 4 Jérémie Galarneau
*Prerequisite Knowledge:* C and JavaScript development
76
77
78
79
h2. Babeltrace JavaScript bindings (node.js / io.js)
80
81
*Brief explanation:*
82
83
Babeltrace provides a set of bindings to read traces from "Python scripts":http://diamon.org/docs/babeltrace/python-bindings/. The goal of this project is to provide similar capabilities to JavaScript code which would allow node.js programs to read CTF traces easily.
84
85
*Expected results:* A set of documented JavaScript bindings for Babeltrace
86
87 3 Jérémie Galarneau
*Skill level:* Medium
88
89 4 Jérémie Galarneau
*Prerequisite Knowledge:* JavaScript, C and Python development