# Is there any performance metrics for foundationdb to monitor?

**URL:** <https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150>\
**Category:** Using FoundationDB\
**Tags:** performance\
**Created:** [February 7, 2022, 4:51am UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150 "2022-02-07T04:51:24Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![liyyue](https://avatars.discourse-cdn.com/v4/letter/l/54ee81/32.png) [@liyyue](https://forums.foundationdb.org/u/liyyue)\
**Post date:** [February 7, 2022, 4:51am UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/1 "2022-02-07T04:51:24Z")

</div>

Hi,Experts

Now we are using foundationdb as a database for our application. We need to monitor the performance behavior of foundationdb. I wonder if there is any performance metrics of foundationdb to monitor? And is there any tools/command/API/GUI to check and monitor these metrics? Thanks!

---

<div class="post-metadata">

**Author:** ![jzhou](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/jzhou/32/445_2.png) [@jzhou](https://forums.foundationdb.org/u/jzhou)\
**Post date:** [February 7, 2022, 5:49am UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/2 "2022-02-07T05:49:52Z")

</div>

We don’t have a good documentation on this topic. Most metrics are captured in log files from `fdbserver` processes, e.g., `ProcessMetrics`, `MachineMetrics`, `NetworkMetrics`, `ProxyMetrics`, `TLogMetrics`, `StorageMetrics`. Each of the metric above has many fields to expose information. There are also many histograms in the log files. Typically, you want to import these log files into a timeseries database, and then query from them, e.g., using splunk.

Another way is to use the `status json` from `fdbcli`, which summarizes many information from the database. Because it’s costly for the server to generating the json, this probably should be run once every 5s or so.

The information to monitor typically include: CPU by roles, memory, disk usage/space and dataset size, network connection/retransmit, client and server side latency (commit, GRV, read), throughput, availability (by probes), backup rate/status, TLog queue, storage queue, storage cache hit ratio, ratekeeper throttling reason and rate, data distribution moving rate, reachable coordinators, etc.

---

<div class="post-metadata">

**Author:** ![PierreZ](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/pierrez/32/866_2.png) [@PierreZ](https://forums.foundationdb.org/u/PierreZ)\
**Post date:** [February 7, 2022, 7:51am UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/3 "2022-02-07T07:51:25Z")

</div>

> [@jzhou](#):
>
> We don’t have a good documentation on this topic. Most metrics are captured in log files from `fdbserver` processes, e.g., `ProcessMetrics` , `MachineMetrics` , `NetworkMetrics` , `ProxyMetrics` , `TLogMetrics` , `StorageMetrics` . Each of the metric above has many fields to expose information. There are also many histograms in the log files. Typically, you want to import these log files into a timeseries database, and then query from them, e.g., using splunk.
> 
> Another way is to use the `status json` from `fdbcli` , which summarizes many information from the database. Because it’s costly for the server to generating the json, this probably should be run once every 5s or so.
> 
> The information to monitor typically include: CPU by roles, memory, disk usage/space and dataset size, network connection/retransmit, client and server side latency (commit, GRV, read), throughput, availability (by probes), backup rate/status, TLog queue, storage queue, storage cache hit ratio, ratekeeper throttling reason and rate, data distribution moving rate, reachable coordinators, etc.

Out of curiosity, are all the metrics displayed in the logs available via the `status` call(or another special key)?

---

<div class="post-metadata">

**Author:** ![jzhou](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/jzhou/32/445_2.png) [@jzhou](https://forums.foundationdb.org/u/jzhou)\
**Post date:** [February 7, 2022, 5:29pm UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/4 "2022-02-07T17:29:12Z")

</div>

> [@PierreZ](#):
>
> Out of curiosity, are all the metrics displayed in the logs available via the `status` call(or another special key)?

Logs generally have more information. The `status` call is aggregated information from cluster controller, which collects all processes’ data and reports back to the client.

---

<div class="post-metadata">

**Author:** ![liyyue](https://avatars.discourse-cdn.com/v4/letter/l/54ee81/32.png) [@liyyue](https://forums.foundationdb.org/u/liyyue)\
**Post date:** [February 8, 2022, 5:12am UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/5 "2022-02-08T05:12:49Z")

</div>

Thanks a lot for your suggestion! I will think about it.

---

<div class="post-metadata">

**Author:** ![PierreZ](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/pierrez/32/866_2.png) [@PierreZ](https://forums.foundationdb.org/u/PierreZ)\
**Post date:** [February 8, 2022, 1:43pm UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/6 "2022-02-08T13:43:26Z")

</div>

> [@jzhou](#):
>
> Logs generally have more information. The `status` call is aggregated information from cluster controller, which collects all processes’ data and reports back to the client.

Thanks! I definitely need to dive into the logs to see what should be extracted.

---

<div class="post-metadata">

**Author:** ![jkominek](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/jkominek/32/140_2.png) [@jkominek](https://forums.foundationdb.org/u/jkominek)\
**Post date:** [February 14, 2022, 12:43am UTC](https://forums.foundationdb.org/t/is-there-any-performance-metrics-for-foundationdb-to-monitor/3150/7 "2022-02-14T00:43:53Z")

</div>

There’s a telegraf I modified a few years ago to pull all of the status json info, and turn it into metrics in a useful fashion (it understands the structure of the JSON, and FDB in general).

> **[GitHub - Pexeso/telegraf at plugin-foundationdb](https://github.com/Pexeso/telegraf/tree/plugin-foundationdb)**
>
> plugin-foundationdb

I haven’t looked at it since I left that position, they’ve got a branch labelled for fdb 6.3. Perhaps it can all serve as a starting point for you.
