API Maker

The backend engine for the AI era

Operations

Monitoring and Logs

Calls, errors and latency of every API, the health of every server, and every call you choose to log.

API Maker counts every call after its response and writes one rollup a minute per server: the analytics dashboard shows calls, errors and p95 per API and per server, and built-in rules turn the health verdict to degraded or critical. A log profile picks the calls to log, with their request, response and console output, and the log explorer finds any of them.

See it live

Step through it, slow it down, or open the full canvas.

api-maker/features/monitoringLive
  • Call
  • Healthy
  • Degraded
  • Critical
Calls
0this minute
Writes
1per minute, per server
p95
150ms
Health
HEALTHYverdict

Every call counted, after its response. API Maker answers first, then adds the call to counters in memory: calls, errors and a latency histogram per API. No database, no Redis on the way.

How it works

  1. Every call counted, after its response.

    API Maker answers first, then adds the call to counters in memory: calls, errors and a latency histogram per API. No database, no Redis on the way.

  2. One write a minute per server.

    Every 60 seconds the counters go out in a single bulk write as 1 minute rollups, kept 30 days, with the vitals of the server: memory, threads, CPU load and how late its timers fire.

  3. Calls, errors and p95, per API and server.

    Histograms merge across servers, so the p95 of the whole cluster is right. Logs can be off: the dashboards do not depend on them.

  4. Built-in rules, one health verdict.

    Error rate over 5 %, p95 over 2000 ms, memory, disk, late timers, DB pool, a server down, servers on different versions: each firing rule turns the verdict to DEGRADED or CRITICAL.

  5. Servers, Redis and your data model.

    The servers dashboard shows the threads, version, platform and DB connections of every server. The Redis dashboard edits keys and TTLs. The ER diagram draws your instances and tables.

What you get

Log what you choose

A log profile picks the APIs, events, schedulers and WebSocket events to log. Each call keeps its body, headers, console output, errors, status and time, and its response when you ask for it.

Find any call

Filter by time, text, fields and duration, sort by the slowest calls, follow new logs live, and export the list as CSV or JSON.

Never in the way

The response goes out first. Counters are written once a minute, and logs in batches to a log database of their own, cleaned every day.

An example

A slow API after a release

After a deployment, the verdict turns degraded: the p95 of one API went past 2000 ms. The dashboard shows which server and since when, and the log explorer, sorted by duration, shows the slow calls themselves.

Watch it

On the real admin panel, with real data.

Good to know

  • Counters are kept in memory and written once a minute, so the last minute of a server that crashes can be missing.
  • When the log database falls behind and 10,000 logs are waiting, the oldest waiting logs are dropped instead of slowing down the APIs.
  • Keeping responses in logs uses space: turn it on only for the APIs where you need it.

Questions

Does monitoring slow down the APIs?

No. A call is counted after its response, in memory, and each server writes one bulk update a minute.

Can I switch logging off?

Yes. logs.enableLogs turns it off for the server. The monitoring dashboards keep working: they do not read the logs.

Where are the metrics and the logs stored?

In the log database of API Maker (or its main database when there is no log database). Metrics expire after 30 days; a daily job keeps the logs under maxLogsCount.