Skip to main content
S2 implements the OTLP/HTTP specification, so it can be used as a telemetry backend for trace, metric, and log signals. Signals are routed to the appropriate streams by setting the s2.stream resource attribute. You’d typically set it when initializing your TracerProvider, MeterProvider, or LoggerProvider. For example, in Python, if you want all logs from process-a to go to stream-a, you need to configure it as follows:
You can export your signals directly to a telemetry backend from your processes, but it is generally recommended to use a Collector. If you are already using a Collector, you can easily start exporting signals to S2 by using an OTLP/HTTP exporter. S2’s OTLP/HTTP endpoint supports both json and proto encodings. You need to set the Content-Type header to application/json or application/x-protobuf accordingly. Below is our recommended config for the exporter:
Note:
  • If you don’t have an access token already, you can generate one from the dashboard.
  • You need to create a basin with create-stream-on-append flag on, if you want streams to be created automatically when signals are exported.
  • sending_queue.num_consumers: 1 ensures batches are sent in order to S2. You can increase it if ordering is not a concern.
  • If you want to change sending_queue.batch config, please be aware of the limits [1, 2] and how that will impact your changes.