
Choose where telemetry goes
Telemetry collection uses a common protocol while its destination and authentication are configured separately. Wildo translates the selected provider’s connection contract into the environment read by OpenTelemetry.
You can keep instrumentation consistent while choosing the receiving service and the runtime scopes allowed to use its credentials.
Example — Use a local receiver and a hosted destination
Development sends signals to a local collector. A remote environment points at its configured telemetry endpoint and supplies the receiving provider’s scoped credential. The application’s log calls do not change.
For engineers
Separate the endpoint from the credential
Author observability.enabled and observability.endpoint in the environment. Select the telemetry capability/provider for the application and explicitly include that provider in each runtime scope that needs authenticated export. The runtime’s resolved provider-secret bag is the authority for the token; selection alone does not widen its access.
BetterStack’s provider declares the following connection contract. This is an excerpt of the provider implementation, not application configuration to duplicate:
secretsContract: {
sourceToken: {
envVarName: 'BETTERSTACK_SOURCE_TOKEN',
required: true,
description: 'BetterStack Telemetry source token (Bearer) for OTLP traces/metrics/logs ingestion.',
},
},
otlpAuth: {
headerName: 'Authorization',
valueTemplate: 'Bearer {token}',
secretContractKey: 'sourceToken',
},
protocols: [],
The endpoint is environment-specific connection information. The source token is secret material. The provider maps that token into an OTLP authorization header; the preload has no BetterStack-specific client or switch.
Understand the generated process input
For an authenticated runtime, the resulting shape is equivalent to the following schematic environment. The endpoint and token here are placeholders, not working credentials:
OTEL_ENABLED=true
OTEL_SERVICE_NAME=application-backend
OTEL_EXPORTER_OTLP_ENDPOINT=https://telemetry.example.invalid
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer REPLACE_WITH_SCOPED_TOKEN
Do not hand-maintain a competing environment file: the configuration builder emits the runtime-specific values. If the runtime did not receive the provider secret, it must not recover a broader token through another lookup. It may still attempt unauthenticated export to its endpoint, which is useful for a local collector but rejected by an authenticated vendor.
Verify the connection actually receives signals
Provider registration states how connection information is resolved. It does not establish that an endpoint exists, accepts these credentials, retains records or supplies dashboards. Check the emitted service identity, scoped authentication and receiver when diagnosing a quiet dashboard. LLM-call observability is a separate provider capability and content policy, even when the same vendor offers both products.