OpenTelemetry setup
The quickstart gets you to the first trace. This page covers the shared configuration that should be the same across services.
If you haven't done a quickstart yet, start there first.
Endpoint
GreenSlope currently accepts OTLP traces over HTTP at:
https://ingest.greenslope.io/v1/otel/v1/tracesThe double /v1 is deliberate: the outer /v1/otel is GreenSlope's
ingest path; the inner /v1/traces is the OTLP schema path. Do not
collapse them.
gRPC OTLP is supported at the same host on port 443. Use HTTP unless
you have a specific reason; it is simpler to debug.
Authentication header
Authentication is a header, not a DSN:
x-greenslope-key: gs_ing_live_…Set it via your SDK's headers config. Do not put it in the URL because
URLs are commonly logged.
Required resource attributes
Set these once, on the OpenTelemetry resource, at SDK startup:
| Attribute | Type | Example |
|---|---|---|
service.name | string | web, api, billing-worker |
service.version | string | 2026.4.21, v1.8.0 |
greenslope.release.id | string | a git SHA |
If multiple services ship from the same commit, use the same
greenslope.release.id across those services. That lets GreenSlope ask
whether one release caused symptoms across the system.
Traces only
GreenSlope currently ingests traces. Do not configure log or metric exporters for GreenSlope yet. If logs or metrics support blocks your evaluation, contact us.
// Do not configure metricExporter or logRecordProcessor for GreenSlope yet.Sampling defaults
- Under roughly 500 spans/sec per service: start with 100% sampling.
- Above that: a 10% trace-id ratio sampler is a reasonable first step.
- Preserve error and slow-path spans where your SDK lets you do so.
Sampling choices affect what GreenSlope can explain. Start simple, then adjust after you see real volume.
Related