Prometheus Metrics

You can configure metrics support by adding the following to your config:

metrics:
  enabled: true
  bindAddress: 127.0.0.1
  port: 9002

Below is the generated list of Prometheus metrics for Hookshot.

hookshot

MetricHelpLabels
hookshot_webhooks_http_requestNumber of requests made to the hookshot webhooks handlerpath, method
hookshot_provisioning_http_requestNumber of requests made to the hookshot webhooks handlerpath, method
hookshot_queue_event_pushesNumber of events pushed through the queueevent
hookshot_connection_event_failedThe number of events that failed to processevent, connectionId
hookshot_connectionsThe number of active hookshot connectionsservice
hookshot_notifications_pushNumber of notifications pushedservice
hookshot_notifications_service_upIs the notification service up or downservice
hookshot_notifications_watchersNumber of notifications watchers runningservice

matrix

MetricHelpLabels
matrix_api_callsThe number of Matrix client API calls mademethod
matrix_api_calls_failedThe number of Matrix client API calls which failedmethod
matrix_appservice_eventsThe number of events sent over the AS API

feed

MetricHelpLabels
feed_countThe number of RSS feeds that hookshot is subscribed to
feed_fetch_msThe time taken for hookshot to fetch all feeds

process

MetricHelpLabels
process_cpu_user_seconds_totalTotal user CPU time spent in seconds.
process_cpu_system_seconds_totalTotal system CPU time spent in seconds.
process_cpu_seconds_totalTotal user and system CPU time spent in seconds.
process_start_time_secondsStart time of the process since unix epoch in seconds.
process_resident_memory_bytesResident memory size in bytes.
process_virtual_memory_bytesVirtual memory size in bytes.
process_heap_bytesProcess heap size in bytes.
process_open_fdsNumber of open file descriptors.
process_max_fdsMaximum number of open file descriptors.

nodejs

MetricHelpLabels
nodejs_eventloop_lag_secondsLag of event loop in seconds.
nodejs_eventloop_lag_min_secondsThe minimum recorded event loop delay.
nodejs_eventloop_lag_max_secondsThe maximum recorded event loop delay.
nodejs_eventloop_lag_mean_secondsThe mean of the recorded event loop delays.
nodejs_eventloop_lag_stddev_secondsThe standard deviation of the recorded event loop delays.
nodejs_eventloop_lag_p50_secondsThe 50th percentile of the recorded event loop delays.
nodejs_eventloop_lag_p90_secondsThe 90th percentile of the recorded event loop delays.
nodejs_eventloop_lag_p99_secondsThe 99th percentile of the recorded event loop delays.
nodejs_active_handlesNumber of active libuv handles grouped by handle type. Every handle type is C++ class name.type
nodejs_active_handles_totalTotal number of active handles.
nodejs_active_requestsNumber of active libuv requests grouped by request type. Every request type is C++ class name.type
nodejs_active_requests_totalTotal number of active requests.
nodejs_heap_size_total_bytesProcess heap size from Node.js in bytes.
nodejs_heap_size_used_bytesProcess heap size used from Node.js in bytes.
nodejs_external_memory_bytesNode.js external memory size in bytes.
nodejs_heap_space_size_total_bytesProcess heap space size total from Node.js in bytes.space
nodejs_heap_space_size_used_bytesProcess heap space size used from Node.js in bytes.space
nodejs_heap_space_size_available_bytesProcess heap space size available from Node.js in bytes.space
nodejs_version_infoNode.js version info.version, major, minor, patch
nodejs_gc_duration_secondsGarbage collection duration by kind, one of major, minor, incremental or weakcb.kind