Visit Support

Using the GC Log Scraper

Need help?
Schedule a consultation with an Azul performance expert.
Contact Us

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}'