Coder Social home page Coder Social logo

Comments (2)

chewiebug avatar chewiebug commented on July 28, 2024

Hi @altdelnow

The issue is not generally the OpenJDK11 logs, but G1 logs in unified GC logging format. The green rectangles show the information that currently is used by GCViewer for G1 logs:
grafik

The difficult part is calculation of the regions:

  • eden + survivor -> young space
  • old -> tenured space
  • humongous -> don't know where to count them, they don't fit into the G1 region model
  • metaspace -> no regions, just plain old size.

GCViewer tries to multiply the number of regions (in the example: eden 0 + survivor 1 = 1 young region; 9 old regions) with the region size logged in the beginning of a log to get a rough size of young and tenured space. Humongous regions don't seem to be in the young nor the tenured category, I never knew where to count them. And I am also not sure, if the size of a humongous region is the same as an eden / survivor / old region.

Your trace information would probably contain all the information necessary to show more information about the regions, but it is currently ignored. In this class you see the included and excluded information by the parser: https://github.com/chewiebug/GCViewer/blob/develop/src/main/java/com/tagtraum/perf/gcviewer/imp/DataReaderUnifiedJvmLogging.java#L170

The best you can get with G1 in unified GC logging format looks like this (I have turned off some information in the chart to better see the young plot):
grafik
You see the young space size, for tenured / old there is probably still a bug around in the parser.

The reason for this little improvement is the presence of the following line in the gc log:
grafik

For a openJDK 11 serial gc log, you'll see something like this:
grafik

For OpenJDK 11+ ZGC the situation is even worse than with G1. There the parser definitely needs an update.

from gcviewer.

nirvdrum avatar nirvdrum commented on July 28, 2024

@chewiebug Would it make sense to adopt gctoolkit (previously jClarity Censum) for the parsing? I know that won't fix the display issues you discussed, but maybe it'd free up time updating the parser for the constantly changing format?

from gcviewer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.