Liberator Prometheus metrics

This page lists the Prometheus metrics published by Liberator.

Prometheus metrics are not published by default. To enable this feature, see the documentation for the prometheus-port configuration item.

This feature requires Liberator 7.1.15 or higher.

Process metrics

Liberator publishes the following metrics on the operating-system process that runs Liberator.

These metrics are only available on RHEL builds of Liberator.

process_cpu_seconds_total

[gauge] Total user and system CPU time spent in seconds.

process_max_fds

[gauge] Maximum number of open file descriptors.

process_open_fds

[gauge] Number of open file descriptors.

process_start_time_seconds

[gauge] Start time of the process since the unix epoch in seconds.

process_virtual_memory_bytes

[gauge] Virtual memory size in bytes.

process_virtual_memory_max_bytes

[gauge] Maximum amount of virtual memory available in bytes.

System metrics

Liberator publishes the following CPU, memory, and process metrics, where appname is Liberator’s application name, as defined by the application-name configuration item (defaults to rttpd).

appname_system_cputime_total

[gauge] The total amount of time (seconds) the CPU has spent running the DataSource process. This value is the sum of appname_system_system_cputime_total and appname_system_user_cputime_total.

appname_system_system_cputime_total

[gauge] The total amount of time (seconds) the CPU has spent running kernel-space code for the DataSource process.

appname_system_user_cputime_total

[gauge] The total amount of time (seconds) the CPU has spent running user-space code for the DataSource process.

appname_system_process_uptime

[gauge] Elapsed 'wall clock' time (seconds) since the DataSource process was started.

appname_system_memory_usage

[gauge] The total amount of virtual memory (kilobytes) used by the DataSource process, as reported by the VmRSS value in /proc/<pid>/status.

appname_system_cpu_usage

[gauge] Average CPU percentage used by the DataSource process in the period configured by the configuration option process-usage-period (default 10 seconds).

DataSource peer metrics

Liberator publishes the following metrics on connected DataSource peers, where where appname is Liberator’s application name as defined by the application-name configuration item (defaults to rttpd).

appname_peer_global_bytes_read

[gauge] Total number of bytes read from all peer connections.

appname_peer_global_bytes_read_rate

[gauge] The rate data is received (bytes/second) from all peer connections, measured over the sample period defined by peer-monitor-interval.

appname_peer_global_bytes_written

[gauge] Total number of bytes written to peer connections.

appname_peer_global_bytes_written_rate

[gauge] The rate data is written (bytes/second) to all peer connections, measured over the sample period defined by peer-monitor-interval.

appname_peer_global_messages_read

[gauge] Total number of messages read from peer connections.

appname_peer_global_messages_read_rate

[gauge] The rate messages are received (messages/second) from all peer connections, measured over the sample period defined by peer-monitor-interval.

appname_peer_global_messages_written

[gauge] Total number of messages written to peer connections.

appname_peer_global_messages_written_rate

[gauge] The rate messages are written (messages/second) to all peer connections, measured over the sample period defined by peer-monitor-interval.

Data service metrics

Liberator publishes the following metrics for each data service, where appname is Liberator’s application name as defined by application-name (defaults to rttpd) and servicename is the name of the data service.

appname_service_servicename_average_response_time

[gauge] The average time (milliseconds) taken for the data service to respond to a subscription request, measured over the sample period defined by peer-monitor-interval.

appname_service_servicename_bytes_read

[gauge] Total number of bytes read from the data service.

appname_service_servicename_bytes_read_rate

[gauge] The rate at which data is received (bytes/second) from the data service, measured over the sample period defined by peer-monitor-interval.

appname_service_servicename_bytes_written

[gauge] Total number of bytes written to the data service.

appname_service_servicename_bytes_written_rate

[gauge] The rate at which data is written (bytes/second) to the data service, measured over the sample period defined by peer-monitor-interval.

appname_service_servicename_messages_read

[gauge] The total number of messages received from the data service.

appname_service_servicename_messages_read_rate

