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 Publishing DataSource metrics in Prometheus format.
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
.
Java DataSource: 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
Java 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_discard.average
-
[gauge] Average duration of discarded requests from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
. - appname_discard.count
-
[counter] Total number of discarded requests from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
. - appname_discard.max
-
[gauge] Duration in milliseconds of the longest discarded request from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
. - appname_executor.queue.length
-
[counter] Total number of requests from a DataSource peer that are pending execution. To configure the update frequency for this metric, see
peer-debug-metrics-interval
. - appname_netty.bytes.before.writable
-
[gauge] [Netty] How many bytes remain in underlying buffers until a thread can begin to process queued requests. See
Channel.bytesBeforeWritable()
for more information. To configure the update frequency for this metric, seepeer-debug-metrics-interval
. - appname_netty.bytes.before.unwritable
-
[gauge] [Netty] How many bytes can be written to underlying buffers until a thread must add new requests to the queue rather than process them immediately. See
Channel.bytesBeforeUnwritable()
for more information. To configure the update frequency for this metric, seepeer-debug-metrics-interval
. - 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).
- appname_request.average
-
[gauge] Average duration of requests from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
. - appname_request.count
-
[counter] Total number of requests made from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
. - appname_request.max
-
[gauge] Duration in milliseconds of the longest request from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
.
See also: