Chapter 3. Feature enhancements Cryostat 2.2 includes feature enhancements that build upon the Cryostat 2.1 offerings. Automated rule behavior after JMX credential change Before Cryostat 2.2, if you created an automated rule to monitor a target JVM application before you enter the application's JMX credentials on the Security menu, the automated rule would fail without any warning. Cryostat 2.2 resolves this issue. With this update, you can enter JMX credentials after you created the automated rule without experiencing issues. You do not need to re-create the automated rule, because Cryostat retries the automated rule after you enter the correct JMX credentials for the application. Note Cryostat 2.2 encrypts and stores JMX credentials for a target JVM application in a database that is stored on a persistent volume claim (PVC) on Red Hat OpenShift. The Cryostat Operator stores JMX credentials in memory for the duration of establishing a connection between Cryostat and the target JVM application. Cryostat supports SSL/TLS on the HTTP request that adds JMX credentials to the database and on the JMX connection that uses those credentials to connect to the target application. Cryostat also encrypts the credentials within the database by using a passphrase that is either provided by the user or that is generated by the Cryostat Operator. Deletion prompt on the Cryostat web console Cryostat 2.2 updates the Delete function on the Cryostat web console, so that after you click Delete , the following prompt opens on your web console: Figure 3.1. The Delete prompt that opens on the Cryostat web console You can access this prompt when you complete any of the following delete operations on the web console: An automated rule from the Automated Rules menu. An active or an archived recording from either the Recordings menu or the Archives menu. An event template, an event type, or a custom target from numerous locations on the Cryostat web console, such as the Events menu. JMX credentials from the Security menu. Important The prompt does not open when you attempt to delete recording labels for either your active recording or archived recording. The prompt informs you that after you delete the recording, Cryostat removes all data associated with the recording. The prompt provides you with the following options: To proceed with deleting the recording, click Delete . To keep the recording, click Cancel . After you click either option, Cryostat returns to the menu. Edit Recording Labels pane Cryostat 2.2 removes the Edit Metadata option from the Recordings menu, and adds an Edit Labels button under the Active Recordings tab and the Archived Recordings tab. Figure 3.2. The Edit Recordings Labels pane on the Cryostat web console After you click the Edit Labels button, an Editing Recordings Labels pane opens on your Cryostat web console. Enhancement to the Archives menu The Archives menu separates recordings into three nested tables: All Targets , All Archives , and Uploads . Each table lists results in a chronological order. After you archive a recording, Cryostat lists the associated target JVM in the All Targets table. You can click the Hide targets with zero recordings checkbox to remove any target JVM entry that does not have an archived recording. After you click on the twistie icon ( v ) beside the JVM target entry, you can access a filter function, where you can edit labels to enhance your filter or click the Delete button to remove the filter. The All Archives table looks similar to the All Targets table, but the All Archives table lists target JVM applications from files that Cryostat archived. From the Uploads table, you can view all your uploaded JFR recordings. The Uploads table also includes a filtering mechanism similar to the All Targets table. You can also use the filtering mechanism on the Archives menu to find an archived file that might have no recognizable target JVM application. Fixed issue with Archive Recordings table Cryostat 2.2 fixes the Cryostat 2.1 issue, where Cryostat would delete one of the duplicate files from under the Archive Recordings table. This issue is caused when you complete the following steps: Archived a JFR recording that belongs to a specific target. As an example, Cryostat names the archived file as my_recording_9093_20220322T172832Z.jfr . Archived the same JFR recording again or uploaded the same file to Cryostat's archives location. Cryostat might remove one of the files in error. You would notice the incorrect deleted file when you complete one of the following actions: View a generated automated analysis report. View application metrics on Grafana. Edit a recording label for the existing JFR recording. If Cryostat 2.2 detects JFR recordings files with the same name, but each file has a different target, Cryostat does not delete one of the files. This behavior also applies when you re-upload a file with the same name as the archived file belonging to a target JVM application. For more information about the source of the issue, see Duplicate file name displays under the Archived Recordings table (Release notes for the Red Hat build of Cryostat 2.1). Filter recordings From either the Active Recordings tab or the Archived Recordings tab in the Recordings menu, you can filter listed JFR recordings by selecting checkboxes that open beside each JFR recording entry. After you click a checkbox, Cryostat enables buttons, such as Create , Archive , Edit Labels , and so on. With Cryostat's filtering functionality, you can create a filter that accurately finds your target JFR recordings. The following image shows an Active Recordings table with three listed active recordings: Figure 3.3. Example of an Active Recordings table that shows three listed active recordings The following example shows a filter with defined template.type:TARGET label and the DurationSeconds: continuous label criteria. After the filter query completes, two results show that match the filter's label criteria. Figure 3.4. Example of a completed filter under the Active Recordings tab OpenJDK 17 and Eclipse Vert.x support Cryostat 2.2 is built with the Vert.x 4 framework. This framework improves performance, fixes legacy bugs, and builds new features for Cryostat. Additionally, Cryostat 2.2 is built with OpenJDK 17. This OpenJDK implementation improves performance and reduces memory requirements for Cryostat. Note If you run your Cryostat application on OpenJDK 17, Cryostat can still interact with a target JVM application that was built with a different release of Cryostat that supports the JFR technology, such as OpenJDK 11.0.17. The initialDelay automated rule property Before the Cryostat 2.2 release, if you created an automated rule that copies recordings into Cryostat's archives, you would need to create a schedule by specifying a value for the archivalPeriodSeconds property. This configuration limits an automated rule to only move a recording copy to archives based at specific time intervals. You cannot stagger the archival period with this archivalPeriodSeconds property. Cryostat 2.2 includes the initialDelay property, which you can define in rule definition. Your automated rule can then stagger the archival schedule to meet your needs. Consider a situation where you would like to immediately archive a recording during application startup. Thereafter, the archival interval could be scheduled to occur every 30 seconds. Updated Archived Recordings table Cryostat 2.2 updates the Archived Recording table that opens on the Recordings menu. The table now includes a Size column, where you can view an archived file size in kilobytes (KB) units. Additionally, with this release, you can use a scroll bar on the Archived Recording table to quickly locate an archived file. The scroll bar visibility is unique to each table type. For example, from the Active Recordings table, you can access the scroll bar when the table lists 5 or more active JFR recording files.

Commands: