Prerequisites
Before you begin, make sure you have:- a Bronto API key
- an application instrumented with an OpenTelemetry SDK, or an OpenTelemetry Collector receiving traces
- network access to the Bronto ingestion endpoint for your region
Endpoint and authentication
Use the trace endpoint that matches your Bronto region:
Both endpoints accept OTLP/HTTP over HTTPS on port
443, in either protobuf (Content-Type: application/x-protobuf) or JSON (Content-Type: application/json) encoding. Every request must include this header:
Send traces through an OpenTelemetry Collector
If you are using an OpenTelemetry Collector, configure an OTLP receiver and an OTLP/HTTP exporter that targets the Bronto trace endpoint.The example uses the standard Collector receiver ports:
4317 for OTLP/gRPC and 4318 for OTLP/HTTP. A same-host application typically exports OTLP/HTTP traces to http://localhost:4318/v1/traces; replace the host, port, protocol, and TLS settings when your deployment differs.otel-config.yaml
<BRONTO_API_KEY> with your Bronto API key.
If your Collector also sends logs and metrics, keep a pipeline for each signal. Traces use
traces_endpoint, metrics use metrics_endpoint, and logs use logs_endpoint.Send traces directly from an SDK
If you do not need a Collector, configure your application’s OpenTelemetry SDK to export traces directly to Bronto over OTLP/HTTP. For direct trace export, point your SDK at the regional traces endpoint and include the Bronto API key header:Minimal working examples
Bronto has OpenTelemetry setup guides for several languages. If you want a quick starting point, the Python and Node.js guides include SDK setup, resource attributes, exporter configuration, and direct export to Bronto.Python
Configure the OpenTelemetry Python SDK, create spans, and export traces to Bronto.
Node.js / JavaScript
Configure the OpenTelemetry JS SDK, create spans, and export traces to Bronto.
Verify trace delivery
After configuration, verify trace delivery with these checks:- Confirm that you are sending traces to the correct regional endpoint.
- Confirm every request includes
x-bronto-api-key. - Run your application and trigger an operation that creates a span.
- Check Bronto for the expected
service.name. - Confirm new traces are visible and spans include the attributes you expect.
Troubleshooting
If you do not see traces:- verify the ingestion URL matches your region
- verify the
x-bronto-api-keyheader is present and valid - confirm your process flushes spans before exit
- confirm your exporter is configured for traces, not logs or metrics
- check network egress rules allow outbound HTTPS on port
443
Next steps
Once trace ingestion is working, you can:- add auto-instrumentation for your framework or runtime
- capture traces from services you cannot rebuild with zero-code eBPF instrumentation
- route telemetry through a shared OpenTelemetry Collector
- add metrics through the same SDK and Collector
- enrich spans with standard resource attributes
- standardize exporter configuration across services

