hookshot/docs/metrics.md

89 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

Prometheus Metrics
==================
You can configure metrics support by adding the following to your config:
```yaml
2022-04-05 09:10:19 +01:00
metrics:
enabled: true
bindAddress: 127.0.0.1
port: 9002
```
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
Hookshot will then provide metrics on `127.0.0.1` at port `9002`.
An example dashboard that can be used with [Grafana](https://grafana.com) can be found at [/contrib/hookshot-dashboard.json](https://github.com/matrix-org/matrix-hookshot/blob/main/contrib/hookshot-dashboard.json).
There are 3 variables at the top of the dashboard:
![image](https://user-images.githubusercontent.com/2803622/179366574-1bb83e30-05c6-4558-9e66-e813e85b3a6e.png)
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
Select the Prometheus instance with your Hookshot metrics as Data Source. Set Interval to your scraping interval. Set 2x Interval to twice the Interval value ([why?](https://github.com/matrix-org/matrix-hookshot/pull/407#issuecomment-1186251618)).
Below is the generated list of Prometheus metrics for Hookshot.
## hookshot
| Metric | Help | Labels |
|--------|------|--------|
| hookshot_webhooks_http_request | Number of requests made to the hookshot webhooks handler | path, method |
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
| hookshot_provisioning_http_request | Number of requests made to the hookshot provisioner handler | path, method |
| hookshot_queue_event_pushes | Number of events pushed through the queue | event |
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
| hookshot_connection_event_failed | Number of events that failed to process | event, connectionId |
| hookshot_connections | Number of active hookshot connections | service |
| hookshot_notifications_push | Number of notifications pushed | service |
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
| hookshot_notifications_service_up | Whether the notification service is up or down | service |
| hookshot_notifications_watchers | Number of notifications watchers running | service |
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
| hookshot_feeds_count | Number of RSS feeds that hookshot is subscribed to | |
| hookshot_feeds_fetch_ms | Time taken for hookshot to fetch all feeds | |
| hookshot_feeds_failing | Number of RSS feeds that hookshot is failing to read | reason |
## matrix
| Metric | Help | Labels |
|--------|------|--------|
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
| matrix_api_calls | Number of Matrix client API calls made | method |
| matrix_api_calls_failed | Number of Matrix client API calls which failed | method |
| matrix_appservice_events | Number of events sent over the AS API | |
| matrix_appservice_decryption_failed | Number of events sent over the AS API that failed to decrypt | |
2022-04-22 18:53:01 +01:00
## feed
| Metric | Help | Labels |
|--------|------|--------|
Some smaller improvements to metrics.md (#856) * Update metrics.md Made descriptions of metrics more consistent and some smaller improvements. * Update README.md (#855) * Update README.md Smaller improvements. Fixed a typo. * Create 855.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update setup.md (#857) * Update setup.md Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx * Create 857.docs * Rename 857.docs to 857.doc --------- Co-authored-by: Will Hunt <will@half-shot.uk> * Update workers.md (#858) * Update workers.md Fixed typos Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 858.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update encryption.md (#860) * Update encryption.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 860.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Update widgets.md (#859) * Update widgets.md Consistently spell Hookshot with an upper-case H as the first letter Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de * Create 859.doc --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk> * Drop Node 18, start testing Node 21 & update dependencies. (#862) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Better support for dark mode in widgets (#863) * Major package upgrades * Update rust deps and fix a few things * Drop 18 testing * Use node 20 * lint rust * lint * changelog * Drop usage of SVGs, use compound elements. * Update widget API * Drop usage of SVGs, use compound elements. * Add dark mode for widgets * changelog * Remove yarn-error.log * Commit metrics changes * Cleanup --------- Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 16:01:00 +01:00
| feed_count | (Deprecated) Number of RSS feeds that hookshot is subscribed to | |
| feed_fetch_ms | (Deprecated) Time taken for hookshot to fetch all feeds | |
| feed_failing | (Deprecated) Number of RSS feeds that hookshot is failing to read | reason |
## process
| Metric | Help | Labels |
|--------|------|--------|
| process_cpu_user_seconds_total | Total user CPU time spent in seconds. | |
| process_cpu_system_seconds_total | Total system CPU time spent in seconds. | |
| process_cpu_seconds_total | Total user and system CPU time spent in seconds. | |
| process_start_time_seconds | Start time of the process since unix epoch in seconds. | |
| process_resident_memory_bytes | Resident memory size in bytes. | |
| process_virtual_memory_bytes | Virtual memory size in bytes. | |
| process_heap_bytes | Process heap size in bytes. | |
| process_open_fds | Number of open file descriptors. | |
| process_max_fds | Maximum number of open file descriptors. | |
## nodejs
| Metric | Help | Labels |
|--------|------|--------|
| nodejs_eventloop_lag_seconds | Lag of event loop in seconds. | |
| nodejs_eventloop_lag_min_seconds | The minimum recorded event loop delay. | |
| nodejs_eventloop_lag_max_seconds | The maximum recorded event loop delay. | |
| nodejs_eventloop_lag_mean_seconds | The mean of the recorded event loop delays. | |
| nodejs_eventloop_lag_stddev_seconds | The standard deviation of the recorded event loop delays. | |
| nodejs_eventloop_lag_p50_seconds | The 50th percentile of the recorded event loop delays. | |
| nodejs_eventloop_lag_p90_seconds | The 90th percentile of the recorded event loop delays. | |
| nodejs_eventloop_lag_p99_seconds | The 99th percentile of the recorded event loop delays. | |
| nodejs_active_resources | Number of active resources that are currently keeping the event loop alive, grouped by async resource type. | type |
| nodejs_active_resources_total | Total number of active resources. | |
| nodejs_active_handles | Number of active libuv handles grouped by handle type. Every handle type is C++ class name. | type |
| nodejs_active_handles_total | Total number of active handles. | |
| nodejs_active_requests | Number of active libuv requests grouped by request type. Every request type is C++ class name. | type |
| nodejs_active_requests_total | Total number of active requests. | |
| nodejs_heap_size_total_bytes | Process heap size from Node.js in bytes. | |
| nodejs_heap_size_used_bytes | Process heap size used from Node.js in bytes. | |
| nodejs_external_memory_bytes | Node.js external memory size in bytes. | |
| nodejs_heap_space_size_total_bytes | Process heap space size total from Node.js in bytes. | space |
| nodejs_heap_space_size_used_bytes | Process heap space size used from Node.js in bytes. | space |
| nodejs_heap_space_size_available_bytes | Process heap space size available from Node.js in bytes. | space |
| nodejs_version_info | Node.js version info. | version, major, minor, patch |
| nodejs_gc_duration_seconds | Garbage collection duration by kind, one of major, minor, incremental or weakcb. | kind |