# 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 7.1.10 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**\
[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

Transformer publishes the following CPU, memory, and process metrics, where _appname_ is Transformer’s application name, as defined by the [`application-name`](../datasource/datasource-run-time-environment-configuration.md#application-name) configuration item (defaults to `transformer`).

* **transformer_system_cputime_total**\
[gauge] The total amount of time (seconds) the CPU has spent running the DataSource process. This value is the sum of **transformer_system_system_cputime_total** and **transformer_system_user_cputime_total**.
* **transformer_system_system_cputime_total**\
[gauge] The total amount of time (seconds) the CPU has spent running kernel-space code for the DataSource process.
* **transformer_system_user_cputime_total**\
[gauge] The total amount of time (seconds) the CPU has spent running user-space code for the DataSource process.
* **transformer_system_process_uptime**\
[gauge] Elapsed 'wall clock' time (seconds) since the DataSource process was started.
* **transformer_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`.
* **transformer_system_cpu_usage**\
[gauge] 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).

## DataSource peer metrics

Transformer publishes the following metrics on connected DataSource peers, where where _appname_ is Transformer’s application name as defined by the [`application-name`](../datasource/datasource-run-time-environment-configuration.md#application-name) configuration item (defaults to `transformer`).

* **transformer_peer_global_bytes_read**\
[gauge] Total number of bytes read from all peer connections.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_peer_global_bytes_written**\
[gauge] Total number of bytes written to peer connections.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_peer_global_messages_read**\
[gauge] Total number of messages read from peer connections.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_peer_global_messages_written**\
[gauge] Total number of messages written to peer connections.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).

## Data service metrics

Transformer publishes the following metrics for each [data service](../datasource/datasource-data-services.md), where _appname_ is Transformer’s application name as defined by [`application-name`](../datasource/datasource-run-time-environment-configuration.md#application-name) (defaults to `transformer`) and `servicename` is the name of the data service.

* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_service___servicename___bytes_read**\
[gauge] Total number of bytes read from the data service.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_service___servicename___bytes_written**\
[gauge] Total number of bytes written to the data service.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_service___servicename___messages_read**\
[gauge] The total number of messages received from the data service.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_service___servicename___messages_written**\
[gauge] The total number of messages written to the data service.
* **transformer_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`](../datasource/datasource-datasource-peers-configuration-part-2.md#peer-monitor-interval).
* **transformer_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.
* **transformer_service___servicename___state**\
[gauge] The state of the data service. It has two possible values: `1` for up, `0` for down.
