# 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](../datasource/datasource-configure-prometheus-monitoring.md#datasource).

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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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`](../datasource/datasource-datasource-monitoring-configuration-part-1.md#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`](../datasource/datasource-datasource-monitoring-configuration-part-1.md#process-usage-period) (default 10 seconds).

  **📌 NOTE**\
  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.

  **📌 NOTE**\
  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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | remote_label | the label of the DataSource peer |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | remote_label | the label of the DataSource peer |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | remote_label | the label of the DataSource peer |

## Data service metrics

Transformer publishes the following metrics for each [data service](../datasource/datasource-data-services.md).

* **transformer_data_service_messages_read_total**

  The total number of messages read from a data service.

  **Type:** Counter

  **Labels**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | service_name | the data-service [name](../datasource/datasource-data-services-configuration.md#service-name) |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | service_name | the data-service [name](../datasource/datasource-data-services-configuration.md#service-name) |
* **transformer_data_service_bytes_written_total**

  The total number of bytes written to a data service (contributions).

  **Type:** Counter

  **Labels**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | service_name | the data-service [name](../datasource/datasource-data-services-configuration.md#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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | service_name | the data-service [name](../datasource/datasource-data-services-configuration.md#service-name) |
* **transformer_data_service_subscriptions**

  The number of open subscriptions associated with a data service.

  **Type:** Gauge

  **Labels**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | service_name | the data-service [name](../datasource/datasource-data-services-configuration.md#service-name) |
* **transformer_data_service_response_time_milliseconds**

  The time taken for data services to respond to the first subscription request.

  **Type:** Histogram

  **Labels**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | 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**

  |     |     |     |
  | --- | --- | --- |
  | icon:tag[] | version | Transformer version |
  | icon:tag[] | date | The date on which the Transformer was built |
  | icon:tag[] | dsdk_version | Version of the Transformer’s |
  | icon:tag[] | dsdk_date | The date on which the DSDK was built |
  | icon:tag[] | hostname | Host name of the server that the Transformer is running |

  **📌 NOTE**\
  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:**

* [Liberator Prometheus metrics](../liberator/liberator-prometheus-metrics.md)
* [DataSource Prometheus metrics](../datasource/datasource-prometheus-metrics.md)
