Libraries

API and DogStatsD client libraries

The following table lists Datadog-official and community contributed API and DogStatsD client libraries. A few libraries support both the API and DogStatsD, but most focus on one or the other.

LanguagesLibrariesOfficialAPIDogStatsDAuthorNotes
ArduinoArduinoStatsdAlexander Else
C++cpp-datadogstatsdBoardiesITSolutionsSend metrics from your C++ applications to your Datadog account.
DogFoodGarrett SicklesC++ header library to send metrics to your Datadog account.
C# / .NETdogstatsd-csharp-clientDatadog
DatadogSharpYoshifumi KawaiAlso supports APM.
DatadogStatsDGregoire VerdierHigh Performance DogStatsD Client for .NET Core
Clojureclojure-statsd-clientUnbounceA DogStatsD client for Clojure.
CloudFormationcdk-datadog-resourcesAn AWS CDK construct library that wraps the DataDog/datadog-cloudformation-resources.
Crystalstatsd.crMike Fiedler
Delphidatadog-delphiRodrigo Farias Rezino
Elixirex-datadog-plugTyr Chen, TubiA plug for logging response times.
mtxN2O Ecosystem
statixAleksei Magusev
Erlang / Elixirdogstatsdewaisbrot
Godatadog-goDatadog
datadog-api-client-goDatadog
godspeedTim Heckman
xstatsOlivier Poitrey
go-datadog-apiMark Smith from Dropbox
HaskellHaskell Datadog ClientIan Duncan
Javajava-dogstatsd-clientDatadog
datadog-api-client-javaDatadog
LassieBazaarvoiceOnly for creating screenboards.
java-dogstatsd-clientArnab KarmakarA fork of Indeed's java-dogstatsd-client; supports events and blocking metrics.
metrics-datadogCourseraA reporting bridge between Dropwizard metrics and Datadog.
dogstatd-clientChas Honton
LuaAPISIXApache APISIXSend custom metrics to DogStatsD using the UDP protocol.
NiFiDataDogReportingTaskApachePublishes metrics from NiFi to Datadog.
Node.jsdatadog-api-clientDatadog
hot-shotsBrightcove
node-dogstatsdYoung Han Lee
node-dogapiBrett Langdon
datadog-metricsDaniel Bader
Perlwebservice-datadogJennifer Pinkham
dogstatsd-perlStefan Goethals
PHPphp-datadogstatsdAlex Corley
dog-statsdgraze.comA fork of thephpleague/statsd with additional Datadog features by Graze.
PythondatadogpyDatadogAlso includes an API client CLI tool, 'dog'.
datadog-api-client-pythonDatadog
RdatadogrA simple R package to query for metrics.
rdogAlexis Lê-QuôcAn R package to analyze Datadog metrics into R.
Racketracket-dogstatsdDarrenNA DogStatsD client for Racket.
RubyDogApiDatadog
datadog_api_clientDatadog
dogstatsd-rubyDatadog
RustcadenceNick Pillitteri
metrics-exporter-statsdGitHub
Scaladatadog-scalaCory Watson
datadog4sAvastToolkit for monitoring applications written in functional Scala using Datadog.
scaladogNomadBlackyDatadog API client for Scala.
SwiftDatadogSDKDatadog
SwiftSwift-DogstatsdDatadog
SwiftSwiftDogJacob Aronoff

APM & Continuous Profiler client libraries

The following table lists Datadog-official and community contributed trace client libraries.

LanguagesLibrariesOfficialAuthorNotes
C++dd-trace-cppDatadog
.NETdd-trace-dotnetDatadogNuGet package is `Datadog.Trace`.
DatadogSharpYoshifumi KawaiAlso supports DogStatsD.
Rust/C++/CddprofDatadogA profiler for compiled languages.
ElixirspandexZach Daniel
Godd-trace-goDatadogGo package is 'gopkg.in/DataDog/dd-trace-go.v1'.
dd-go-opentracingGustavo ChaínOpenTracing Tracer implementation for Datadog in Go.
datadog-goMatt HoOpenTracing Tracer implementation for Datadog in Go.
Javadd-trace-javaDatadogJava package 'tracer'.
apm-clientChas Honton
Node.jsdd-trace-jsDatadogOpenTracing API implementation in JavaScript for Node.js.
PHPdd-trace-phpDatadogcomposer package is 'datadog/dd-trace'.
Pythondd-trace-pyDatadogpip package is called 'ddtrace'.
Rubydd-trace-rbDatadoggem is called 'ddtrace'.
ddtrace-rb-method-wrapperBrandfoldergem is called `ddtrace-method-wrapper`.
Rustdatadog-apmPipefy
Scalascala-opentracingColisweb
Finagledatadog-finagleDatadogReports Finagle traces to Datadog.

