Class FlameGraphComponent

java.lang.Object
com.googlecode.lanterna.gui2.AbstractComponent<FlameGraphComponent>
com.googlecode.lanterna.gui2.AbstractInteractableComponent<FlameGraphComponent>
com.helix.profiler.flamegraph.ui.FlameGraphComponent
All Implemented Interfaces:
com.googlecode.lanterna.gui2.Component, com.googlecode.lanterna.gui2.Interactable, com.googlecode.lanterna.gui2.TextGUIElement

public class FlameGraphComponent extends com.googlecode.lanterna.gui2.AbstractInteractableComponent<FlameGraphComponent>
Interactive Lanterna GUI component that displays the Unicode box-drawing flame graph. Supports keyboard navigation (Up, Down, Left, Right, Enter to zoom, Esc to reset, M to toggle metric, S to export SVG/HTML).
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     

    Nested classes/interfaces inherited from interface com.googlecode.lanterna.gui2.Interactable

    com.googlecode.lanterna.gui2.Interactable.FocusChangeDirection, com.googlecode.lanterna.gui2.Interactable.Result
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected com.googlecode.lanterna.gui2.InteractableRenderer<FlameGraphComponent>
     
    void
     
     
     
    com.googlecode.lanterna.gui2.Interactable.Result
    handleKeyStroke(com.googlecode.lanterna.input.KeyStroke keyStroke)
     
    void
     
    void
     
    void
     
    void
    setOverviewSwitchListener(Runnable overviewSwitchListener)
     
    void
     
    void
     

    Methods inherited from class com.googlecode.lanterna.gui2.AbstractInteractableComponent

    afterEnterFocus, afterLeaveFocus, getCursorLocation, getInputFilter, getRenderer, handleInput, isActivationStroke, isEnabled, isFocusable, isFocused, isKeyboardActivationStroke, isMouseActivationStroke, isMouseDown, isMouseDrag, isMouseMove, isMouseUp, onEnterFocus, onLeaveFocus, setEnabled, setInputFilter, takeFocus

    Methods inherited from class com.googlecode.lanterna.gui2.AbstractComponent

    addTo, calculatePreferredSize, draw, getBasePane, getGlobalPosition, getLayoutData, getParent, getPosition, getPreferredSize, getSize, getTextGUI, getTheme, getThemeDefinition, hasParent, invalidate, isInside, isInvalid, isVisible, onAdded, onAfterDrawing, onBeforeDrawing, onRemoved, runOnGUIThreadIfExistsOtherwiseRunDirect, self, setLayoutData, setPosition, setPreferredSize, setRenderer, setSize, setTheme, setVisible, toBasePane, toGlobal, withBorder

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.googlecode.lanterna.gui2.Component

    addTo, getBasePane, getGlobalPosition, getLayoutData, getParent, getPosition, getPreferredSize, getSize, getTextGUI, getTheme, getThemeDefinition, hasParent, invalidate, isInside, isVisible, onAdded, onRemoved, setLayoutData, setPosition, setPreferredSize, setSize, setTheme, setVisible, toBasePane, toGlobal, withBorder

    Methods inherited from interface com.googlecode.lanterna.gui2.TextGUIElement

    draw, isInvalid
  • Constructor Details

  • Method Details

    • setToastCallback

      public void setToastCallback(FlameGraphComponent.ToastCallback toastCallback)
    • getAsciiRenderer

      public AsciiFlameRenderer getAsciiRenderer()
    • getAggregator

      public FlameGraphAggregator getAggregator()
    • setAggregator

      public void setAggregator(FlameGraphAggregator aggregator)
    • setStatusListener

      public void setStatusListener(Consumer<String> statusListener)
    • setFrameSelectionListener

      public void setFrameSelectionListener(Consumer<StackFrameNode> frameSelectionListener)
    • setOverviewSwitchListener

      public void setOverviewSwitchListener(Runnable overviewSwitchListener)
    • refreshFromAggregator

      public void refreshFromAggregator()
    • createDefaultRenderer

      protected com.googlecode.lanterna.gui2.InteractableRenderer<FlameGraphComponent> createDefaultRenderer()
      Specified by:
      createDefaultRenderer in class com.googlecode.lanterna.gui2.AbstractInteractableComponent<FlameGraphComponent>
    • handleKeyStroke

      public com.googlecode.lanterna.gui2.Interactable.Result handleKeyStroke(com.googlecode.lanterna.input.KeyStroke keyStroke)
      Overrides:
      handleKeyStroke in class com.googlecode.lanterna.gui2.AbstractInteractableComponent<FlameGraphComponent>
    • exportSnapshots

      public void exportSnapshots()