Heroku Buildpack Datadog Save Abandoned

Heroku Buildpack to run Datadog DogStatsD in a Dyno

Project README

heroku-buildpack-datadog

DEPRECATION NOTICE

This project served its purpose to launch a Datadog Agent in a Heroku environment, and has since been vastly improved upon.

See https://docs.datadoghq.com/agent/basic_agent_usage/heroku/ and https://github.com/DataDog/heroku-buildpack-datadog

This repo will be placed in read-only mode as of 2018-12-01. Thanks for your help and support!

A Heroku Buildpack to add Datadog DogStatsD relay to any Dyno.

Warning: Version pinned to datadog-agent 1:5.11.2-1

datadog-agent 5.12.0 broke compatibility with this buildpack by hard-deprecating dogstatsd.py start

When the incompatibility is resolved #30 can be reverted.

Usage

This buildpack is typically used in conjunction with other languages, so is most useful with language-specific buildpacks - see Heroku Language Buildpacks for more.

Here are some setup commands to add this buildpack to your project, as well as setting the required environment variables:

cd <root of my project>

heroku create # only if this is a new heroku project
heroku buildpacks:add heroku/ruby # or other language-specific build page needed
heroku buildpacks:add --index 1 https://github.com/miketheman/heroku-buildpack-datadog.git
heroku config:set HEROKU_APP_NAME=$(heroku apps:info|grep ===|cut -d' ' -f2)
heroku config:add DATADOG_API_KEY=<your API key>

git push heroku master

You can create/retrieve the DATADOG_API_KEY from your account on this page. API Key, not application key.

You can optionally set additional percentiles for your histogram metrics. By default only 95th percentile will be generated. To generate additional percentiles, set all persentiles, including default one, using env variable DATADOG_HISTOGRAM_PERCENTILES. For example, if you want to generate 0.95 and 0.99 percentiles, you may use following command:

heroku config:add DATADOG_HISTOGRAM_PERCENTILES="0.95, 0.99"

Documentaion about additional percentiles here.

Once complete, the Agent's dogstatsd binary will be started automatically with the Dyno startup.

Once started, provides a listening port on 8125 for statsd/dogstatsd metrics and events.

An example using Ruby is here.

Todo

Things that have not been tested, tried, figured out.

  • see if we can bypass apt updates on every run
  • determine how the compiled cache behaves with new releases of the datadog-agent package, as it stored the deb file
  • tag release when stable, update docs on how to use a given release in .buildpacks, like "https://github.com/miketheman/heroku-buildpack-datadog.git#v1.0.0"

Contributing

  • Fork this repo
  • Check out the code, create your own branch
  • Make modifications, test heavily. Add tests if you can.
  • Keep commits simple and clear. Show what, but also explain why.
  • Submit a Pull Request from your feature branch to master

Credits

This buildpack was heavily inspired by the heroku-buildpack-apt code, as well as many others from Heroku and @ddollar. We leverage the same type of process runner that the Datadog Docker container uses, with a couple of modifications.

Author: @miketheman

License

MIT License, see LICENSE file for full text.

Open Source Agenda is not affiliated with "Heroku Buildpack Datadog" Project. README Source: miketheman/heroku-buildpack-datadog
Stars
55
Open Issues
10
Last Commit
5 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating