Dashboard Rate Limiting

Real-time visibility into rate limiting activity — rejection rates, client behavior, and policy statistics

💡

Data requires metrics collection to be enabled

This tab is always reachable, but what it shows depends on Rate limiting metrics enabled in the Rate Limiting configuration. When it is off, nothing is ever recorded, so the tab displays a warning banner and every card and table below stays empty rather than showing stale or misleading numbers. Turning it on takes effect after an application restart, like the rest of IdentitySuite's configuration settings.

Time Window & Refresh

A time window selector controls the range used to compute the cards and tables below. Unlike the Overview tab, changing the window here reloads the panel automatically; the Refresh button simply reloads the current window on demand.

Available Time Windows:

1h — Last hour. Useful right after a configuration change or while actively responding to a suspected attack.
24h — Last 24 hours. The default window, and the one that always shows full per-client and per-endpoint detail (see below).
7d — Last 7 days. Broadens the summary cards and the Statistics Policy table to a full week, at the cost of per-client/per-endpoint detail (see below).
💡

Why 24h and 7d don't show the same level of detail:

All metrics live in memory only, never on disk, and are lost on a server restart. To keep that memory bounded, IdentitySuite keeps two kinds of data with different lifespans:

Raw per-request detail — one entry per request, which is what powers Most Popular Endpoints, Top Client Requests, and Suspicious Clients. Kept for RawRetention (default 1 day) and capped at MaxEntries (default 100,000 — oldest entries are dropped first once the cap is reached under sustained traffic).
Long-term hourly aggregates — one bucket per policy per hour, with no per-client or per-endpoint breakdown. This is what keeps the summary cards and the Statistics Policy table accurate for the full 7d window even after the raw detail behind a given hour has aged out.

In practice: switching to 7d still gives accurate totals and rejection rates, but Most Popular Endpoints, Top Client Requests, and Suspicious Clients only reflect the raw retention window (1 day by default) — they won't silently show a full week's worth of per-client data. Both bounds are configurable under RateLimiting:Metrics; see the Rate limiting page under Configuration for details.

Summary Cards

Four cards give an instant snapshot of rate limiting activity over the selected window:

Rejection Rate — the percentage of requests that were blocked by a rate limiting policy.
Unique Clients — the number of distinct client IP addresses that made at least one request.
Active Policies — how many of the rate limiting policies have recorded traffic in this window.
Suspicious Clients — the number of client IPs flagged for a denial rate high enough to suggest abuse rather than incidental throttling.

Analytics Views

Statistics Policy:

A table with one row per policy, showing total requests, permitted vs. rejected counts, the rejection rate for that policy specifically, and the average time spent acquiring a rate limit permit. A rejection rate above 10% is highlighted in red.

Most Popular Endpoints:

The top 10 endpoint types by request volume in the selected window, with a proportional bar for quick comparison.

Top Client Requests:

The 10 client IPs with the highest request volume, each with its permitted/rejected counts, rejection rate, and last-seen time. Clients already flagged as suspicious are marked accordingly.

Suspicious Clients:

A dedicated table appears only when at least one client has been flagged, listing the IP, request counts, rejection rate, and the first/last time it was seen — useful for deciding whether to blacklist an address from the Rate Limiting configuration page.

Time Trend:

One line chart per policy, plotting permitted (green) and rejected (red) requests hour by hour across the entire selected window — not just the hours that happened to have traffic, so a quiet hour reads as a flat line at zero rather than a gap in the chart. Hover a point to see the exact counts for that hour. Useful for spotting when a spike in rejections started, or for confirming a policy's normal traffic pattern before tightening its limits.

💡

This tab is for monitoring. To configure the policies themselves — limits, windows, whitelists/blacklists, and reverse proxy trust — see the Rate limiting page under Configuration, which also covers how metrics are collected and their memory/retention bounds in more depth.