otel-init-go

module
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2021 License: Apache-2.0

README

otel-init-go

OpenTelemetry plumbing initializer for Go that only supports OTLP/gRPC and aims for a small code footprint and gets its configuration from environment variables exclusively. The intent is to be able to drop this into existing codebases with minimal code churn.

TODO:

  • bootstrap egressing traces to a collector
  • figure out how to test envvar mixes (otel-cli server json)
  • metrics support?
  • logs support?

API

package main

import (
    "github.com/equinix-labs/otel-init-go/otelinit"
)

func main() {
    ctx := context.Background()
    ctx, otelShutdown := otelinit.InitOpenTelemetry(ctx, "my-amazing-application")
    defer otelShutdown(ctx)
}

Configuration

Wherever possible environment variable names will comply to OpenTelemetry standards.

If OTEL_EXPORTER_OTLP_ENDPOINT is unset or empty, the init code will do almost nothing, so it's as safe as possible to add this to a service, deploy it, and configure it later.

TODO:

  • add config for TLS auth
environment variable default example value
OTEL_EXPORTER_OTLP_ENDPOINT "" localhost:4317
OTEL_EXPORTER_OTLP_INSECURE false true
OTEL_EXPORTER_OTLP_HEADERS "" key=value,k=v

Directories

Path Synopsis
cmd
otelhelpers is a package of helper functions for dealing with otel traceparent propagation over files and environment variables.
otelhelpers is a package of helper functions for dealing with otel traceparent propagation over files and environment variables.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL