Project

General

Profile

Google Summer of Code 2015 » History » Version 3

Jérémie Galarneau, 02/19/2015 06:03 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
h2. Node.js / IO.js
66
67
*Brief explanation:*
68
69
70
71
*Expected results:* A set of instrumentation probes and trace analyses scripts
72
73
*Skill level:* Medium
74
75
*Prerequisite Knowledge:* C and Python development