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.
C and .NET DataSource metrics
This section describes Prometheus metrics published by .NET DataSource 8.0.0 applications and C DataSource 8.0.0+ applications.
Prometheus metrics are disabled by default. To enable Prometheus metrics in your DataSource application, set prometheus-port
to a free port on the host.
The Prometheus metrics endpoint URI is /metrics
.
For descriptions of additional metrics published by specific C DataSource applications, see the links below:
C and .NET: process metrics
C and .NET DataSource applications publish the following metrics on the operating system process that runs the DataSource.
- process_cpu_seconds_total
-
Total user and system CPU time spent in seconds.
Type: Gauge
- process_max_fds
-
The maximum number of file descriptors the process may have open (set by
ulimit
on Linux).Type: Gauge
- process_open_fds
-
Number of file descriptors the process has open.
Type: Gauge
- process_resident_memory_bytes
-
Resident memory size in bytes.
Type: Gauge
- process_start_time_seconds
-
Start time of the process (number of seconds since the start of the Unix epoch).
Type: Gauge
- process_virtual_memory_bytes
-
Virtual memory size in bytes.
Type: Gauge
- process_virtual_memory_max_bytes
-
Maximum amount of virtual memory available in bytes.
Type: Gauge
- dsdk_process_fds
-
Number of file descriptors the process has open.
Type: Gauge
Labels type
File descriptor type. Possible values:
non_socket_fds
,socket_fds
- dsdk_process_uptime_seconds_total
-
Process uptime in seconds.
Type: Counter
- dsdk_process_cputime_seconds_total
-
Process total CPU time in seconds.
Type: Counter
Labels type
CPU time type. Possible values:
user
,system
- dsdk_process_delayed_threads
-
Count of delayed threads that have been delayed for 5 seconds or more. Delayed threads are an indication that the DataSource is under high load or that threads have locked up.
Type: Gauge
- dsdk_process_cpu_usage_percentage
-
Average CPU percentage used by the DataSource process in the period configured by the configuration option
process-usage-period
(default 10 seconds).Type: Gauge
C and .NET: DataSource peer metrics
Metrics for DataSource peer connections.
- dsdk_peer_bytes_read_total
-
Total number of bytes read across all peer connections.
Type: Counter
Labels remote_label
the label of the DataSource peer
- dsdk_peer_bytes_written_total
-
Total number of bytes written across all peer connections.
Type: Counter
Labels remote_label
the label of the DataSource peer
- dsdk_peer_messages_read_total
-
Total number of messages read across all peer connections.
Type: Counter
Labels remote_label
the label of the DataSource peer
message_type
the type of DataSource message. Possible values:
status
,update
- dsdk_peer_messages_written_total
-
Total number of messages written across all peer connections.
Type: Counter
Labels remote_label
the label of the DataSource peer
message_type
the type of DataSource message. Possible values:
request
,discard
- dsdk_peer_pingpong_time_milliseconds
-
Average of the last ten heartbeat round-trip times.
Type: Gauge
Labels remote_label
the label of the DataSource peer
C: DataSource data-service metrics
C DataSources publish the following metrics for each data service.
- dsdk_data_service_messages_read_total
-
The total number of messages read from a data service.
Type: Counter
Labels service_name
the data-service name
message_type
the type of message received. Possible values:
update
,map
,nodata
- dsdk_data_service_bytes_read_total
-
The total number of bytes read from a data service.
Type: Counter
Labels service_name
the data-service name
- dsdk_data_service_bytes_written_total
-
The total number of bytes written to a data service (contributions).
Type: Counter
Labels service_name
the data-service name
- dsdk_data_service_state
-
The state of a labelled data service. It has two possible values:
1
for up,0
for down.Type: Gauge
Labels service_name
the data-service name
- dsdk_data_service_subscriptions
-
The number of open subscriptions associated with a data service.
Type: Gauge
Labels service_name
the data-service name
- dsdk_data_service_response_time_milliseconds
-
The time taken for data services to respond to the first subscription request.
Type: Histogram
Labels le
the upper-bound of a histogram bucket. Possible values:
1.0
,10.0
,20.0
,30.0
,50.0
,100.0
,200.0
,300.0
,500.0
,1000.0
,+Inf
Java DataSource metrics
This section describes Prometheus metrics published by all Java DataSources (8.0.0+) when prometheus-port
is set.
The Prometheus metrics endpoint URI is /metrics
. This can be customised for Java DataSources; see prometheus-endpoint
.
Java: process metrics
Metrics for the Java virtual machine (JVM), process, and system running the DataSource.
The JVM metrics available may differ depending on the JVM and garbage collector.
- jvm_buffer_count_buffers
-
An estimate of the number of buffers in the pool.
Type: Gauge
Labels app_name
DataSource application name
id
Buffer identifier. Examples: 'direct', 'mapped'.
- jvm_buffer_memory_used_bytes
-
An estimate of the memory that the Java virtual machine is using for this buffer pool.
Type: Gauge
Labels app_name
DataSource application name
id
Buffer identifier. Examples: 'direct', 'mapped'.
- jvm_buffer_total_capacity_bytes
-
An estimate of the total capacity of the buffers in this pool.
Type: Gauge
Labels app_name
DataSource application name
id
Buffer identifier. Examples: 'direct', 'mapped'.
- jvm_gc_live_data_size_bytes
-
Size of old generation memory pool after a full GC.
Type: Gauge
Labels app_name
DataSource application name
- jvm_gc_max_data_size_bytes
-
- jvm_gc_memory_allocated_bytes_total
-
Incremented for an increase in the size of the young generation memory pool after one GC to before the next.
Type: Counter
Labels app_name
DataSource application name
- jvm_gc_memory_promoted_bytes_total
-
Count of positive increases in the size of the old generation memory pool before GC to after GC.
Type: Counter
Labels app_name
DataSource application name
- jvm_gc_pause_seconds
-
Time spent in GC pause.
Type: Summary
Labels action
end of major GC
,end of minor GC
cause
Metadata GC Threshold
,Allocation Failure
- jvm_gc_pause_seconds_max
-
Time spent in GC pause
Type: Gauge
Labels action
end of major GC
,end of minor GC
cause
Metadata GC Threshold
,Allocation Failure
- jvm_memory_committed_bytes
-
The amount of memory in bytes that is committed for the Java virtual machine to use
Type: Gauge
Labels app_name
DataSource application name
area
heap
,nonheap
id
memory block identifier. Examples: "G1 Eden Space", "G1 Old Gen"
- jvm_memory_max_bytes
-
The maximum amount of memory in bytes that can be used for memory management
Type: Gauge
Labels app_name
DataSource application name
area
heap
,nonheap
id
memory block identifier. Examples: "G1 Eden Space", "G1 Old Gen"
- jvm_memory_used_bytes
-
The amount of used memory.
Type: Gauge
Labels app_name
DataSource application name
area
heap
,nonheap
id
memory block identifier. Examples: "G1 Eden Space", "G1 Old Gen"
- jvm_threads_daemon_threads
-
- jvm_threads_live_threads
-
The current number of live threads including both daemon and non-daemon threads.
Type: Gauge
Labels app_name
DataSource application name
- jvm_threads_peak_threads
-
The peak live thread count since the Java virtual machine started or peak was reset.
Type: Gauge
Labels app_name
DataSource application name
- jvm_threads_states_threads
-
The current number of threads having NEW state.
Type: Gauge
Labels app_name
DataSource application name
state
runnable
,blocked
,waiting
,timed-waiting
,new
,terminated
- process_cpu_usage
-
The "recent cpu usage" for the Java Virtual Machine process.
Type: Gauge
Labels app_name
DataSource application name
- process_start_time_seconds
-
- process_uptime_seconds
-
- system_cpu_count
-
The number of processors available to the Java virtual machine.
Type: Gauge
Labels app_name
DataSource application name
- system_cpu_usage
-
The "recent cpu usage" for the whole system.
Type: Gauge
Labels app_name
DataSource application name
- system_load_average_1m
-
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.
Type: Gauge
Labels app_name
DataSource application name
Java: DataSource metrics
Metrics for Java DataSources.
- datasource_cached_publisher_subscriptions
-
Type: Gauge
Labels app_name
DataSource application name
name
Cached publisher identifier
- datasource_cached_publisher_messages_total
-
Type: Gauge
Labels app_name
DataSource application name
name
Cached publisher identifier
- datasource_system_threads_delayed
-
Count of delayed threads that have been delayed for 5 seconds or more. Delayed threads are an indication that the DataSource is under high load or that threads have locked up.
Type: Gauge
Labels app_name
DataSource application name
Java: DataSource peer metrics
Metrics for Java DataSource peer connections.
- datasource_bytes_read
-
Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_bytes_written
-
Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_discard_average
-
Average duration of discarded requests from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
.Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_discard_count
-
Total number of discarded requests from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
.Type: Counter
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_discard_max
-
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
.Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_executor_queue_length
-
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
.Type: Counter
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_messages_read
-
Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_netty_bytes_before_writable
-
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
.Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_netty_bytes_before_unwritable
-
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
.Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_messages_written
-
Total number of messages written to a specific DataSource peer.
Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_ping_pong_time
-
Average of the last ten heartbeat round-trip times.
Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_request_average
-
Average duration of requests from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
.Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_request_count
-
Total number of requests made from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
.Type: Counter
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
- datasource_request_max
-
Duration in milliseconds of the longest request from a DataSource peer. To configure the update frequency for this metric, see
peer-debug-metrics-interval
.Type: Gauge
Labels app_name
DataSource application name
peer_name
DataSource peer identifier
See also: