Git Product home page Git Product logo

jmc-flame-view's Introduction

jmc-flame-view

Community collaboration to provide a view that renders stacktrace selections as flame graphs in Mission Control.

Note that this code is now contributed to the JMC project.

For the latest version, check the JDK Mission Control repo at https://github.com/openjdk/jmc.

Flame Graph View Example

This plug-in should provide a good example for how to use JavaScript visualization technologies to render complex information from java flight recordings in JDK Mission Control.

To start working on the flame-view, and to test the flame-view:

  1. First import the JMC project into Eclipse.
  2. Don't forget to import the launchers.
  3. Copy and rename one of the launchers (for example the JMC RCP plug-ins launcher), to have your own launcher configuration.
  4. Import the two eclipse projects (the plug-in and the feature projects) from this repo into your eclipse.
  5. Add org.openjdk.jmc.feature.flightrecorder.ext.flamegraph to the features to launch in your launcher.
  6. Launch JMC from within Eclipse with your new launcher.

To use the view in JMC:

  1. Go to Window | Show View | Other...
  2. Select Mission Control / Flame View
  3. Put the view where you want it, and select something in the UI that normally has a stack trace aggregate, for example something from the Memory page, or something from the Method Profiling page

For more detailed instructions on how to get going, see http://hirt.se/blog/?p=989.

jmc-flame-view's People

Contributors

mirage22 avatar nbogojevic avatar thegreystone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jmc-flame-view's Issues

Add configuration options.

The flame graph library supports turning the graph upside down (icicle graph). We should support switching between icicle graphs and flame graphs, and add a nice color function (flameGraph.color([function])) for providing a spectrum of bluish colors.

Ridiculously large JSons.

So, JSon is a ridiculously inefficient format for stack traces - they can easily become very large. We may want to warn the user when they become too large, maybe a configurable limit. We should also try to use a more compact format, for example not using "name", "value" and "children", but rather "n", "v" and "c". The examples seem to indicate that it should be possible:
https://github.com/spiermar/d3-flame-graph

Bundle the JSon libraries with the plug-in.

It would be nice to be able to work with the Flame Graph view, even when there is no direct connection to https://cdnjs.cloudflare.com. That said, it may be an issue getting at the resources as they are in a jar, and need to be referenced from the HTML. One solution would be to just write the JavaScript libraries to a well known location (a well known folder in temp for example). That however may be considered a security risk.

This bug is about figuring out how to best accomplish bundling the JSon libraries with the plug-in. ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.