npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

datadog-events

v1.1.0

Published

Send events to DataDog *without* DogStatsD or StatsD

Downloads

5,469

Readme

datadog-events

npm npm David Travis license Beerpay

Send events to DataDog without DogStatsD or StatsD, using the standard DataDog API. Supports Node 6+.

Getting Started

Install

npm install datadog-events --save

Use

By default, a function is exported that will create a new instance of DataDogEvents for you. You may either use the default or create your own instance of the class:

Default Exports

const ddEvents = require('datadog-events')({ /* options */ });

async function doSomething() {
    // ...
    
    if(err) {
        await ddEvents.error('Some error!', 'These are some details');
    }
}

Create Instance

const DataDogEvents = require('datadog-events').DataDogEvents;
const ddEvents = new DataDogEvents({ /* options */ });

API Documentation

Options

Global DataDogEvents Options

The following options are available when creating a new instance of DataDogEvents or when calling the default export function.

| Option | Type | Required? | Description | Default | |----------------|---------------|-----------|-------------------------------------------------------------------------------------------------------------------------|-------------------------------| | apiKey | String | Yes | Your DataDog API key. This may be populated using environment variable DATADOG_API_KEY. | process.env.DATADOG_API_KEY | | domain | String | No | DataDog domain to use for the API. Useful for switching to the EU version (ex. datadoghq.eu). | "datadoghq.com" | | titlePrefix | String | No | Optional text to prefix all event titles with. | null | | bodyPrefix | String | No | Optional text to prefix all event bodies with. | null | | bodyPostfix | String | No | Optional test to postfix all event bodies with. | null | | priority | String | No | Priority for all events. Can be either normal or low. | "normal" | | host | String | No | Optional host name to attach to all events. | null | | tags | Array[String] | No | Optional tags to attach to all events. | [] | | aggregationKey | String | No | Optional key that will allow DataDog to aggregate all events under. | null | | sourceType | String | No | Optional source type name. See here. | null | | markdown | Boolean | No | Format all event bodies as markdown. | true |

Event Options

The following options may be provided when sending events with any of the methods documented below. Most of these options will override the global options listed above and are all optional.

| Option | Type | Description | | -------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------- | | date | Date | Date object of the event. By default, it will be the current date/time. | | priority | String | Priority for the event. Can be either normal or low. | | host | String | Optional host name to attach to the event. | | tags | Array[String] | Tags to append to the event. Tags provided will be appended to the global options.tags. | | aggregationKey | String | Optional key that will allow DataDog to aggregate all events under. | | sourceType | String | Optional source type name. See here. | | markdown | Boolean | Format the body as markdown. |

DataDogEvents Class

The main class for datadog-events.

constructor([options={}])

The constructor for DataDogEvents.

| Argument | Type | Required? | Description | | -------- | ------- | --------- | --------------------------------------------------------------- | | options | ?Object | No | Global options for the class. |

Example
// Shortcut
const ddEvents = require('datadog-events')({ /* options */ });

// Create your own instance
const DataDogEvents = require('datadog-events').DataDogEvents;
const ddEvents = new DataDogEvents({ /* options */ });
Returns - DataDogEvents

Returns instance of DataDogEvents.

Methods

ddEvents.<error|warning|info|success>(title, body[, options={}])

Shortcut methods for ddEvents.sendEvent(). Will send an event with the given type of the method.

| Argument | Type | Required? | Description | | -------- | ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | title | String | Yes | Title for the event. | | body | String|Object|Error | Yes | The body of the event. If options.markdown is true, it will be formatted as markdown. If an Object or Error is passed in, it will be formatted into markdown. | | options | ?Object | No | Optional event options. |

Example
ddEvents.error('There was an error!', error)
    .then(response => console.log(response));

await ddEvents.success('Completed a process!', '**The process was completed!**');
Returns - Promise[Object]

Promise resolves with object returned from the DataDog API containing status and event keys. Rejects with error if failed to send.

ddEvents.sendEvent(type, title, body[, options={}])

Sends an event to DataDog.

| Argument | Type | Required? | Description | | -------- | ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | String | Yes | Alert type of the event. Can be error, warning, info or success. | | title | String | Yes | Title for the event. | | body | String|Object|Error | Yes | The body of the event. If options.markdown is true, it will be formatted as markdown. If an Object or Error is passed in, it will be formatted into markdown. | | options | ?Object | No | Optional event options. |

Example
ddEvents.sendEvent('warning', 'Something happened', '**Warning:** Something crazy happened')
    .then(resp => console.log(resp));

await ddEvents.sendEvent('info', 'Results from my process', resultsObject);
Returns - Promise[Object]

Promise resolves with object returned from the DataDog API containing status and event keys. Rejects with error if failed to send.

Properties

ddEvents.options - Object

The global options for the current instance of DataDogEvents. You may change any of the options at any time.

Environment Variables

| Environment Variable | Type | Option | Description | |----------------------|--------|------------------|---------------------------------------------| | DATADOG_API_KEY | String | options.apiKey | Sets the API Key for DataDog automatically. | | DATADOG_DOMAIN | String | options.domain | Sets the domain for the DataDog API. |

Tests

Tests run automatically in Travis, although you may run them on your own machine. If you do, you must have your own DataDog account and API key. Make sure you add the DATADOG_API_KEY environment variable before running the tests.

DATADOG_API_KEY=MY_API_KEY npm run test

License

MIT License. See License in the repository.