📊 GermainUX overview
GermainUX provides real-user experience and technology KPIs for monitoring .NET applications. These KPIs combine user interaction, application performance, .NET runtime behavior, system resources, errors, and outbound HTTP activity to help identify and diagnose digital experience issues.
👤 User Experience KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
Windows User Session Replay |
X |
X |
A millisecond, pixel-perfect playback of an end-user's session and what that user "saw" and "did" on his/her screen, including interactions, clicks, navigation, and UI changes. |
|
Windows User Login |
X |
X |
Count of Windows user logins. |
|
Windows User Click |
X |
X |
A business-meaningful click matching a configured selector (vs. Mouse Click's unconditional telemetry), measured by response duration. |
|
Windows Mouse Click |
X |
X |
Raw, unconditional telemetry for any mouse click on a UI control. |
|
Windows Keyboard |
X |
X |
A key press matching a configured command-key pattern (Enter, Escape, Ctrl/Alt combos, function keys). |
|
Windows Search |
X |
X |
A click on a configured search-trigger control, captured together with the search term it enters. |
|
Windows Change Event |
X |
X |
A change to an input control's value (text field edit, checkbox/dropdown toggle). |
|
Windows Freeze |
X |
X |
Duration a monitored window was unresponsive before recovering (SendMessageTimeout polling); recorded on recovery, not onset. |
|
Windows Crash |
X |
X |
The monitored process exited with a non-zero code (unhandled exception, access violation, WER fast-fail); any non-clean exit qualifies. |
|
Windows User Error |
X |
X |
A new window whose title matches a configured "user-facing error" pattern. |
🌐 http://ASP.NET Application KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
ASPNET Application Disconnected Requests |
|
X |
Requests disconnected due to communication errors or user termination. |
|
ASPNET Application Error Events Raised |
|
X |
Error events raised since the application started. |
|
ASPNET Application Executing Requests |
|
X |
Requests currently executing. |
|
ASPNET Application Failed Requests |
|
X |
Total failed requests. |
|
ASPNET Application Queued Requests |
|
X |
Requests sitting in the application request queue. |
|
ASPNET Application Rejected Requests |
|
X |
Requests rejected because the request queue was full. |
|
ASPNET Application Request Execution Time |
|
X |
Milliseconds to execute the most recent request. |
|
ASPNET Application Restarts |
|
X |
Number of times the application restarted during the web server's lifetime. |
|
ASPNET Application Total Errors |
|
X |
Total errors occurred. |
|
ASPNET Current Connections |
|
X |
Current connections established with the web service. |
|
ASPNET Current Requests |
|
X |
Requests currently handled by the http://ASP.NET ISAPI. |
|
ASPNET Disconnected Requests |
|
X |
Requests disconnected due to a communication failure (ISAPI-level counterpart to the Application-level counter). |
|
ASPNET Rejected Requests |
|
X |
Requests not executed due to insufficient server resources. |
|
ASPNET Request Execution Time |
|
X |
Milliseconds to execute the last request (ISAPI level). |
|
ASPNET Request Wait Time |
|
X |
Milliseconds the most recent request waited in queue before processing. |
|
ASPNET Worker Process Restarts |
|
X |
Number of times a worker process restarted on the server. |
🖥️ IIS KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
IIS Errors |
|
X |
Failed requests parsed from IIS error logs. |
|
IIS Failed Request |
|
X |
Entries from the IIS failed request log. |
⚙️ .NET Runtime KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
NET CPU Sampler |
|
X |
Per-tick CLR profiler CPU stack sample (agent collected). |
|
NET Classloader Failures |
|
X |
Peak number of classes that failed to load since the application started. |
|
NET Classloader Size |
|
X |
Bytes committed by the class loader across all AppDomains. |
|
NET Context Switch Rate |
|
X |
Rate of thread context switches across all CPUs on the server. |
|
NET Disk Read |
|
X |
Bytes read from disk by the target process since the last sample (agent collected). |
|
NET Disk Write |
|
X |
Bytes written to disk by the target process since the last sample (agent collected). |
|
NET Exception |
|
X |
A managed exception captured by the CLR profiler, with stack trace (agent collected). |
|
NET Exception Rate |
|
X |
Exceptions thrown per second. |
|
NET Process |
|
X |
Periodic process-level CPU% and working-set memory sample (agent collected). |
|
NET Process Handles |
|
X |
Current open handle count for the target process — classic native-leak signal (agent collected). |
|
NET Process Thread Count |
|
X |
Number of threads currently active in the process. |
|
NET Thread |
|
X |
Per-thread CPU time/state via WMI Win32_Thread (agent collected). |
|
NET ThreadPool Threads |
|
X |
Best-effort count of active .NET ThreadPool threads, name-matched (agent collected). |
♻️ .NET Garbage Collection & Memory KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
NET GC Collections |
|
X |
Cumulative GC count across all three generations (agent collected). |
|
NET GC Count Gen 0 / Gen 1 / Gen 2 |
|
X |
Number of times that generation's objects were garbage collected. |
|
NET GC Heap Size Gen 2 |
|
X |
Current bytes resident in generation 2. |
|
NET GC Pause |
|
X |
Duration of the most recent GC pause, event driven (agent collected). |
|
NET GC Time |
|
X |
Percent of elapsed time spent performing garbage collection. |
|
NET GDI Objects |
|
X |
Current GDI object count owned by the target process — classic native-leak signal (agent collected). |
|
NET USER Objects |
|
X |
Current USER object count (windows, menus, hooks) owned by the target process — classic native-leak signal (agent collected). |
🧵 .NET Threading KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
NET Thread Contention Rate |
|
X |
Rate at which threads unsuccessfully attempt to acquire a managed lock. |
|
NET Thread Queue Length |
|
X |
Threads currently waiting to acquire a managed lock. |
📤 .NET Web Request KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
NET Requests Failed Rate |
|
X |
Outbound HttpWebRequests receiving a failed status code, per second. |
|
NET Web Request Average Lifetime |
|
X |
Average completion time for outbound HttpWebRequests. |
|
NET Web Request Average Queue Time |
|
X |
Average time outbound HttpWebRequests spent queued. |
|
NET Web Requests Abort Rate |
|
X |
Outbound HttpWebRequests aborted per second. |
|
NET Web Requests Queue Rate |
|
X |
Outbound HttpWebRequests added to the queue per second. |
|
Outbound HTTP Request |
|
X |
Outbound HTTP call timing broken into connect/wait/download phases. |
💻 Windows System KPIs
|
KPI Name |
UX Level |
Technology Level |
Description |
|---|---|---|---|
|
Windows App Event |
|
X |
Application lifecycle events (Startup, Shutdown, window Created/Destroyed) reported by the UIA worker. |
|
Windows System Error |
|
X |
Error events on the monitored system. |
|
Windows System Warning |
|
X |
Warning events on the monitored system. |