Project

General

Profile

Google Summer of Code 2015 » History » Revision 3

Revision 2 (Jérémie Galarneau, 02/09/2015 03:39 PM) → Revision 3/4 (Jérémie Galarneau, 02/19/2015 06:03 PM)

h1. Google Summer of Code 2015 

 Google Summer of Code is a global program that offers students stipends to write code for open source projects.  

 The LTTng project will apply to participate in GSoC for a third year in 2015! 

 h1. Guidelines for students applying to GSoC 

 Here a few guidelines and advice for aspiring applicants to GSoC: 

 * *Submit* your application to Google by *March 27 2015 19:00 UTC*. 

 * *Join* the IRC #lttng channel on OFTC (irc://irc.oftc.net/lttng) to discuss your application and project ideas. 
   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. 

 To get involved in the LTTng project, see our "community page":http://lttng.org/community/#getting-involved! 

 * *Subscribe* to the lttng-dev "mailing list":http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev. 

 * *Break the ice!* Try submitting a patch for simple issues such as typos, documentation improvements or simple bug fixes 
 > * The LTTng "bug tracker":http://bugs.lttng.org/projects/lttng/issues?sort=priority%2Cid%3Adesc is a good starting point. 

 * *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. 

 * *Read the LTTng "blog":http://lttng.org/blog* for inspiration. 

 Perhaps you have ideas to improve LTTng''s usability? Discuss them with us, you might just have found yourself a summer project!  

 *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. 

 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 

 h1. Project Ideas 

 h2. Userspace RCU port to Windows 

 *Brief explanation:* 

 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. 

 *Expected results:* A native port of userspace RCU to Windows (not cygwin based). 

 *Skill level:* Medium 


 h2. Userspace application instrumentation and analyses 

 *Brief explanation:* 

 The LTTng userspace tracer relies on static tracepoint probes manually added to an application’s source code to generate events. 

 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. 

 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. 

 Students proposing such a project will have to demonstrate a prior understanding of the instrumented project''s internals and present clear analysis ideas. 

 *Expected results:* A set of instrumentation probes and trace analyses scripts 

 *Skill level:* Medium 

 *Prerequisite Knowledge:* C and Python development. Prior knowledge of the instrumented application. 


 h2. Node.js / IO.js 

 *Brief explanation:* 



 *Expected results:* A set of instrumentation probes and trace analyses scripts 

 *Skill level:* Medium 

 *Prerequisite Knowledge:* C and Python development 

 *Coming soon!*