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 |