Built for ASP.NET Core Web Apps and Web APIs (.NET 6, 7, 8), hosted on IIS on Windows Server, on-premises VMs, or cloud VMs you manage.
Monitor exceptions, slow SQL queries, API latency and system health. View everything in a built-in dashboard served directly from your app. Just open /runtimeiq in your browser. See how it looks
No configuration required to get started. See all options to customise thresholds, dashboard path, authentication and more.
Unhandled exceptions captured with full stack trace. Deduplicated by type and message so you see patterns, not floods.
Captures queries from SQL Server (ADO.NET, Dapper, EF Core, stored procedures) and any EF Core-supported database including PostgreSQL, MySQL and SQLite. No changes to your data access code. Configurable threshold.
Tracks duration per endpoint. Configurable sampling rate keeps overhead low. Slow requests always captured.
Tracks every HttpClient call: host, URL, status code, duration and failures. No code changes needed.
CPU, memory, GC generations, thread pool and in-flight request count. Snapshotted every 15 seconds.
Served at /runtimeiq from inside your app. No separate service. Optional login protection.
No telemetry sent to any third-party APM provider. Runs on your own infrastructure, including cloud VMs. Suitable for regulated environments: banking, healthcare, government.
Data stored in SQLite embedded inside the library. No separate database server, no collectors, no agents to install.
All monitoring is fire-and-forget. The request thread is never blocked by diagnostic writes.
All options are set via AddRuntimeIQ(options => ...). Every option has a sensible default. Only set what you need.
| Option | Default | Description |
|---|---|---|
| LicenseKey | null | Your Pro license key. Omit for Free tier. |
| DashboardPath | /runtimeiq |
URL path where the dashboard is served. |
| DashboardUsername | null | Username for dashboard login. Leave empty for open access. |
| DashboardPassword | null | Password for dashboard login. Leave empty for open access. |
| DatabasePath | ./runtimeiq.db |
Path to the SQLite database file. Use an absolute path in production. |
| SlowQueryThresholdMs | 500 | SQL queries at or above this duration (ms) are captured. Set to 0 to capture all. |
| SlowDependencyThresholdMs | 500 | Outbound HTTP calls at or above this duration (ms) are captured. |
| ApiSampleRate | 1 | Capture every Nth request. 1 = every request, 10 = 1-in-10. Useful for high-traffic apps. |
| SlowRequestThresholdMs | 1000 | Requests at or above this duration are always captured regardless of sample rate. |
Pro is free. Send us an email and we'll issue your license key.
runtimeiq.dev@gmail.com