Skip to main content

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

Note:

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.

Metrics Which Are Always Collected
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.)
CPU
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
CSPGateway
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
Database
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
Diagnostic
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
ECP
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
Journal
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
License
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
Memory
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
Mirrors
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.)
Performance
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
Process
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
SharedMemory
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
SQL
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
Transactions
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
WriteDemon
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:
  • 0: the write daemon is idle

  • 5: the write daemon is updating the WIJ file

  • 7: the write daemon is committing changes to the WIJ file and the journal

  • 8: the write daemon is updating databases

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
Wqm
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
FeedbackOpens in a new tab