Search documentation...

K

Overview

Hightouch provides an integration with Datadog to help you monitor the health and gain greater observability for your syncs. Once you have created the credentials and provided your API key to Hightouch, we will send real-time events and stats on your syncs to your Datadog account.
These events can then be aggregated to gain insight into the health of your syncs.

Setup

To setup the Datadog integration, navigate to Settings -> Integrations -> Datadog Credentials. You will need to know your site and a Datadog API key.
  • Pick the appropriate site in the drop down. To determine which site is hosting your Datadog account, view the Datadog Getting Started Guide.
    • Note: Hightouch will only need permission to be able to submit custom metrics and events, so modify the scope of your key accordingly.
Once you've added your API key to Hightouch, all your syncs will automatically start reporting to Datadog.

Emitted metrics and events

We emit both metrics and events. Metrics are best suited for dashboards and statistical aggregations, and events are great for simple filtering.

Metric: hightouch.sync.row_processed

This metric is a count-type and is incremented for each row processed in the sync.
It provides the following tags:
  • slug - The sync's slug in Hightouch.
  • workspace - The workspace's slug in Hightouch that contains the sync.
  • op (added/changed/removed) - The operation performed: whether the row was added, changed, or removed in the query.
  • success (true/false) - Whether the row was successfully synced to the destination.

Metric: hightouch.sync.complete

This metric is a count-type and is incremented each time the sync completes.
It supports the following tags:
  • slug - The sync's slug in Hightouch.
  • workspace - The workspace's slug in Hightouch that contains the sync.
  • status (success/failed/warning/cancelled) - The overall status of the sync run.

Event: hightouch.sync.complete

This event is emitted each time a sync completes. It is identical to the metric of the same name.
It supports the following tags:
  • slug - The sync's slug in Hightouch.
  • workspace - The workspace's slug in Hightouch that contains the sync.
  • status (success/failed/warning/cancelled) - The overall status of the sync run.

Use cases

With just a few metrics, you can easily unlock many use-cases and build out complex dashboards and monitors.
We'll cover a few basic examples, but feel free to experiment, and let us know if there's a feature missing you would like to see.
You can build simple dashboards that track the completed syncs by status over time
For example, the above chart uses the hightouch.sync.complete metrics and sums the counts by status. You could filter further by specifying only statuses that are status:success or NOT status:success to narrow the measurements further.
You can also build more complex dashboards by looking at the specific syncs that are critical to your operations, reporting on the total number of operations, or finding the top syncs that have warnings or failures.
For an easy to import Dashboard to get started, import the JSON using the sample code here

Other use cases

You're not limited to just the views above, here's some other use cases to consider:
  • Alert when the number of failed rows exceeds a threshold
  • Alert when a critical sync hasn't run over a specified timeframe

    Need help?

    Our team is relentlessly focused on your success. We're ready to jump on a call to help unblock you.

    • Connection issues with your data warehouse?
    • Confusing API responses from destination systems?
    • Unsupported destination objects or modes?
    • Help with complex SQL queries?

    or

    Feature Requests?

    If you see something that's missing from our app, let us know and we'll work with you to build it!

    We want to hear your suggestions for new sources, destinations, and other features that would help you activate your data.

On this page

OverviewSetupEmitted metrics and eventsMetric: hightouch.sync.row_processedMetric: hightouch.sync.completeEvent: hightouch.sync.completeUse casesOther use cases

Was this page helpful?