Metrics

Metrics is offered as part of the Growth plan.

Overview

Metrics enable you to gain insight into your requests, events, and attempts. Most metrics are updated in near real-time, and some "stateful" metrics, such as Pending Attempts, are sampled at a rate of 5 seconds.

Metrics overview

Metrics are available in the dashboard and can be exported to your observability platform such as Datadog.

Some metrics are essential to operating an event-driven system at scale. With metrics such as Pending Attempts (queue depth), Oldest Attempts (backpressure), and Response Latency, you can monitor the health of your system and take action when needed.

Other metrics like Total Requests by Source or Total Events by Connection can help you understand the usage of your system and identify potential issues.

Supported metrics

Each metric is categorized by the resource it is related to. The metrics and resources are:

Requests

  • Total Requests: The total number (or rate) of requests received.
  • Accepted Requests: The total number of requests that were accepted.
  • Rejected Requests: The total number of requests that were rejected.
  • Average Events: The average number of events created per individual request.
  • Average Ignored Events: The average number of events that were not created (ignored) created per individual request.

Events

  • Total Events: The total number (or rate) of events created.
  • Pending Events: The total number of events that are pending (in queue).
  • Paused Events: The total number of events that are on hold from a paused connection.
  • Pending retry Events: The total number of events that have a retry pending (from a retry rule).
  • Scheduled Events: The total number of events scheduled for future delivery (from a delay rule).
  • Successful Events: The total number of successful events.
  • Failed Events: The total number of failed events.
  • Error Rate: The ratio of total events to failed events.
  • Average Attempts: The average number of attempts made per event.

Certain event metrics are only available in "point-in-time" instead of time-series data. We are working on moving those metrics to time-series. The "point-in-time" metrics are Pending Events, Pending retry Events, Scheduled Events, and Paused Events.

Attempts

  • Total Attempts: The total number (or rate) of attempts made.
  • Pending Attempts: The total number of attempts that are pending (in queue). Also known as "Queue Depth".
  • Oldest Attempts: The maximum amount of time in minutes an attempts has been in queue. Also known as "Max Age" and "Backpressure".
  • Delivery Attempts: The total number (or rate) of attempts that were delivered. Also knows as "Ack Rate".
  • Response Latency: The average (p50, p90, p99, max) response latency of your destination for that were delivered.
  • Error Rate: The ratio of total attempts to failed attempts.

Categories & Segmentation

Metrics Segmentation

The metrics "home" shows an overview of key metrics for each category. You can click on a category View All or on the sidebar Metrics section to see the metrics for that category.

On the specific metric category page, metrics are segmented by the associated resource. For example, the requests category is segmented by source and the events category is segmented by connection.

On the top right of the page you can narrow down the metrics to a specific resource and adjust the time range for the metrics.

Metrics on Source, Connection and Destination pages

Metrics for a given resource can be found on the respective resource page. The dropdown let's you toggle between the metrics you want to explore.

Metrics export

Metrics export allows you to access your Hookdeck project metrics in your own observability platform. We currently support exporting to Datadog and are working on supporting more platforms as requested.

Metrics export

Exporting metrics is also an opportunity to support custom alerts and dashboards. For example, you can create an alert when the Pending Attempts metric is above a certain threshold.

Exporting to Datadog

The Datadog integrations support exporting to Datadog "Metrics" using your own Datadog API key. To configure the integration:

  1. Go to the project integrations page
  2. Select Connect on the Datadog integration.
  3. Follow the instructions to generate a new API key and provide your key.
  4. Within a few minutes the Metrics data will start appearing in your Datadog account.

Dashboard template

We have created a dashboard template that you can use to get started with Datadog. The dashboard is pre-configured with the metrics that we think are most useful.

To use the dashboard template:

  1. Download the Hookdeck dashboard template and upload it to Datadog
  2. Go to the dashboards list in your Datadog account
  3. Select New Dashboard and create the dashboard
  4. Select Configure, Import dashboard JSON , and import the Hookdeck dashboard template

Metric tags

Each metric is tagged with the following tags:

  • name: The name of the metric
  • source: The source of the metric. This is always hookdeck
  • project: The name of the project
  • organization: The name of the organization

Additionally each metric category is tagged with the respective resource name. The requests metrics are tagged with source, events metrics with connection and attempts with destination.

Renaming a source, connection or destination will cause the metric to be tagged with the new name. This will cause a "break" in the metric history as historical data will be tagged with the old name.

Metric names

Each metric name is prefixed with hookdeck.. The complete list of metrics can be found in the metrics Datadog history page.

Requesting a new integration

We plan on supporting most popular observability platforms. If you would like to request a new integration, please contact us via the live chat, or by email at info@hookdeck.com