A JVM Heap dump viewer - a souped-up jhat in scala
Scala
Switch branches/tags
Nothing to show
Pull request Compare This branch is 3 commits behind rorygraves:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
project
src
.gitignore
.travis.yml
LICENSE.txt
README.md
build.sbt
heap.bin

README.md

SHelmet

Build Status

Pull requests and bug reports always welcome

Please note, this is a work in progress and we have a few more features to implement before packaging and release our first version

A standalone heap analysis tool, based on JHat (which is packaged with the JDK), rewritten using Scala and modern libraries.

Why?

As a professional developer JHat has saved my JHat has saved my life on many occasionally (esp at 3am). But JHat has been shown very little love since it was first built

Some issues:

  • Memory
  • Bugs
  • Awful display
  • Did we mention the memory and the bugs?

Immediate plans

[X] Modern web engine (Spray/Spray http) [X] Improved layouts (Bootstrap + CSS) [ ] Memory Overflow to disk [ ] Dynamic loading? [ ] Retained size calculations [ ] Better display of scala/java collections classes [ ] A new query API based on scala repl [ ] Proper tests (code coverage about 90% right now)

Installation

SHelmet is packaged as a standalone jar including all of its dependencies so simply download it and use it as below.

Download Area

Usage

To analyse a heap simply

| java -jar shelmet-0.1.jar +heapfilename+

and then simply use a web browser to go to http://localhost:8080

If you run on a remote machine simply switch 'localhost' for the machine name or ip address.

You can then explore the heap dump via the web browser page.

Contributing

This project is written in scala and built using sbt. Pull requests are very welcome!

License

As the Shelmet is based on the OpenJDK JHat is is considered a derivative work and is thus licensed under the same GPL V2.0 (Please see LICENSE.txt)

By choice I would have used something a little more flexible.

Some included components are distributed under their own licenses:

Used Libraries