Serverless client libraries

The following table lists Datadog-official and community contributed serverless client libraries.

LanguagesLibrariesOfficialAuthorNotes
Lambdadatadog-lambda-pythonDatadogOfficial Datadog Python Lambda library
datadog-lambda-jsDatadogOfficial Datadog Node.js Lambda library
datadog-lambda-rbDatadogOfficial Datadog Ruby Lambda library
datadog-lambda-goDatadogOfficial Datadog Go Lambda library
datadog-lambda-javaDatadogOfficial Datadog Java Lambda library
serverless-plugin-datadogDatadogPlugin to automatically instrument your Lambda functions with Datadog.
serverless-datadog-metricsDante Consulting, Inc.This library logs useful metrics from AWS Lambda functions, so that they can be accumulated via Datadog's AWS Lambda integration.

Log management client libraries

The following table lists Datadog-official and community contributed log management client libraries.

TypeLibrariesOfficialAuthorNotes
FlutterDatadog FluttertshedorLog-only SDK for Flutter
Laravellaravel-datadog-loggerAurélien SCHILTZLogger, handler, and formatter created for DataDog log management on Laravel framework.

Datadog client community libraries

Dashboards backup

Using Datadog APIs, it’s possible to write a script to backup your Dashboard definitions as code. See the following projects as examples of how these backups can be accomplished:

LanguageLibraryAuthor
JavaScriptdog-watcherBrightcove
RubydoggyShopify
RubykennelZendesk

Managing monitors

There are multiple community projects available to maintain, manage, or backup monitors using the Datadog API:

Community integrations

Ansible

In addition to the official Ansible integration, the monitoring section of the ansible-modules-extras repository contains modules that interact with Datadog.

Aptible

Enclave delivers your metrics to a Datadog account. Consult the dedicated Aptible help center to learn how.

CLI management

A set of tools to backup/restore dashboards and monitors, and configure users through a command line interface.

Consul

Publish Consul service counts into Datadog from DogStatsD with the Consul library.

Dogscaler

Scale up auto-scale groups based on the results of a Datadog query with Dogscaler.

FreeSwitch

This is for a FreeSwitch ESL application to export statistics to Datadog using the DogStatsD API and is written by WiMacTel.

Heroku

Heroku emits dyno metrics through logs. To convert these logs into metrics and send them to Datadog, use one of the following log drains. To send your Heroku logs to Datadog, see Collect Heroku logs.

To use the PHP tracer or profiler on Heroku, use the following buildpack.

K6

K6, a load and performance regression testing tool developed by Load Impact, can send test results to Datadog using DogStatsD. To enable this feature, see the tutorial.

LaunchDarkly

A LaunchDarkly webhook handler that records changes as Datadog events.

Logstash output

Moogsoft

A Moogsoft listener that ingests Datadog notifications.

NGINX LUA

OpenVPN

Phusion Passenger

Send health metrics from Phusion’s Passenger server using the passenger-datadog-monitor written by Stevenson Jean-Pierre

Pid-stats

This library allows you to generate process information from StatsD, given pid files. It was created by GitterHQ.

Pulumi

The Datadog resource provider for Pulumi lets you configure Datadog resources.

SaltStack

Sensu

Use these Sensu handlers to automatically send both metrics and events to Datadog.

StackStorm

This StackStorm Datadog integration pack supplies action integration for Datadog.

Winston

A Winston Datadog transport.

Community Agent ports

FreeBSD

FreeBSD dd-agent port

NixOS

dd-agent nixpkg

If you’ve written a Datadog library and would like to add it to this page, send an email to opensource@datadoghq.com.