Skip to main content
An export writes one project’s telemetry over a range of days as OpenTelemetry (OTLP) files you download: the logs, spans and metrics your apps sent, in the format they sent them. Load them into Grafana, Datadog, your own collector or anything else that reads OTLP. Exports are free on every plan, Free included.

Start an export

In the console, open Settings › Data export for the project, choose New export, pick the signals and the days (UTC, as YYYY-MM-DD), and choose Export. The export runs in the background; when its files are ready, Apsio emails you a link back to the page, and the export shows ✓ done in the list. Choose Download to see its files. Owners and admins start and download exports; members see the page, but not the list. An export reads what the console reads: your plan’s retention applies, so the range only holds what is still kept. Logs, spans and metrics follow the detail retention (7 days on Free, 30 on Pro); a range that starts before it simply has nothing older.

What an export holds

Crashes and hangs are exported as the log records the SDK sent; the symbolicated report the console shows is not. Apsio’s own analysis is not OTLP and is not exported either: issues, session summaries and rollups, and session replay segments.

The files

Each export is a set of gzipped files of newline-delimited JSON, one OTLP request per line (ExportLogsServiceRequest, ExportTraceServiceRequest or ExportMetricsServiceRequest), in the OTLP/JSON encoding the SDKs send. Each line holds up to 5,000 records, grouped by resource. A signal’s files split every 100 MiB of JSON before compression:
manifest.json lists the export:
from is inclusive and to exclusive; bytes are the compressed size.

Load it into a collector

The OpenTelemetry Collector’s OTLP JSON file receiver reads the files as they are. Point it at the directory you downloaded them to, from the start of each file, and send them on with any exporter:
A line holds a whole request, so it can be several megabytes; if your collector limits the length of a line it reads, raise that limit. Without a collector, send each line to any OTLP/HTTP endpoint that takes JSON, to the path of its signal:
Use /v1/traces for traces-* files and /v1/metrics for metrics-* files, and the auth header your endpoint asks for (most refuse a request without one).

Who sees what

  • Every export started and every set of download links handed out is in the organization’s audit log (Settings › Activity), with the number of files, never a link.
  • A link downloads its file without signing in, until it expires: share it as you would the data.
  • An erasure deletes exports with the data: erasing an organization or a project deletes its exports’ files, and erasing an app user deletes the files of every export of the project that may hold their data. An export running at the time is canceled.

If an export fails

If an export cannot finish, Apsio tries again, up to three times, and then emails you that it failed; start it again from the page.