Using the GC Log Scraper
Azul Zing Builds of OpenJDK (Zing) Garbage Collector (GC) Log Scraper is a script that enables parsing of data from a GC log.
The script is located in <zing_directory>/etc/gcLogScraper
.
To quickly get started with GC Log Scraper and see examples of extracting data, run gcLogScraper -h
:
$ ./gcLogScraper -h
Sample script that can be used to extract data from ZingVM GC log files
Usage: gcLogScraper -h
gcLogScraper -l <label> [-c <fmt_string>] < zing.gclog
-h - show this help and exit
-l <label> - gclog line marker (GC, GPGC-H, SYSINFO, OBJCREAT, COMPSTATS, SPS ...)
-c <fmt_string> - specifies what fields to print out
if fmt_string is not specified, the script prints the header line and exits
fmt_string may contain any text. Fields in the form of %{spec} will be replaced with the corresponding field
values extracted from the log
spec is the name of a field as it appears in the header line. For records that have two-line headers spec can be
specified in the form %{h1#h2}, where h1 unambiguously defines the group from the first header line and h2 specifies
a field from the second line within that group.
Examples:
$ cat ${LOG} | gcLogScraper -l GC -c "%{end#end}: Type: %{type}; Mode: %{gc#md}; Pause 2: start=%{pause 2#start} dur=%{pause 2#dur}"
$ cat ${LOG} | gcLogScraper -l GPGC-H -c "%{Time} %{Model#NewGen};%{KID};%{ReasonString}"
$ cat ${LOG} | gcLogScraper -l OBJCREAT -c "%{end} %{newGen} %{permGen}"
You can utilize the gcLogScraper script to write your own script to parse GC log files.
You may want to use the tail command to continuously extract metrics from a running Zing process, for example:
tail -c +0 -f gc.log | gcLogScraper -l GC -c '%{end}: %{rss}'