JFR recording footprint #653
-
hi, in the section https://cryostat.io/guides/#archive-a-recording I see the following statement
what is the actual footprint of active recording? I mean, in case when I have continous profiling enabled, does cryostat is pulling the data within some period etc ? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Cryostat will only pull the data periodically if you have created an Automated Rule to do so. Or, if you are using the Agent, then there is the Harvester feature where it will push the data to Cryostat periodically. If you simply start a recording manually then that data will never be pulled out of the target JVM until you click the "archive" button. The actual footprint of the recording within the target JVM is whatever (usually quite small) CPU overhead there is for the JVM to capture the events, and whatever memory is taken up by the JFR events in the JVM's memory buffers. The JVM will flush these buffers to disk so long as the "to disk" recording option is enabled (which is on by default), however if your container is configured so that the default write location is in tmpfs or some other volatile medium then this may actually end up still taking memory allocation from the container. |
Beta Was this translation helpful? Give feedback.
You may find these resources helpful:
https://docs.oracle.com/javacomponents/jmc-5-3/jfr-runtime-guide/about.htm#CHDHAGAF
https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/run.htm#JFRUH164
When you enable JFR, the JVM keeps some in-memory buffers to hold the JFR events. If you enable the
todisk
option then the JVM will flush the data to disk storage periodically, as the in-memory buffers fill up. You can also set the maximum age and/or size of data that should be kept in this on-disk "JFR repository", so that sounds like it would satisfy your "take up to 50m" idea.Under the Advanced Options in the Cryostat UI you can configure these things. The
todisk
is on by default, so…