Transformer Prometheus metrics

This page lists the Prometheus metrics published by Transformer.

Prometheus metrics are not published by default. To enable this feature, see Publishing DataSource metrics in Prometheus format.

This feature requires Transformer 8.0.0 or higher.

Process metrics

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

These metrics are only available on RHEL builds of Transformer.

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

transformer_process_fds

Number of file descriptors the process has open.

Type: Gauge

Labels

type

File descriptor type. Possible values: non_socket_fds, socket_fds

transformer_process_uptime_seconds_total

Process uptime in seconds.

Type: Counter

transformer_process_cputime_seconds_total

Process total CPU time in seconds.

Type: Counter

Labels

type

CPU time type. Possible values: user, system

transformer_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

transformer_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

transformer_process_total_cpu_usage_percentage

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

This percentage can be greater than 100% if the DataSource is running with a system that has more than one core.

Type: Gauge

Since: DSDK 8.0.12

transformer_process_num_cpus_total

The number of cores on the server.

Type: Counter

Since: DSDK 8.0.12

transformer_process_thread_cpu_usage_percentage

Average CPU percentage used by the Caplin DataSource thread in the previous 500 milliseconds.

This metric is only provided for Caplin DataSource threads. It is not provided for threads started by third-party libraries - for instance any threads started by a JVM if the DataSource loads one.

Type: Gauge

Since: DSDK 8.0.5

Labels

thread_name

the name of the DataSource thread

DataSource peer metrics

Transformer publishes the following metrics on connected DataSource peers.

transformer_peer_bytes_read_total

Total number of bytes read across all peer connections.

Type: Counter

Labels

remote_label

the label of the DataSource peer

transformer_peer_bytes_written_total

Total number of bytes written across all peer connections.

Type: Counter

Labels

remote_label

the label of the DataSource peer

transformer_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

transformer_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

transformer_peer_pingpong_time_milliseconds

Average of the last ten heartbeat round-trip times.

Type: Gauge

Labels

remote_label

the label of the DataSource peer

transformer_peer_status

Status of the peer connection.

Type: Gauge

Since: DSDK 8.0.8

Values:

0

Peer connection is down

1

Peer connection is up

Labels

remote_label

the label of the DataSource peer

transformer_peer_active_subscriptions

Number of active subscriptions for the peer.

Type: Gauge

Since: DSDK 8.0.8

Labels

remote_label

the label of the DataSource peer

Data service metrics

Transformer publishes the following metrics for each data service.

transformer_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

transformer_data_service_bytes_read_total

The total number of bytes read from a data service.

Type: Counter

Labels

service_name

the data-service name

transformer_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

transformer_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

transformer_data_service_subscriptions

The number of open subscriptions associated with a data service.

Type: Gauge

Labels

service_name

the data-service name

transformer_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.

Transformer version metrics

Transformer also publishes the following metrics:

transformer_binary_info

Transformer version and host name information.

Type: Gauge

Since: Transformer 8.0.4

Labels

version

Transformer version

date

The date on which the Transformer was built

dsdk_version

Version of the Transformer’s

dsdk_date

The date on which the DSDK was built

hostname

Host name of the server that the Transformer is running

This metric is provided to allow version information to be monitored. The version information is in the label values and the metric value itself is irrelevant.

See also: