All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Non-https repo url and apt fetching
External keyservers were becoming an issue for reliability so the Datadog public key has been added to the buildpack. A few updates were made regarding Agent versioning and the documentation was clarified.
- Added the Datadog public PGP key.
- Invalid pinned versions of the Datadog Agent now returns a list of valid options.
- Now uses the included PGP key to validate the Datadog package
- Datadog Agent from version 6.4.1 now uses the
run
command. Previous versions will still usestart
Thanks to pawelchcki for spotting that the integration support lacked a check if no integration files existed. This update fixes an issue where the Datadog Trace Agent may fail to start or drop traces.
- A small check to ensure integration configuration files exist when running logic to import them.
Thanks to lucasm-iRonin for adding functionality to support Datadog Agent integrations!
- Now using sks-keyservers instead of ubuntu keyservers. This should increase reliability
- Basic Datadog Agent integration support.
- Removed docs referencing Datadog documentation site. That site will soon pull from this repo.
Thanks to dreid for help resolving the apt-key issue, fixing compatibility with the Heroku-18 stack.
- Fixed apt-key issue, buildpack compatibility with Heroku-18 stack.
- Fixed PYTHONPATH issue preventing python-based core integrations from running.
- Set APM log location resulting in log location related errors. APM log is now at /app/.apt/etc/datadog/datadog-apm.log
- Removed dynohost tag
Hostnames are not always RFC1123 compliant. Invalid hostnames led to unexpected non-reporting.
- Updated documentation to mention enabling Heroku Labs metadata (required for DD_DYNO_HOST)
- Added a check for non-compliant hostnames. Buildpack will rename and throw a warning
Using dyno name as hostname was not properly namespaced, so multiple apps would have dyno hostname collisions. Appname has been added to prevent this.
- DD_DYNO_HOST reports hosts as appname.dynoname.
Fixed an issue where custom tags completely override the built-in tags for dyno information. Added a switch to change the hostname from host to dyno. This will provide some flexibility and control in how you are billed by Datadog.
- DD_TAGS will now merge with other tags set by the buildpack, rather than overriding them.
- DD_DYNO_HOST will allow you to set the agent hostname to the dyno name, rather than host.
- Added a tag for dynotype.
Changed buildpack to use dyno hostnames rather than setting the application name as the hostname. Though the previous method helped simplify continuity, it led to metrics aggregation errors for applications running many dynos. The application name is now available under the "appname" tag when Heroku Labs Dyno Metadata is enabled or the "HEROKU_APP_NAME" environment variable is set.
- Hostname will default to dyno host name, unless DD_HOSTNAME is set (not recommended)
- Application name added as "appname" tag.
- Removed README documentation about histogram percentiles and APM that were not specific to the buildpack. See https://docs.datadoghq.com for information about those features.
Start the Trace Agent.
- Removed Trace Agent config file code. The Trace Agent now uses the main datadog.yaml file.
- Updated the README file to document DD_APM_ENABLED.
- Datadog Agent 6 no longer starts the Trace Agent (was moved to systemd service for Linux systems). Added code to start the Trace Agent.
Resolved issue with dpkg and multiple packages available
- Includes a fix from Zunda that limits the dpkg install to the latest package.
Updated the buildpack to use stable releases and removed alpha flag (because nobody really knows what that means anyway ;))
- Updated the apt repo to use
stable 6
(no longer beta) - Incorporates a parameter change that resolved problems in beta rc releases (Thanks Zunda!)
Mostly fixes and a small feature.
- If no Datadog Agent version has been pinned, the build process will tell you how to pin the current version.
- Updated the runner script to insert tags in the correct location in the conf file.
- Env vars are not automatically loaded when building slugs, so the previous version pinning didn't work.
The buildpack was re-written to use the new Datadog Agent 6 and gather full system metrics.
- Added an Apache 2 license.
- Added a notice file with copyright info.
- Added a way to pin Datadog Agent versions.
- Added a changelog.
- Added a more comprehensive "Contributing" section to the readme.
- Updated from the Datadag Agent 5 to Agent 6. This includes the main agent and the trace agent.
- Deprecated env vars that no longer apply in Agent 6
Note that the previous Agent-5-based version of the buildpack is now available using the legacy
tag.
To continue using this old version, you can update your app by running:
# Remove the old untagged buildpack
heroku buildpacks:remove https://github.com/DataDog/heroku-buildpack-datadog.git
# Add the tagged version of the buildpack
heroku buildpacks:add --index 1 https://github.com/DataDog/heroku-buildpack-datadog.git#legacy