Metric Descriptions
Metric Descriptions
The metrics are returned in a text-based format, described in the Prometheus documentation (https://prometheus.io/docs/instrumenting/exposition_formats/Opens in a new tab). Each metric is listed on a single line with only one space, which separates the name from the value. Each unique metric is preceded by # HELP and # TYPE comment lines (described in https://prometheus.io/docs/instrumenting/exposition_formats/#comments-help-text-and-type-informationOpens in a new tab). Where applicable, InterSystems IRIS also includes a # UNIT comment line; this comment specifies the unit of measurement used for the metric. You can configure custom application metrics to supply these comment lines as well.
The following tables list InterSystems IRIS metrics. Except for the first table, each table identifies the members of a Sensor Group, with the title of each table corresponding to that Sensor Group’s name. You can exclude Sensor Groups which contain metrics that you do not need to collect; refer to the class reference for the ExcludeMetricsOpens in a new tab property for further guidance
These tables contain metrics for the version of InterSystems IRIS documented here. As metrics may be added in newer versions, be sure this documentation matches your version of InterSystems IRIS.
| Metric Name | Description |
|---|---|
| iris_system_alerts | The number of alerts posted to the messages log since system startup |
| iris_system_alerts_log | The number of alerts currently located in the alerts log |
| iris_system_alerts_new | Whether new alerts are available on the /api/monitor/alerts endpoint, as a Boolean |
| iris_system_state | A number representing the system monitor health state (see System Monitor Health State.) |
| Metric Name | Description |
|---|---|
| iris_cpu_pct
{id="ProcessType"} |
Percent of CPU usage by InterSystems IRIS process type. ProcessType can be any of the following:
ECPWorker, ECPCliR, ECPCliW, ECPSrvR, ECPSrvW, LICENSESRV, WDAUX, WRTDMN, JRNDMN, GARCOL, CSPDMN, CSPSRV, ODBCSRC, MirrorMaster, MirrorPri, MirrorBack, MirrorPre, MirrorSvrR, MirrorJrnR, MirrorSK, MirrorComm (see Secure InterSystems Processes and Operating System Resources.) |
| iris_cpu_usage | Percent of CPU usage for all programs on the operating system |
| Metric Name | Description |
|---|---|
| iris_csp_activity
{id="IPaddress:port"} |
Number of web requests served by the Web Gateway since it was started |
| iris_csp_actual_connections
{id="IPAddress:port"} |
Number of current connections to this server by the Web Gateway |
| iris_csp_gateway_latency
{id="IPaddress:port"} |
Amount of time to obtain a response from the Web Gateway when fetching iris_csp_ metrics, in milliseconds |
| iris_csp_in_use_connections
{id="IPaddress:port"} |
Number of current connections to this server by the Web Gateway that are processing a web request |
| iris_csp_private_connections
{id="IPaddress:port"} |
Number of current connections to this server by the Web Gateway that are reserved for state-aware applications (Preserve mode 1) |
| iris_csp_sessions | Number of currently active web session IDs on this server |
| Metric Name | Description |
|---|---|
| iris_db_expansion_size_mb
{id="database"} |
Amount by which to expand database, in megabytes |
| iris_db_file_limit_percent
(id="database",dir="filepath") |
The size of the volume file for the database located in the directory filepath, expressed as a percentage of the host file system’s maximum file size limit. |
| iris_db_free_space
{id="database"} |
Free space available in database, in megabytes (This metric is only updated once per day, and may not reflect recent changes.) |
| iris_db_latency
{id="database"} |
Amount of time to complete a random read from database, in milliseconds |
| iris_db_max_size_mb
{id="database"} |
Maximum size to which database can grow, in megabytes |
| iris_db_size_mb
{id="database",dir="path"} |
Size of database, in megabytes |
| iris_disk_percent_full
{id="database",dir="path"} |
Percent of space filled on the database directory’s storage volume |
| Metric Name | Description |
|---|---|
| iris_sam_get_db_sensors_seconds | Amount of time it took to collect iris_db* sensors, in seconds |
| iris_sam_get_interop_sensors_seconds | Amount of time it took to collect iris_interop* sensors, in seconds |
| iris_sam_get_jrn_sensors_seconds | Amount of time it took to collect iris_jrn* sensors, in seconds |
| iris_sam_get_sql_sensors_seconds | Amount of time it took to collect iris_sql* sensors, in seconds |
| iris_sam_get_wqm_sensors_seconds | Amount of time it took to collect iris_wqm* sensors, in seconds |
| Metric Name | Description |
|---|---|
| iris_ecp_conn | Total number of active client connections on this ECP application server |
| iris_ecp_conn_max | Maximum active client connections from this ECP application server |
| iris_ecp_connections | Number of servers synchronized when this ECP application server synchronizes with its configured ECP data servers |
| iris_ecp_latency
{id="dataServer"} |
Latency of the connection between this ECP application server and the ECP data server dataServer, in milliseconds |
| iris_ecp_servers
{id="dataServer",status="status", ip="ipAddress",port="portNumber"} |
Number of outbound connections with the given status which are currently reported between this ECP application server and the ECP data server dataServer at the ipAddress and portNumber specified |
| iris_ecp_clients
{id="appServer",status="status", ip="ipAddress",port="portNumber"} |
Number of inbound connections with the given status which are currently reported between this ECP data server and the ECP application server appServer at the ipAddress and port specified |
| iris_ecp_block_add_per_sec | Database blocks added to cache (per second) on this ECP application server |
| iris_ecp_block_purge_buff_per_sec | Database blocks purged by buffer allocation (per second) on this ECP application server |
| iris_ecp_block_purge_svr_per_sec | Database blocks purged as requested (per second) on this ECP data server |
| iris_ecp_byte_rcvd_per_sec | Bytes received (per second) by this ECP application server |
| iris_ecp_byte_sent_per_sec | Bytes sent (per second) by this ECP application server |
| iris_ecp_glo_ref_per_sec | Database blocks added to cache (per second) on this ECP application server |
| iris_ecps_big_kill
{id="appServer"} |
Total big string kills on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_big_kill_per_sec | Big string kills (per second) on this ECP data server across all connections |
| iris_ecps_big_string
{id="appServer"} |
Total big string data requests received by this ECP data server from the connected ECP application server appServer |
| iris_ecps_big_string_per_sec | Big string data requests received (per second) by this ECP data server across all connections |
| iris_ecps_block_sent
{id="appServer"} |
Total database blocks sent by this ECP data server to the connected ECP application server appServer |
| iris_ecps_block_sent_per_sec | Database blocks sent (per second) by this ECP data server across all connections |
| iris_ecps_byte_rcvd
{id="appServer"} |
Total bytes received by this ECP data server from the connected ECP application server appServer |
| iris_ecps_byte_rcvd_per_sec | Bytes received (per second) by this ECP data server across all connections |
| iris_ecps_byte_sent
{id="appServer"} |
Total bytes sent by this ECP data server to the connected ECP application server appServer |
| iris_ecps_byte_sent_per_sec | Bytes sent (per second) by this ECP data server across all connections |
| iris_ecps_glo_ref
{id="appServer"} |
Total references to globals on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_glo_ref_per_sec | Global references (per second) on this ECP data server across all connections |
| iris_ecps_glo_update
{id="appServer"} |
Total global updates on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_glo_update_per_sec | Global updates (per second) on this ECP data server across all connections |
| iris_ecps_lock_fail
{id="appServer"} |
Total lock failures on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_lock_fail_per_sec | Locks failed (per second) on this ECP data server across all connections |
| iris_ecps_lock_grant
{id="appServer"} |
Total locks granted on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_lock_grant_per_sec | Locks granted (per second) on this ECP data server across all connections |
| iris_ecps_lock_que_fail
{id="appServer"} |
Total failures by this ECP data server to grant locks to queued process which are associated with the connected ECP application server appServer |
| iris_ecps_lock_que_fail_per_sec | Lock queue failures (per second) on this ECP data server across all connections |
| iris_ecps_lock_que_grant
{id="appServer"} |
Total locks granted by this ECP data server to queued processes which are associated with the connected ECP application server appServer |
| iris_ecps_lock_que_grant_per_sec | Queued locks granted (per second) on this ECP data server across all connections |
| iris_ecps_req_buff
{id="appServer"} |
Total buffer requests received by this ECP data server from the connected ECP application server appServer |
| iris_ecps_req_buff_per_sec | Buffer requests received (per second) by this ECP data server across all connections |
| iris_ecps_req_rcvd
{id="appServer"} |
Total requests received by this ECP data server from the connected ECP application server appServer |
| iris_ecps_req_rcvd_per_sec | Requests received (per second) by this ECP data server across all connections |
| iris_ecps_routine_purge
{id="appServer"} |
Total server routine purges on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_routine_purge_per_sec | Server routine purges (per second) on this ECP data server across all connections |
| iris_ecps_svr_block_purge
{id="appServer"} |
Total block purges on this ECP data server which are associated with its connection to the ECP application server appServer |
| iris_ecps_svr_block_purge_per_sec | Block purges (per second) on this ECP data server across all connections |
| iris_ecps_conn | Total active client connections to this ECP data server per second |
| iris_ecps_conn_max | Maximum active client connections to this ECP data server |
| Metric Name | Description |
|---|---|
| iris_directory_space
{id="database",dir="path"} |
Free space available on the database directory’s storage volume, in megabytes |
| iris_jrn_free_space
{id="JournalType",dir="path"} |
Free space available on each journal directory’s storage volume, in megabytes. JournalType can be WIJ, primary, or secondary |
| iris_jrn_size
{id="JournalType"} |
Current size of each journal file, in megabytes. JournalType can be WIJ, primary, or secondary |
| Metric Name | Description |
|---|---|
| iris_license_available | Number of licenses not currently in use |
| iris_license_consumed | Number of licenses currently in use |
| iris_license_days_remaining | Number of days before the InterSystems IRIS license expires. Supports up to one decimal place |
| iris_license_percent_used | Percent of licenses currently in use |
| Metric Name | Description |
|---|---|
| iris_page_space_percent_used | Percent of maximum allocated page file space used |
| iris_phys_mem_percent_used | Percent of physical memory (RAM) currently in use |
| Metric Name | Description |
|---|---|
| iris_mirror_failover_ready | On a failover mirror member, if the mirror is in a state where the backup should take over if the primary fails (1: Ready, 0: Not ready) |
| iris_mirror_member_type | Mirror member type of this instance (1: Indeterminate, 2: Not Member, 3: Failover, 4: Async, 5: Disaster Recovery, 6: Read-Only Reporting, 7: Read-Write Reporting) |
| iris_mirror_missing_databases | Databases in journal file but not configured locally |
| iris_mirror_status | The current status of this mirror member (1: Not Initialized, 2: Primary, 3: Backup, 4: Connected, 5: Transition, 6: Synchronizing, 7: Waiting, 8: Stopped, 9: Crashed) |
| iris_smh_total_percent_full | Percent of allocated shared memory in use for current instance |
| iris_smh_used
{id="purpose"} |
Shared memory in use by purpose, in kilobytes (For more information, including a list of identifiers for purpose, see Generic (Shared) Memory Heap Usage.) |
| Metric Name | Description |
|---|---|
| iris_cached_query_by_ns
{id="namespace"} |
Total number of cached queries in each namespace. |
| iris_cache_efficiency | Ratio of global references to physical reads and writes, as a percent |
| iris_glo_a_seize_per_sec | Number of Aseizes on the global resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_glo_n_seize_per_sec | Number of Nseizes on the global resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_glo_ref_per_sec | Number of references to globals located on local databases per second |
| iris_glo_ref_rem_per_sec | Number of references to globals located on remote databases per second |
| iris_glo_seize_per_sec | Number of seizes on the global resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_glo_update_per_sec | Number of updates (SET and KILL commands) to globals located on local databases per second |
| iris_glo_update_rem_per_sec | Number of updates (SET and KILL commands) to globals located on remote databases per second |
| iris_jrn_block_per_sec | Journal blocks written to disk per second |
| iris_log_reads_per_sec | Logical reads per second |
| iris_obj_a_seize_per_sec | Number of Aseizes on the object resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_obj_del_per_sec | Number of objects deleted per second |
| iris_obj_hit_per_sec | Number of object references per second, in process memory |
| iris_obj_load_per_sec | Number of objects loaded from disk per second, not in shared memory |
| iris_obj_miss_per_sec | Number of object references not found in memory per second |
| iris_obj_new_per_sec | Number of objects initialized per second |
| iris_obj_seize_per_sec | Number of seizes on the object resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_phys_reads_per_sec | Physical database blocks read from disk per second |
| iris_phys_writes_per_sec | Physical database blocks written to disk per second |
| iris_rtn_a_seize_per_sec | Number of Aseizes on the routine resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_rtn_call_local_per_sec | Number of local routine calls per second to globals located on remote databases per second |
| iris_rtn_call_miss_per_sec | Number of routines calls not found in memory per second |
| iris_rtn_call_remote_per_sec | Number of remote routine calls per second |
| iris_rtn_count_by_ns
{id="namespace"} |
Total number of routines in each namespace |
| iris_rtn_load_per_sec | Number of routines locally loaded from or saved to disk per second |
| iris_rtn_load_rem_per_sec | Number of routines remotely loaded from or saved to disk per second |
| iris_rtn_seize_per_sec | Number of seizes on the routine resource per second (see Considering Seizes, ASeizes, and NSeizes) |
| iris_wij_writes_per_sec | WIJ physical block writes per second |
| Metric Name | Description |
|---|---|
| iris_process_count | Total number of active InterSystems IRIS processes |
| iris_process
{id="pid",state="stateCode", waitstate="waitCode", jobtype="typeCode", clientname="nameOrAddress", namespace="ns", routine="routName"} |
The state of the process identified by pid. The labels provide the following information about the process:
|
| iris_process_block_allocs
{id="pid"} |
Number of database blocks which have been newly allocated due to the process identified by pid |
| iris_process_block_writes
{id="pid"} |
Number of database blocks which have been queued to be written to by the process identified by pid |
| iris_process_commands
{id="pid"} |
Number of ObjectScript commands which have been executed by the process identified by pid |
| iris_process_glo_refs
{id="pid"} |
Number of global references which have been made by the process identified by pid |
| iris_process_jrn_entries
{id="pid"} |
Number of journal entries which have been made as a result of the process identified by pid |
| iris_process_ppg_size_mb
{id="pid"} |
Total size (in megabytes) of private global blocks which are in use by the process identified by pid |
| iris_process_phys_reads
{id="pid"} |
Number of physical database blocks which have been read by the process identified by pid |
| Metric Name | Description |
|---|---|
| iris_smh_available
{id="purpose"} |
Shared memory available by purpose, in kilobytes (For more information, including a list of identifiers for purpose, see Generic (Shared) Memory Heap Usage.) |
| iris_smh_percent_full
{id="purpose"} |
Percent of allocated shared memory in use by purpose (For more information, including a list of identifiers for purpose, see Generic (Shared) Memory Heap Usage.) |
| iris_smh_total | Shared memory allocated for current instance, in kilobytes |
| Metric Name | Description |
|---|---|
| iris_sql_active_queries
{id="namespace"} |
The number of SQL statements currently executing |
| iris_sql_active_queries_95_percentile
{id="namespace"} |
For the current set of active SQL statements, the 95th percentile elapsed time since a statement began executing |
| iris_sql_active_queries_99_percentile
{id="namespace"} |
For the current set of active SQL statements, the 99th percentile elapsed time since a statement began executing |
| iris_sql_commands_per_second
{id="namespace"} |
Average number of ObjectScript commands executed to perform SQL queries, per second |
| iris_sql_queries_avg_runtime
{id="namespace"} |
Average SQL statement runtime, in seconds |
| iris_sql_queries_avg_runtime_std_dev
{id="namespace"} |
Standard deviation of the average SQL statement runtime |
| iris_sql_queries_per_second
{id="namespace"} |
Average number of SQL statements, per second |
| Metric Name | Description |
|---|---|
| iris_trans_open_count | Number of open transactions on the current instance |
| iris_trans_open_secs | Average duration of open transactions on the current instance, in seconds |
| iris_trans_open_secs_max | Duration of longest currently open transaction on the current instance, in seconds |
| Metric Name | Description |
|---|---|
| iris_iju_count | Number of currently in-progress update jobs upon which the write daemon is waiting in order to continue its current cycle |
| iris_iju_lock | Whether updates are currently locked to allow the write daemon to finalize its current cycle. (1: locked, 0: not locked) |
| iris_wd_buffer_redirty | Number of database buffers the write daemon wrote during the most recent cycle that were also written in prior cycle |
| iris_wd_buffer_write | Number of database buffers the write daemon wrote during its most recent cycle |
| iris_wd_condition | Whether some set or kill operations are currently being prevented from proceeding. 0 indicates that no block exists. An integer greater than 0 indicates that a block exists; the specific integer value provides diagnostic information about the conditions which have caused the block, for internal purposes. |
| iris_wd_cycle_time | Amount of time the most recent write daemon cycle took to complete, in milliseconds |
| iris_wd_pass | Number of write daemon cycles (including the current one) which have occurred since instance startup |
| iris_wd_phase | The current phaseOpens in a new tab of the write daemon, represented by an integer value. Common phases include:
|
| iris_wd_proc_in_global | Number of processes actively holding global buffers at start of the most recent write daemon cycle |
| iris_wd_size_write | Size of database buffers the write daemon wrote during its most recent cycle, in kilobytes |
| iris_wd_sleep | Amount of time that the write daemon was inactive before its most recent cycle began, in milliseconds |
| iris_wd_suspended | Whether the write daemon is currently suspended. (1: suspended, 0: not suspended) |
| iris_wd_temp_queue | Number of in-memory buffers the write daemon used at the start of its most recent cycle |
| iris_wd_temp_write | Number of in-memory buffers the write daemon wrote during its most recent cycle |
| iris_wdwij_time | Amount of time the write daemon spent writing to the WIJ file during its most recent cycle, in milliseconds |
| iris_wd_write_time | Amount of time the write daemon spent writing buffers to databases during its most recent cycle, in milliseconds |
| Metric Name | Description |
|---|---|
| iris_wqm_active_worker_jobs
{id="category"} |
Average number of worker jobs running logic that are not blocked |
| iris_wqm_commands_per_sec
{id="category"} |
Average number of commands executed in this Work Queue Management category, per second |
| iris_wqm_globals_per_sec
{id="category"} |
Average number of global references run in this Work Queue Management category, per second |
| iris_wqm_max_active_worker_jobs
{id="category"} |
Maximum number of active workers since the last log entry was recorded |
| iris_wqm_max_work_queue_depth
{id="category"} |
Maximum number of entries in the queue of this Work Queue Management category since the last log |
| iris_wqm_waiting_worker_jobs
{id="category"} |
Average number of idle worker jobs waiting for a group to connect to and do work for |