Skip to content

What is FuseScope?

FuseScope shows you what your software is doing while it runs. It collects data from your applications and servers, stores it, and lets you search it, chart it and get alerted when something goes wrong.

Read this page when you are new to observability, or new to FuseScope, and want the big picture before you open the app.

When a user says “checkout is slow”, you need answers fast:

  • Which part is slow: the web server, the payment service or the database?
  • Is it slow for everyone, or only for some requests?
  • When did it start, and did anything else break at the same time?

Reading code and guessing does not scale once a request passes through several programs. FuseScope answers these questions from data your applications already send. This practice is called observability.

FuseScope works with three kinds of data, often called signals. Each answers a different question.

Traces

Where did the time go? A trace follows one request through every service it touches. Each step is a span, with a start time and a duration.

Logs

What exactly happened? A log is a line of text a program writes, such as payment declined: card expired.

Metrics

How much, how often? A metric is a number measured over time, such as requests per second or memory in use.

Think of a parcel sent across the country.

  1. You get a tracking number when you send it. Every depot that handles the parcel scans that number.
  2. Each scan records the depot, when the parcel arrived and when it left.
  3. Each depot also keeps a log book: “truck 12 late, parcel moved to truck 14”.
  4. Head office watches counters: parcels per hour, parcels delayed today.

A web request works the same way. Say a user books a ride in a small demo app made of the services frontend, customer, driver and route:

Parcel Web request In FuseScope
Tracking number Trace ID, passed from service to service Trace
One depot scan The work one service did, with its duration Span
The depot’s log book Lines the service printed while it worked Logs
Head office counters Requests per second, error count, CPU Metrics

When the booking takes three seconds, the trace shows that frontend waited two of those seconds on driver. The logs of that span say redis timeout. A metric shows the timeouts started at 10:05. Three signals, one answer.

  • Services: latency, error rate and throughput for every service, with no extra setup. See Services.
  • Explorers to search traces, logs and metrics.
  • Dashboards to put the charts you care about on one page.
  • Alerts that notify Slack, email, PagerDuty and others when a number crosses a line.

Your applications send data using OpenTelemetry, an open standard supported by most languages and frameworks. They send it to the FuseScope collector, which writes it to a ClickHouse database. The FuseScope app reads from there. You don’t need any FuseScope-specific library. See Architecture for the details.