Skip to content

Heroku Buildpack that bootstraps a otel-collector in your dyno

License

Notifications You must be signed in to change notification settings

Djiit/heroku-buildpack-otelcol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenTelemetry Collector Heroku Buildpack

This Heroku buildpack installs OpenTelemetry Collector in your Heroku dyno to collect app metrics and traces.

Configuration

This buildpack assumes that otel collector config file is located at /otelcol/config.yml in your application.

By default, this buildpack installs OpenTelemetry Collector Core, to install OpenTelemetry Collector Contrib, set OTELCOL_CONTRIB to true in your enviroment variables.

In addition, you can include a prerun script, /otelcol/prerun.sh, in your application. The prerun script runs after all of the standard configuration actions and immediately before starting OpenTelemetry Collector. This allows you to modify the environment variables (for example: $DISABLE_OTELCOL), perform additional configurations, etc.

#!/usr/bin/env bash

# Disable based on dyno type
if [ "$DYNOTYPE" == "run" ]; then
  DISABLE_OTELCOL="true"
fi

# Update configuration placeholder using the Heroku application environment variable
if [ -n "$RUNTIME_URL" ]; then
  sed -i "s/<URL>/$RUNTIME_URL/" "$APP_OTELCOL/config.yml"
fi

Credits

Most of the code and inspiration comes from the excellent sendsonar's Prometheus Heroku Buildpack

About

Heroku Buildpack that bootstraps a otel-collector in your dyno

Topics

Resources

License

Stars

Watchers

Forks

Languages