System Stats

Get live runtime metrics - CPU, memory, traffic, and request history.
EndpointMethodAdmin Required
/api/v1/admin/systemStatsGETYes

Returns live runtime metrics: CPU and memory usage, load average, uptime, HTTP traffic counters, a per-minute history of the last hour, and resource counts. This powers the charts on the admin dashboard.

Unlike Storage Stats, this endpoint never walks the storage tree - it is cheap to call and safe to poll every few seconds.

All metrics are held in memory and reset when the server restarts. Traffic totals are "since last restart", and the history covers at most the last 60 minutes.

Response

{
    "metrics": {
        "uptimeSeconds": 86400.5,
        "totalBytesIn": 3145935,
        "totalBytesOut": 3146901,
        "totalRequests": 1024,
        "totalErrors": 3,
        "processCPUPercent": 5.8,
        "systemCPUPercent": 12.4,
        "processMemoryBytes": 27623424,
        "systemMemoryTotalBytes": 25769803776,
        "systemMemoryAvailableBytes": 10094985216,
        "loadAverage1": 1.42,
        "loadAverage5": 1.87,
        "loadAverage15": 2.05,
        "coreCount": 12,
        "history": [
            {
                "timestamp": "2026-07-01T21:09:00Z",
                "bytesIn": 41,
                "bytesOut": 400,
                "requests": 2,
                "errors": 1,
                "cpuPercent": 4.2,
                "memoryBytes": 27623424
            }
        ]
    },
    "accessKeyCount": 4,
    "sharedLinkCount": 2,
    "oidcProviderCount": 1,
    "multipartUploadCount": 0
}

Response Fields

metrics

uptimeSeconds
number
Seconds since the server process started.
totalBytesIn
integer
Total HTTP request bytes received since the last restart.
totalBytesOut
integer
Total HTTP response bytes sent since the last restart.
totalRequests
integer
Total HTTP requests handled since the last restart.
totalErrors
integer
Requests that ended in a 4xx or 5xx response.
processCPUPercent
number (optional)
CPU usage of the Alarik process, as a percentage of one core (can exceed 100 on multicore machines). Absent until the first sampling interval has passed.
systemCPUPercent
number (optional)
System-wide CPU usage in percent. Linux only - absent on other platforms.
processMemoryBytes
integer (optional)
Resident memory (RSS) of the Alarik process in bytes.
systemMemoryTotalBytes
integer (optional)
Total system memory in bytes. Container-aware: inside Docker with a memory limit, this is the container's limit rather than the host total.
systemMemoryAvailableBytes
integer (optional)
Available system (or container) memory in bytes.
loadAverage1
number (optional)
1-minute load average. loadAverage5 and loadAverage15 follow the same pattern.
coreCount
integer
Number of active CPU cores.
history
array
Per-minute buckets covering up to the last 60 minutes, oldest first; the last entry is the currently accumulating minute. Each bucket has timestamp, bytesIn, bytesOut, requests, errors, and (once sampled) cpuPercent and memoryBytes averages for that minute.

Resource counts

accessKeyCount
integer
Total number of S3 access keys across all users.
sharedLinkCount
integer
Number of currently active shared file links.
oidcProviderCount
integer
Number of configured OIDC SSO providers (enabled or not).
multipartUploadCount
integer
Number of multipart uploads currently in progress.

Example Usage

curl -X GET "{API_BASE_URL}/api/v1/admin/systemStats" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "X-Secret-Key: YOUR_SECRET_KEY"