All Projects → HeapStats → Heapstats

HeapStats / Heapstats

Licence: gpl-2.0
JVMTI agent and JavaFX analyzer to gather JVM runtime information for after-the-fact analysis.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Heapstats

Lipi
A simple static blog generator.
Stars: ✭ 100 (-20.63%)
Mutual labels:  javafx
Logfx
LogFX is a simple Log reader supporting color highlighting and able to handle giant files.
Stars: ✭ 109 (-13.49%)
Mutual labels:  javafx
Youtube Comment Suite
Download YouTube comments from numerous videos, playlists, and channels for archiving, general search, and showing activity.
Stars: ✭ 120 (-4.76%)
Mutual labels:  javafx
Lychee
The most complete and powerful data-binding library and persistence infra for Kotlin 1.3, Android & Splitties Views DSL, JavaFX & TornadoFX, JSON, JDBC & SQLite, SharedPreferences.
Stars: ✭ 102 (-19.05%)
Mutual labels:  javafx
Asciidocfx
Asciidoc Editor and Toolchain written with JavaFX 16 (Build PDF, Epub, Mobi and HTML books, documents and slides)
Stars: ✭ 1,533 (+1116.67%)
Mutual labels:  javafx
Jgnash
jGnash Personal Finance
Stars: ✭ 112 (-11.11%)
Mutual labels:  javafx
Musicott
JavaFX application that manages and plays music files.
Stars: ✭ 97 (-23.02%)
Mutual labels:  javafx
Jcsg
Java implementation of BSP based CSG (Constructive Solid Geometry)
Stars: ✭ 121 (-3.97%)
Mutual labels:  javafx
Gitpic
利用github做图床的小工具
Stars: ✭ 107 (-15.08%)
Mutual labels:  javafx
Binjr
A Time Series Data Browser
Stars: ✭ 119 (-5.56%)
Mutual labels:  javafx
Snail
基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。人家才不要你的⭐⭐呢,哼
Stars: ✭ 102 (-19.05%)
Mutual labels:  javafx
Wishlist For R
Features and tweaks to R that I and others would love to see - feel free to add yours!
Stars: ✭ 106 (-15.87%)
Mutual labels:  troubleshooting
Open Lowcode
Solution for rapid development of specific enterprise software
Stars: ✭ 116 (-7.94%)
Mutual labels:  javafx
Easyfxml
A collection of tools and libraries for easier development on the JavaFX platform!
Stars: ✭ 102 (-19.05%)
Mutual labels:  javafx
Flowless
Efficient VirtualFlow for JavaFX
Stars: ✭ 120 (-4.76%)
Mutual labels:  javafx
Caption ocr tool
视频硬字幕提取工具
Stars: ✭ 98 (-22.22%)
Mutual labels:  javafx
Pdfsam
PDFsam, a desktop application to extract pages, split, merge, mix and rotate PDF files
Stars: ✭ 1,829 (+1351.59%)
Mutual labels:  javafx
Spring Javafx Examples
Example apps for springboot-javafx-support. See
Stars: ✭ 124 (-1.59%)
Mutual labels:  javafx
Downlords Faf Client
Official client for Forged Alliance Forever
Stars: ✭ 121 (-3.97%)
Mutual labels:  javafx
Binding.scala
Reactive data-binding for Scala
Stars: ✭ 1,539 (+1121.43%)
Mutual labels:  javafx

HeapStats

HeapStats is Java troubleshooting tool.
This tool suites of three applications.

  • Agent
    • HeapStats JVMTI agent for gathering JavaVM runtime information continuously.
  • Analyzer
    • HeapStats JavaFX GUI analyzer for analysis by various graphs.
  • CLI
    • HeapStats commandline analyzer.

Also two supplemental applications are available:

Agent

Agent gathers various JavaVM runtime information such as the below.

  • The amount of instances and total size per live object
  • The reference relationship of objects on Java Heap
  • Thread condition
  • Process information

More detailes are here.

Requirements

  • Linux x64 / x86_64 / AArch32
  • Oracle JDK / OpenJDK 6u18 or later

NOTE: For JDK 8u262 or later, we recommend to use built-in agent, JDK Flight Recorder, instead of HeapStats

How to use

You can attach HeapStats agent by any way of the following:

  • -agentlib:heapstats[=conf]
    • JVM will load libheapstats.so from library path.
    • libheapstats.so should be resolved via LD_LIBRARY_PATH or library path (e.g. /etc/ld.so.conf)
  • -agentpath:/path/to/heapstats[=conf]
    • JVM will load libheapstats.so from specified path
  • heapstats-attacher
    • Attach to existing process
    • Recommend to use on JDK 8 or earlier
  • jcmd <PID> JVMTI.agent_load /path/to/libheapstats.so
    • Attach to existing process
    • JVMTI.agent_load has been introduced in Java 9
    • Recommend to specify with absolute path

Build requirements

  • GNU make
  • Apache Ant
  • GCC
  • JDK 7 or later
  • Intel TBB
  • NetSNMP
  • GNU Binutils

See also: HeapStats Builder

Analyzer

Analyzer is GUI application for analyzing data which are collected from Agent.
Also it supports JDP autodiscovery and Error Report Transmission.

Requirements

Linux x64 or Windows x64

How to use

Run <analyzer dir>/bin/heapstats-analyzer (Linux) or <analyzer dir>\bin\heapstats-analyzer.bat (Windows)

JDP

The automatic discovery on JDP (Java Discovery Protocol) can be enabled by the following JVM options.

-Dcom.sun.management.jmxremote.port=<JMX port>
-Dcom.sun.management.jmxremote.authenticate=<true|false>
-Dcom.sun.management.jmxremote.ssl=<true|false>
-Dcom.sun.management.jmxremote.autodiscovery=true

JDP sends a packet per 5 seconds by default. If Analyzer can NOT receive a JDP packet from a monitoring JVM instance, color of its name on the screen will become orange.

Error Report Transmission

Oracle JDK can provide a real-time detection of JVM crash, but OpenJDK DOES NOT support it. In addition, Oracle JDK needs to be run with the following options.

-XX:+TransmitErrorReport
-XX:ErrorReportServer=<address>:<port (4711 by default)>

NOTE: Error Report Transmission has been removed since JDK 12

Build requirements

  • Apache Maven
  • JDK 13 or later

Add / Create Plugin

HeapStats Analyzer supports custom plugin. See SamplePlugin for details.

CLI

If you want to analyze data which are collected by HeapStats Agent on CUI environment, you can use HeapStats CLI.

Requirements

Linux x64 or Windows x64

How to use

Run <cli dir>/bin/heapstats-cli (Linux) or <cli dir>\bin\heapstats-cli.bat (Windows)

If you want to see options, please run heapstats-cli with -help.

Build requirements

  • Apache Maven
  • JDK 13 or later

Documents and Binaries

More detailes and released binaries are available on icedtea community: http://icedtea.classpath.org/wiki/HeapStats

Build all

$ configure --with-jdk=/path/to/jdk13
$ make

Testing

Contributing

Contribution are most welcome! HeapStats is an open source project under the GNU General Public License, version 2. See CONTRIBUTING.md for details.

License

GNU General Public License, version 2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].