Logs & traces

Every log, span and request, with its body

Search logs, traces and API calls in one place. Open any request to see its headers, body and response, then the trace and logs around it.

01 · The exact request

The body a sampled trace doesn't keep

A span tells you POST /v1/payments took 3.4 seconds and returned 502. Open the same row in monoscope and you get the request body you sent and the response body that came back.

app.monoscope.tech / log_explorer
The body a sampled trace doesn't keep
  • Headers, body and response

    Incoming requests and the calls you make to suppliers, with bodies, exactly as they were sent.

  • Calls to other APIs, too

    Payment, logistics and KYC calls sit next to your own traffic, on the same trace.

  • Redacted before it leaves

    The SDK strips the headers and body fields you list, such as $.password, inside your app.

02 · One query language

Ask in English, or write the query

Type what you're looking for and monoscope writes the KQL for you. Edit it, or write your own. The same query runs in the Explorer, dashboard widgets, monitors, the CLI and the MCP server.

app.monoscope.tech / log_explorer
Ask in English, or write the query

KQL · server errors per service in the last hour

spans
| where attributes.http.response.status_code >= 500
    and timestamp >= ago(1h)
| summarize count() by resource.service.name
| sort by count_ desc
  • Plain English in, KQL out

    “product-catalog errors since the deploy” becomes a query you can read and change.

  • Facets on every field

    Service, status code, route, host: click a value to filter, see the counts before you do.

  • Patterns, not 40,000 lines

    Similar log lines are grouped into patterns, so the new one stands out.

  • Saved and recent queries

    Save the queries your team runs every incident; your recent ones are kept for you.

03 · Traces

Follow one request through every service

Open a trace to see each span in a waterfall, with the database queries, outgoing calls and log lines it produced. Switch to a timeline, a per-service breakdown or a map of the services it touched.

app.monoscope.tech / log_explorer · trace
Follow one request through every service
  • Waterfall and timeline

    Where the 3.4 seconds went: the slow SQL, the retry, the supplier that took two seconds to answer.

  • Logs inside the trace

    Every log line written during the request, in order, next to the span that wrote it.

  • Share the evidence

    A read-only link to the request opens for anyone for 48 hours, no account needed.

04 · Live tail

Watch a deploy as it happens

Turn on live tail and new logs and spans stream in as they arrive, filtered by the query you're already running.

  • Filtered as it streams

    Tail one service, one route or one customer, not the firehose.

  • Built on OpenTelemetry

    Any OpenTelemetry SDK or collector works, across 780+ integrations. Switching from Datadog is an exporter change.

  • Kept, not sampled

    Paid plans keep every event. Request bodies don't count toward your bill.

Questions

Do you sample my data?

Not on paid plans: every log, span and request is kept. The free plan covers 10k events a day; past that, it keeps a share of traffic spread across the day, and traces with errors are kept whole.

Do request and response bodies cost extra?

No. An event is priced the same with or without its body. Cloud is $29 a month for 20M events, then $1 per million.

How do I capture bodies?

Our SDKs for Node.js, Python, Go, PHP, Java, .NET and Elixir capture request and response bodies, with redaction. Plain OpenTelemetry gives you logs and traces without bodies.

Is it KQL as in Azure Data Explorer?

It's a subset of KQL: where, summarize, extend, project, sort and take, with percentiles, counter rates and time bins. The reference lists every operator we support.

How long is data kept?

30 days on Free and Cloud. Connect your own S3 bucket for unlimited retention.

Works with

Know what happened. Prove it.