Project Name

JVM Memory Profiler

Mentor Details

Name: 

Samarth Goyal

Organisation:

Amazon

Designation:

Data Engineer

Project Description

Java Virtual Machine (JVM) provides a runtime environment for running the Java byte code while having an abstraction from the underlying OS. JVM memory management is still a very complex problem and having the visibility into the JVM memory usage over the lifetime of the application would be a really good metric for debugging applications. This will be really helpful in pretty much any java based application.

The idea is to create a pluggable utility which can be run with any java application. Uber has an open source project on the similar lines. This utility can be built as an extension to that and can leverage its groundwork. If things workout well, we can try to contribute this back to the Uber's open source JVM profiler. Additionally, apart from more components can be added to this.

Expected outcome -
User should be able to pass the config to get the application profiled. The idea is to create a time series data on the memory usage over the lifetime of the application. User should be an option to see the memory usage during the application run. Also at the JVM termination (successful/failure), we should also print the usage graph to the command-line.

Programming Languages

Java/Scala, Shell

Project Pre-requisites

Prior experience with Java/Scala based application development would be a huge plus

Project Duration (in Months)

2

Number of openings

1

Project Difficulty

Novice

Additional Information

Many of the scalable web applications, distributed system are still primarily built using Java. Apart from the OOP concepts, having understanding of the Java runtime, Java memory management is key in developing high performant applications. This project will a good starting point to venture into this domain.

Proposal requirements

Apart from the normal project details, try to mention which programming language, framework or database you used and why you chose those.

Have questions or feedback? Interested in working with us?  Email us at connectinternlink@gmail.com