{"id":19164504,"url":"https://github.com/heapstats/heapstats-shell","last_synced_at":"2025-10-07T22:13:12.866Z","repository":{"id":80453001,"uuid":"105369169","full_name":"HeapStats/heapstats-shell","owner":"HeapStats","description":"HeapStats parser for JShell ","archived":false,"fork":false,"pushed_at":"2019-11-12T13:06:23.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-22T23:12:52.005Z","etag":null,"topics":["java9","jshell"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HeapStats.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-30T12:42:42.000Z","updated_at":"2019-11-12T13:06:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"77395393-d6f3-43e6-9d9c-60bfdc2c9922","html_url":"https://github.com/HeapStats/heapstats-shell","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/HeapStats/heapstats-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeapStats%2Fheapstats-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeapStats%2Fheapstats-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeapStats%2Fheapstats-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeapStats%2Fheapstats-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HeapStats","download_url":"https://codeload.github.com/HeapStats/heapstats-shell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeapStats%2Fheapstats-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278855452,"owners_count":26057669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java9","jshell"],"created_at":"2024-11-09T09:22:26.812Z","updated_at":"2025-10-07T22:13:12.830Z","avatar_url":"https://github.com/HeapStats.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HeapStats Shell\n\n## Requirements\n\n* JDK 11 or later\n* Maven (if need)\n* `heapstats-core.jar`\n    * https://github.com/HeapStats/heapstats/packages/44263\n    * `heapstats-shell` will download this JAR via Maven.\n\n## How to use\n\n```\n$ heapstats-shell\n```\n\nor\n\n```\n$ jshell --module-path target/dependency --add-module heapstats.core --feedback heapstats heapstats.jsh\n```\n\n## Command reference\n\n* Resource Log (CSV)\n    * `openResourceLog(String file)`\n        * Open HeapStats CSV file.\n    * `openResourceLogList(List\u003cFile\u003e files)`\n        * Open HeapStats CSV files.\n    * `resourceLogList()`\n        * Show all log entries.\n    * `javaCPU()`\n    * `javaCPUWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show all Java CPU usage.\n    * `systemCPU()`\n    * `systemCPUWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show all system CPU usage.\n    * `memories()`\n    * `memoriesWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show all memory usage.\n    * `safepoints()`\n    * `safepointsWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show all safepoints.\n    * `monitors()`\n    * `monitorsWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show all monitor events.\n    * `threads()`\n    * `threadsWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show all number of live threads.\n* SnapShot\n    * `openSnapShot(String file)`\n        * Open HeapStats SnapShot.\n    * `openSnapShotList(List\u003cString\u003e files)`\n        * Open HeapStats SnapShots.\n    * `snapshotList()`\n        * Show SnapShot list.\n    * `snapshotSummary()`\n    * `snapshotSummaryWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show SnapShot summary.\n    * `classHisto()`\n    * `classHistoWithRange(LocalDateTime start, LocalDateTime end)`\n        * Show class histogram.\n    * `diffHisto(SnapShotHeader from, SnapShotHeader to)`\n        * Show class histogram differences between `from` and `to` .\n    * `classReference(SnapShotHeader header, long tag, boolean isParent)`\n        * Show class references.\n* Thread Recorder\n    * `openThreadRecord(String file)`\n        * Open HeapStats Thread Recorder file.\n    * `showThreadIdMap()`\n        * Show thread ID and name map.\n    * `showSuspendEvents()`\n        * Show thread suspend events.\n    * `showLockEvents()`\n        * Show thread locking event.\n    * `showIOEvents()`\n        * Show IO events.\n\n## TODO\n\n* Currently, We cannot define jshell command. We will define current methods in `heapstats.jsh` as commands if it can.\n    * [JDK-8157208](https://bugs.openjdk.java.net/browse/JDK-8157208): jshell tool: pluggable commands\n* [JDK-8129843](https://bugs.openjdk.java.net/browse/JDK-8129843) reports we cannot define overload method(s). After this bug is fixed, we will define `*WithRange` methods as overloaded methods.\n\n## License\n\nGNU General Public License, version 2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheapstats%2Fheapstats-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheapstats%2Fheapstats-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheapstats%2Fheapstats-shell/lists"}