[gauge] The rate at which messages are received (messages/second) from the data service, measured over the sample period defined by peer-monitor-interval.

appname_service_servicename_messages_written

[gauge] The total number of messages written to the data service.

appname_service_servicename_messages_written_rate

[gauge] The rate at which messages are written (messages/second) to the data service, measured over the sample period defined by peer-monitor-interval.

appname_service_servicename_response_time

[gauge] The time taken (seconds) for the data service to respond to the first subscription request. This value only changes if the object is discarded and requested again.

appname_service_servicename_state

[gauge] The state of the data service. It has two possible values: 1 for up, 0 for down.

User metrics

Liberator publishes the following metrics for users, where appname is Liberator’s application name as defined by application-name (defaults to rttpd).

appname_user_global_login_fail

[counter] The total number of failed logins.

appname_user_global_read_fail

[counter] The total number of failed reads.

appname_user_global_write_fail

[counter] The total number of failed writes.

appname_user_global_users

[gauge] The total number of live RTTP sessions. Equal to appname_session_global_logged_in. Equal to or greater than appname_user_global_unique_users, depending on the number of live RTTP sessions per user account.

appname_user_global_unique_users

[gauge] The total number of user accounts with one or more live RTTP sessions. Equal to or less than appname_user_global_users, depending on the number of live RTTP sessions per user account.

RTTP session metrics

Liberator publishes the following metrics for RTTP sessions, where appname is Liberator’s application name as defined by application-name (defaults to rttpd).

appname_session_global_bytes_read

[gauge] Total number of bytes Liberator has read from all RTTP sessions.

appname_session_global_bytes_read_rate

[gauge] The rate at which Liberator reads data (bytes/second) from all RTTP sessions, measured over the sample period defined by session-monitoring-interval.

appname_session_global_bytes_written

[gauge] Total number of bytes that Liberator has written to all RTTP sessions. This metric is measured before the application of optional protocol compression (see http-extensions).

appname_session_global_bytes_written_rate

[gauge] The rate at which Liberator writes data (bytes/second) to all RTTP sessions, measured over the sample period defined by session-monitoring-interval. This metric is measured before the application of optional protocol compression (see http-extensions).

appname_session_global_bytes_written_actual

[gauge] Total number of bytes Liberator has written to all RTTP sessions. This metric is measured after the application of optional protocol compression (see http-extensions).

appname_session_global_bytes_written_actual_rate

[gauge] The rate at which Liberator writes data (bytes/second) to all RTTP sessions, measured over the sample period defined by session-monitoring-interval. This metric is measured after the application of optional protocol compression (see http-extensions).

appname_session_global_contribs

[gauge] The total number of RTTP contributions received by Liberator across all RTTP sessions.

appname_session_global_contribs_rate

[gauge] The rate at which Liberator receives RTTP contributions (contributions/second) across all RTTP sessions, measured over the sample period defined by session-monitoring-interval.

appname_session_global_count

[gauge] The total number of RTTP sessions, including sessions that are not logged in. Compare with appname_session_global_logged_in.

appname_session_global_discards

[gauge] The total number of objects discarded by Liberator across all RTTP sessions.

appname_session_global_discards_rate

[gauge] The rate at which Liberator discards objects (objects/second) across all RTTP sessions.

appname_session_global_logged_in

[gauge] The total number of logged in sessions.

appname_session_global_requests

[gauge] The total number of subject requests received by Liberator across all RTTP sessions.

appname_session_global_requests_rate

[gauge] The rate at which Liberator receives subject requests (subjects/second) across all RTTP sessions, measured over the sample period defined by session-monitoring-interval.

appname_session_global_updates

[gauge] The total number of updates sent by Liberator to all RTTP sessions.

appname_session_global_updates_rate

[gauge] The rate at which Liberator sends updates (updates/second) to all RTTP sessions, measured over the sample period defined by session-monitoring-interval.

appname_session_global_duration

[gauge] Cumulative duration of all RTTP sessions. The duration of an RTTP session is added to this total when the session is removed.