v2.3.0 📭⛑🛎
New Features
show-busy-java-threads
:- add "No java process found" check, output in error message 📭
- add
update_delay/update_count/pid_list
option value validation
show-duplicate-java-classes
:- show duplicate classes total count 🔢
- output responsive progress info at console 🛎
- add option
-R, --no-find-progress
, do not display responsive find progress 🔇 - validate lib/class dir
find-in-jars
:- add
-L, --files-not-contained-found
and-l, --files-contained-found
options - add option
-R, --no-find-progress
, do not display responsive find progress 🔇
- add
uq
:- add max input defensive check option
-XM, --max-input
⛑
- add max input defensive check option
BugFix
show-busy-java-threads
: fixtop
extract error by process name 👓COMMAND
column oftop -H
output can be thread name not process nametop
output sample and env info:$ uname -a Linux 33e449b39f66 4.19.121-linuxkit #1 SMP Thu Jan 21 15:36:34 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ java -version openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.18.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.18.04, mixed mode, sharing) $ top -v procps-ng 3.3.12 Usage: top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols] $ top -H PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7012 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 java 7014 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.62 GC Thread#0 7015 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 G1 Main Marker 7017 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 G1 Refine#0 7018 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.06 G1 Young RemSet 7019 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.67 VM Thread 7020 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 Reference Handl 7021 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 Finalizer 7022 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 Signal Dispatch 7023 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.34 C2 CompilerThre 7024 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.03 C1 CompilerThre 7025 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 Sweeper thread 7026 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.00 Service Thread 7027 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.26 VM Periodic Tas 7032 jerry 20 0 3492604 79492 27096 S 0.0 3.9 0:00.52 GC Thread#1 ...
Improvements
show-busy-java-threads
:- improve self rerun command line in output
show-duplicate-java-classes
:- refactor: split function
build_index__class_to_class_paths
to 2 small functions:collect_class_path_to_classes
invert_as_class_to_class_paths
- refactor: split function
find-in-jars
:- improve responsive output, output jars searching message 👓
- extract
searchJarFiles
function
- fix
Bash
Traps and Pitfalls:- DO NOT combine var declaration and assignment which value supplied by sub-shell!
- improve help and docs
- code refactor/cleanup
Have Fun! 💕
2021-4-1