Headers are part of the Task Sequence and Monitoring Task Sequence sheets.
Headers are declared in one or more headers
section (see formats
below) :
<headers> <locked_thread_counter/> <deadlock_counter header_config_file="${JEYZER_ANALYZER_CONFIG_DIR}/report/headers/deadlock-counter.xml""/> <action_counter header_config_file="${JEYZER_DEMO_MASTER_PROFILES_DIR}/${JEYZER_TARGET_PROFILE}/analysis/report/headers/custom-action-counter.xml"/> </headers>
It is recommended to have one header configuration file per customized header, referenced by the header_config_file
.
Good practice is to store it under the analysis/report/headers
directory within your master profile.
Jeyzer provides a large set of pre-configured headers in the analyzer/config/report/headers
directory inside your Jeyzer installation.
Those standard headers can be directly referenced.
Section delimitors
You can group your headers and separate them with a section_delimitor.
The section delimitor can have a title
and a color
.
<section_delimitor title="Request thread pool" color="RGB-201-208-168"/>
Pane freeze
For readability convenience, the top pane is frozen automatically only if there is less than 10 headers to display.
To change this behavior, you may either force/disable the freezing at the sheet configuration level.
<headers freeze="true">
Or change the global setting at the setup level in the config/setup/default_setup.xml
<headers unfreeze_pane_threshold="10">
Conditional formats
Multiple groups of headers can be defined to accommodate the underlying recording format (see also the usage of formats
at the sheet level).
Use the formats if you need to handle different formats of JZR recordings.
<headers formats="Advanced JMX,Advanced Agent"> <headers formats="Jstack 1.6+,Jstack 1.6+ Hung">
Threshold highlight
Headers numeric values can be highlighted in color
when reaching a predefined threshold
.
Threshold is optional and set to 70 when the header is percentage based.
<process_cpu threshold="75" color="RED"/>
Delta highlight
Variations of the header numeric values can be highlighted when increasing or decreasing by a certain percentage factor:
<thread_counter> <delta increase_factor="10" increase_color="RGB-255-180-129" decrease_factor="10" decrease_color="RGB-167-255-167"/> </thread_counter>
Highlights
Highlights of specific values are supported
See the highlights section.
Math functions
Math functions are aggregation figures resulting from mathematical operations applied on the header values.
Math functions are displayed on the top left of the sheet.
The exact display column of the first function can be set with the title_column_index
.
Six functions are supported : average
, cumulative
, max
, min
, variance
, standard_deviation
.
<headers title_column_index="1"><math_functions>
<max/>
<average/>
</math_functions>
<process_cpu/> <system_cpu/> </headers>
Math functions – Threshold highight
Math functions can be highlighted in color
when reaching a predefined threshold
.
This must be set at the header level :
<process_cpu math_function_average_threshold="50" math_function_average_color="ORANGE" />
.
Headers reference list
Headers in bold can handle different figure variants and can therefore be instantiated multiple times : declaration example is provided in their description.
Name | Configuration id | Description | Formats* | Math Functions |
Actions | action_counter | Number of detected actions, meaning active threads | All | All |
Applicative CPU Activity % | applicative_cpu_activity | CPU applicative usage of the process | JZR AA JZR AJ | Average Variance Standard deviation |
Applicative Memory Activity % | applicative_memory_activity | Applicative memory usage of the process | JZR AA JZR AJ | Average Variance Standard deviation |
Biased locks | biased_lock_counter | Biased locks count | J6 | All |
CPU Computed Process % | computed_process_cpu | Computed process CPU usage Computed percentage based on the sum of the thread CPU times divided by the global system time within the last period of time. Important : value may differ from the collected one as CPU data retrieval is not transactional. Can be greater than 100% in multi core system. | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
CPU Process % | process_cpu | Process CPU usage percentage Value may differ from the computed one as CPU data retrieval is not transactional | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
CPU runnable threads | cpu_runnable_thread_counter | Number of threads eligible to CPU usage. | All | All |
CPU System % | system_cpu | System CPU usage percentage | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Deadlocks | deadlock_counter | Number of deadlocks | All | Min Max |
File descriptor usage % | file_descriptor_usage_percent | Process file descriptor usage percentage since Jeyzer 3.0 | JAR AA JAR AJ | Average Min Max Variance Standard deviation |
Free disk space | free_disk_space | Free disk space available for a given partition :<free_disk_space id="work" display="App partition / Free disk space" comment="Free disk space on the partition where the application stands, in Gb."/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Free disk space % | free_disk_space_percent | Free disk space percentage for a given partition :<free_disk_space_percent id="work" display="App partition / Free disk space %" comment="Free disk space percentage on the partition where the application stands."/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Frozen threads | frozen_code_state_thread_counter | Frozen code state count. Applies only to active threads. | All | All |
Garbage collection count | garbage_collection_count | Number of garbage collections since the last JZR recording snapshot for a predefined garbage collector/occurrence. Garbage collector is one of : old , young , all , <exact garbage collector name>, last (last occurrence)<garbage_collection_count gc="old" display="Major GC count"/> | JZR AA JZR AJ | All |
Garbage collection executed garbage collector | garbage_collection_executed_garbage_collector | Displays the last executed garbage collector. type is either last or all for respectively the last executed one or all the ones that were executed since the last JZR recording snapshot<garbage_collection_executed_garbage_collector type="all" display="Executed garbage collector(s)"/> | JZR AA JZR AJ | None |
Garbage collection health indication | garbage_collection_health_indication | Garbage collection health indication This is composite indication : <% used memory after GC>.<% of before GC memory which as been released> Examples : 90.15 = very bad. GC released only small amount of memory 5.90 = very good. GC released high amount of memory (90% of the used memory) 5.05 = quiet. 5% of the used memory was released A null decimal part indicates memory pool stability or growth <garbage_collection_health_indication gc="old" pool="old" display="Health Indication - Old GC Old gen" > | JZR AA JZR AJ | None |
Garbage collection memory pool maximum size | garbage_collection_memory_max | Maximum memory pool(s) max size in Mb for the given pool(s) Memory pool can be one of : old , young , all , <exact pool name>Garbage collector is one of : old , young , all , <exact GC name>, last (last GC executed). Should be aligned with the memory pool or set to last .<garbage_collection_memory_max gc="last" pool="old" display="Old pool max size"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory pool size | garbage_collection_memory_pool | Memory pool size in Mb for the given pool category path. The path is composed of the garbage collector source, its operation (last), the measurement time (before/after GC), the exact name of the pool memory, the memory figure group (usage) and its attribute (used). <garbage_collection_memory_pool category="PS Scavenge:last gc:before:PS Old Gen:usage:used" display="PS Scavenge Old Gen before used" description="Old generation used space in Mb before PS Scavenge execution."/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory released | garbage_collection_memory_released | Memory released in Mb for the given pool(s) by a given garbage collector Garbage collector is one of : old , <exact GC name>, last (last GC executed)Pool memory is one of : all , old , young , <exact memory pool name><garbage_collection_memory_released gc="last" pool="all" display="Released memory"> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory released % | garbage_collection_memory_released_percent | Memory released percentage for the given pool(s) by a given garbage collector Garbage collector is one of : old , <exact GC name>, last (last GC executed)Pool memory is one of : all , old , young , <exact memory pool name><garbage_collection_memory_released_percent gc="old" pool="all" display="Mem % released after major GC"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory used after GC | garbage_collection_memory_used_after_gc | Memory used in Mb after GC for the given pool(s) by a given garbage collector Garbage collector is one of : old , <exact GC name>, last (last GC executed)Pool memory is one of : all , old , young , <exact memory pool name>< garbage_collection_memory_used_after_gc gc="old" pool="old" display="Major GC - Old pool used"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory used after GC % | garbage_collection_memory_used_after_gc_percent | Memory used percentage after GC for the given pool(s) by a given garbage collector Garbage collector is one of : old , <exact GC name>, last (last GC executed)Pool memory is one of : all , old , young , <exact memory pool name><garbage_collection_memory_used_after_gc_percent gc="old" pool="old" display="Major GC - Old pool used %"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory used before GC | garbage_collection_memory_used_before_gc | Memory used in Mb before GC for the given pool(s) by a given garbage collector Garbage collector is one of : old , <exact GC name>, last (last GC executed)Pool memory is one of : all , old , young , <exact memory pool name>< garbage_collection_memory_used_before_gc gc="last" pool="all" display="Used memory before" /> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection memory used before GC % | garbage_collection_memory_used_before_gc_percent | Memory used percentage before GC for the given pool(s) by a given garbage collector Garbage collector is one of : old , <exact GC name>, last (last GC executed)Pool memory is one of : all , old , young , <exact memory pool name><garbage_collection_memory_used_before_gc_percent gc="last" pool="all" display="Used memory before %" /> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection time | garbage_collection_time | Garbage collection execution time since last JZR recording snapshot in ms Garbage collector is one of : all , old , young <exact GC name>, last (last GC executed) <garbage_collection_time gc="old" display="Major GC execution time"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Garbage collection time % | garbage_collection_time_percent | Garbage collection execution time % since last JZR recording snapshot Garbage collector is one of : old , young , all , <exact GC name>, last (last GC executed)<garbage_collection_time_percent gc="old" display="Major GC execution time %"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Jeyzer MX all context parameters | jzr_mx_all_context_params | List of all applicative context parameters (name value pair) obtained through the Jeyzer MX interface<jzr_mx_all_context_params display="Context params"/> | JZR AA JZR AJ | None |
Jeyzer MX context parameter number | jzr_mx_context_param_number | Displays the last numeric value of the given MX parameter obtained through the Jeyzer MX interface <jzr_mx_context_param_number name="app-txn-counter" display="Transaction count" display_comment="Applied transaction count"/> | JZR AA JZR AJ | All |
Jeyzer MX context parameter string | jzr_mx_context_param | Displays the last textual value of the given MX parameter obtained through the Jeyzer MX interface<jzr_mx_context_param_number name="app-status" display="Health status" display_comment="Service health status "/> | JZR AA JZR AJ | None |
Locked threads | locked_thread_counter | Number of locked threads. Applies only to active threads. | All | All |
Memory pool | memory_pool | Pool memory figure in Mb given a fraction_category and a basis_category memory pool paths. Several memory pools can be specified to accommodate different Java versions, such as PS Old Gen (Java 8) and G1 Old Gen (Java 11). Memory pool path syntax is : <<memory pool 1[|memory pool N]>>:<figure>:<memory usage> <memory_pool category="PS Old Gen|G1 Old Gen:peak:peak:used" display="Old Gen Peak" description="Old generation peak usage in Mb since the last value fetch."/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Memory pool heap | memory_pool_heap | Heap space usage in Mb based on the sum of the Old Gen used space and Eden used space<memory_pool_heap display="Heap size"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Memory pool heap ratio | memory_pool_heap_ratio | Heap usage percentage, based on the sum of the Old Gen used space and Eden used space divided by the sum of the Old Gen max space and Eden max space < memory_pool_heap_ratio display="Heap usage %"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Memory pool ratio | memory_pool_ratio | Ratio (percentage) of a pool memory figure given a fraction_category and a basis_category memory pool paths.Memory pool path syntax is : <memory pool>:<figure>:<memory usage> <memory_pool_ratio fraction_category="PS Old Gen:usage:used" basis_category="PS Old Gen:usage:max" display="Old Gen Usage %" description="Old generation usage %"/> | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
MX bean parameter number | mx_bean_param_number | Displays the last numeric value of the given MX parameter obtained through its MX interface The name is a regular expression and refers to the MX bean object name.Matched attribute should be unique (first match is considered). <mx_bean_param_number name="org.apache.activemq:Broker:.*:MemoryPercentUsage" display="Memory % usage" display_comment="AMQ Memory % usage"/> | JZR AA JZR AJ | All |
MX bean parameter string | mx_bean_param | Displays the last textual value of the given MX parameter obtained through its MX interface The name is a regular expression and refers to the MX bean object name.Matched attribute should be unique (first match is considered). <mx_bean_param name="org.apache.activemq:Broker:.*:Health:CurrentStatus" display="Health status" display_comment="Broker state"/> | JZR AA JZR AJ | None |
Native thread counter | native_thread_counter | Total number of native/platform threads since Jeyzer 3.1 | All | Average Min Max Variance Standard deviation |
Native thread memory | native_thread_memory | Memory in Mb consumed by the native/platform threads. Value is approximation : native thread is known to require 2Mb. Memory is allocated outside of the heap. since Jeyzer 3.1 | All | Average Min Max Variance Standard deviation |
Object pending finalization counter | object_pending_finalization_counter | Approximate number of objects for which finalization is pending | JZR AA JZR AJ | All |
Open file descriptor counter | open_file_descriptor_counter | Number of file descriptors handled by the process since Jeyzer 3.0 | JZR AA JAR AJ | Average Min Max Variance Standard deviation |
Process computed memory | computed_process_memory | Computed process memory in Mb based on the sum of the thread allocated bytes within the last period of time. | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Process up time | process_up_time | Formatted process up time Time since the beginning of the process start | JZR AA JZR AJ | NA |
Recording file size | recording_write_size | JZR recording snapshot file size in Kb | JZR AA | All |
Recording snapshot capture time | capture_time | Recording snapshot capture time in ms Includes also time for any JMX operation | JZR | All |
Recording snapshot file name | recording_snapshot_file_name | Recording snapshot file name | All | None |
Suspensions | suspended_counter | Number of threads suspended on a debug breakpoint | All | Min Max |
System memory | system_physical_used_memory | System physical used memory in Mb | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
System memory % | system_physical_used_memory_percent | System physical used memory percentage | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Tendency contention type | tendency_contention_type | Most frequent contention type Contention type must at least appear 3 times within the recording snapshot | All | None |
Tendency executor | tendency_executor | Most frequent executor Executor must at least appear 3 times within the recording snapshot | All | None |
Tendency function | tendency_function | Most frequent function Function must at least appear 3 times within the recording snapshot | All | None |
Tendency function operation | tendency_function_operation | Most frequent function-operation combination Combination must at least appear 3 times within the recording snapshot | All | None |
Tendency operation | tendency_operation | Most frequent operation Operation must at least appear 3 times within the recording snapshot | All | None |
Thread count | thread_counter | Total number of native and virtual threads | All | Average Min Max Variance Standard deviation |
Thread memory | thread_memory | Memory in Mb consumed by the native and virtual threads (if supported and visible) Value is approximation : native thread is known to require 2Mb. Virtual thread is known to require 1Mb. Memory is allocated outside of the heap. since Jeyzer 3.1 | All | Average Min Max Variance Standard deviation |
Thread pool action counter | pool_thread_action_counter | Number of threads identified as active, meaning with an action in progress, within a thread pool The regex identifying the pool threads is matched against the thread name<pool_thread_action_counter name="AMQ Active Connections" regex="^ActiveMQ Transport:.*"/> | All | All |
Thread pool action percentage | pool_thread_action_percent | Percentage of threads identified as active, meaning with an action in progress, within a thread pool The regex identifying the pool threads is matched against the thread name<pool_thread_action_percent name="AMQ Active Connections %" regex="^ActiveMQ Transport:.*"/> | All | Average Min Max Variance Standard deviation |
Thread pool counter | pool_thread_counter | Number of threads within a thread pool, active and inactive The regex identifying the pool threads is matched against the thread name <pool_thread_counter name="AMQ Connections" regex="^ActiveMQ Transport:.*"/> | All | All |
Used disk space | used_disk_space | Used disk space available for a given partition : <used_disk_space id="work" display="App partition / Used disk space" | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Used disk space % | used_disk_space_percent | Used disk space percentage for a given partition : <used_disk_space_percent id="work" display="App partition / Used disk space %" comment="Used disk space percentage on the partition where the application stands." | JZR AA JZR AJ | Average Min Max Variance Standard deviation |
Virtual thread count | virtual_thread_counter | Total number of virtual threads (if visible and supported). since Jeyzer 3.1 | JCMD21 | Average Min Max Variance Standard deviation |
Virtual thread CPU usage % | virtual_thread_mounted_cpu_usage_percent | Virtual thread CPU usage in percentage. Formula is : number of mounted threads / number of system CPUs * 100 since Jeyzer 3.1 | JZR AA JZR AJ JFR | Average Min Max Variance Standard deviation |
Virtual thread diff | virtual_thread_diff | Counter difference of virtual threads since the last recording snapshot (or recording start time). Formula : diff = created – terminated Can be negative. since Jeyzer 3.1 | JFR21 | Average Min Max Variance Standard deviation |
Virtual thread memory | virtual_thread_memory | Memory in Mb consumed by the virtual threads (if supported and visible). Value is approximation : virtual thread is known to require 1Mb. Memory is allocated outside of the heap. since Jeyzer 3.1 | JCMD21 | Average Min Max Variance Standard deviation |
Virtual thread mounted | virtual_thread_mounted_counter | Total of mounted virtual threads since Jeyzer 3.1 | JZR AA JZR AJ JCMD21 JFR | Average Min Max Variance Standard deviation |
Virtual thread pinned | virtual_thread_pinned_counter | Number of virtual threads pinned since the last recording snapshot (or recording start time). Source : count of jdk.VirtualThreadPinned events since Jeyzer 3.1 | JFR21 | Average Min Max Variance Standard deviation |
Virtual thread started | virtual_thread_created_counter | Number of virtual threads started since the last recording snapshot (or recording start time). Source : count of jdk.VirtualThreadStart events since Jeyzer 3.1 | JFR21 | Average Min Max Variance Standard deviation |
Virtual thread terminated | virtual_thread_terminated_counter | Number of virtual threads terminated since the last recording snapshot (or recording start time). Source : count of jdk.VirtualThreadEnd events since Jeyzer 3.1 | JFR21 | Average Min Max Variance Standard deviation |
Write speed | recording_write_speed | Speed in Mb/sec to write the dump recording | JZR AA | Average Min Max Variance Standard deviation |
Write time | recording_write_time | Time in milliseconds required to write the dump recording | JZR AA | All |
(*) Recording formats :
JZR AA = Jeyzer Advanced Agent
JZR AJ = Jeyzer Advanced JMX
J6 = JDK 1.6+ jStack
JCMD21 = JDK 21+ jcmd tool
JFR21 = Java Flight Recorder 21+