gatsby-plugin-datadog

Description

Gatsby plugin to add Datadog logging and real user monitoring (RUM) to your Gatsby site.

Learn more about Datadog here.

How to install

npm install --save gatsby-plugin-datadog

How to setup

Enable log collection

// In your gatsby-config.js
plugins: [
  {
    resolve: "gatsby-plugin-datadog",
    options: {
      logs: {
        clientToken: 'YOUR_CLIENT_TOKEN',
        site: 'datadoghq.com',
        sampleRate: 100,
        enabled: !IS_DEV,
      }
    }
  }
];

Enable RUM

// In your gatsby-config.js
plugins: [
  {
    resolve: "gatsby-plugin-datadog",
    options: {
      rum: {
        applicationId: 'YOUR_APP_ID',
        clientToken: 'YOUR_CLIENT_TOKEN',
        site: 'datadoghq.com',
        sampleRate: 100,
        enabled: !IS_DEV,
      }
    }
  }
];

Enable both log collection and RUM

When enabling both logging and RUM shared options can be defined at the top level. For example:

// In your gatsby-config.js
plugins: [
  {
    resolve: "gatsby-plugin-datadog",
    options: {
      site: 'datadoghq.com',
      sampleRate: 100,
      enabled: !IS_DEV,
      rum: {
        applicationId: 'YOUR_APP_ID',
        clientToken: 'YOUR_CLIENT_TOKEN',
      },
      logs: {
        clientToken: 'YOUR_CLIENT_TOKEN',
      }
    }
  }
];

Options

Options available are the same as the Datadog initialization parameters for log collection and RUM, respectively.

Additionally, the parameter enabled (boolean) is available to programatically turn the plugin integration on/off.

How to use

When log collection is enabled datadogLogs will be available on the global window object, so you can use it like this:

datadogLogs.logger.info("Hello World!");

See Datadog’s Browser Log Collection documentation for available methods on the datadogLogs object.

If RUM is enabled, RUM data will automatically be collected. datadogRum is also available on the global window object, so you can use it for manual error collection and custom user actions, etc.

Alternatives

If you’re only going ot use either log collection or RUM you can also use gatsby-plugin-datadog-logs or gatsby-plugin-datadog-rum directly.