DataSource Prometheus metrics

This page lists the Prometheus metrics published by DataSource applications.

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

DataSource for C (DSDK) metrics

This section describes Prometheus metrics published by all C DataSource applications, including Liberator, Transformer, and the TREP Adapter, when prometheus-port is set.

This feature requires DataSource for C 7.1.16+ (Liberator 7.1.15+, Transformer 7.1.10+, TREP Adapter 7.1.3+).

The Prometheus metrics endpoint URI is /metrics.

For descriptions of additional metrics published by specific C DataSource applications, see the links below:

Process metrics

C DataSource applications publish the following metrics on the operating system process that runs the DataSource.

These metrics are only available on RHEL builds of C DataSources.

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

C DataSources publish the following CPU, memory, and process metrics, where appname is the name of the DataSource application, as defined by the application-name configuration item.

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

Metrics for DataSource peer connections, where appname is the name of the DataSource application, as defined by the application-name configuration item.

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

C DataSources publish the following metrics for each data service, where appname is the name of the DataSource application as defined by application-name 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.

DataSource for Java metrics

Prometheus metrics published by all Java DataSources (7.1.14+) when prometheus-port is set.

The Prometheus metrics endpoint URI is /metrics. This can be customised for Java DataSources; see prometheus-endpoint.

JVM metrics

Metrics for the Java virtual machine (JVM) running the DataSource.

jvm_buffer_count_buffers

[gauge] An estimate of the number of buffers in the pool.

jvm_buffer_memory_used_bytes

[gauge] An estimate of the memory that the Java virtual machine is using for this buffer pool

Tags for jvm_buffer_memory_used_bytes:

  • id="direct"

  • id="mapped"

jvm_buffer_total_capacity_bytes

[gauge] An estimate of the total capacity of the buffers in this pool

jvm_gc_live_data_size_bytes

[gauge] Size of old generation memory pool after a full GC

jvm_gc_max_data_size_bytes

[gauge] Max size of old generation memory pool

jvm_gc_memory_allocated_bytes_total

[counter] Incremented for an increase in the size of the young generation memory pool after one GC to before the next

jvm_gc_memory_promoted_bytes_total

[counter] Count of positive increases in the size of the old generation memory pool before GC to after GC

jvm_gc_pause_seconds

[summary] Time spent in GC pause

Tags for jvm_gc_pause_seconds_count:

  • action="end of major GC", cause="Metadata GC Threshold"

  • action="end of minor GC", cause="Metadata GC Threshold"

  • action="end of minor GC", cause="Allocation Failure"

Tags for jvm_gc_pause_seconds_sum:

  • action="end of major GC", cause="Metadata GC Threshold"

  • action="end of minor GC", cause="Metadata GC Threshold"

  • action="end of minor GC", cause="Allocation Failure"

jvm_gc_pause_seconds_max

[gauge] Time spent in GC pause

Tags for jvm_gc_pause_seconds_max:

  • action="end of major GC", cause="Metadata GC Threshold"

  • action="end of minor GC", cause="Metadata GC Threshold"

  • action="end of minor GC", cause="Allocation Failure"

jvm_memory_committed_bytes

[gauge] The amount of memory in bytes that is committed for the Java virtual machine to use

Tags for jvm_memory_committed_bytes:

  • area="heap", id="PS Survivor Space"

  • area="heap", id="PS Old Gen"

  • area="heap", id="PS Eden Space

  • area="nonheap", id="Metaspace"

  • area="nonheap", id="Code Cache"

  • area="nonheap", id="Compressed Class Space"

jvm_memory_max_bytes

[gauge] The maximum amount of memory in bytes that can be used for memory management

Tags for jvm_memory_max_bytes:

  • area="heap", id="PS Survivor Space"

  • area="heap", id="PS Old Gen"

  • area="heap", id="PS Eden Space

  • area="nonheap", id="Metaspace"

  • area="nonheap", id="Code Cache"

  • area="nonheap", id="Compressed Class Space"

jvm_memory_used_bytes

[gauge] The amount of used memory

jvm_threads_daemon_threads

[gauge] The current number of live daemon threads

jvm_threads_live_threads

[gauge] The current number of live threads including both daemon and non-daemon threads

jvm_threads_peak_threads

[gauge] The peak live thread count since the Java virtual machine started or peak was reset

jvm_threads_states_threads

[gauge] The current number of threads having NEW state

Tags for jvm_threads_states_threads:

  • state="runnable"

  • state="blocked"

  • state="waiting"

  • state="time-waiting"

  • state="new"

  • state="terminated"

process_cpu_usage

[gauge] The "recent cpu usage" for the Java Virtual Machine process

process_start_time_seconds

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

process_uptime_seconds

[gauge] The uptime of the Java virtual machine

system_cpu_count

[gauge] The number of processors available to the Java virtual machine

system_cpu_usage

[gauge] The "recent cpu usage" for the whole system

system_load_average_1m

[gauge] The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time

DataSource peer metrics

Metrics for DataSource peer connections, where appname is the name of the DataSource application, as defined by the application-name configuration item.

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 (sample period: 1 second).

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 (sample period: 1 second).

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 (sample period: 1 second).

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 (sample period: 1 second).


See also: