You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Utilization is computed as `RunningTime / Uptime`. A value of 0.50 means the process has spent 50% of its lifetime executing callbacks. The remaining time was spent waiting for messages. Processes with zero running time or zero uptime are excluded.
263
263
264
+
### Process Init Time Metrics
265
+
266
+
The metrics actor tracks how long each process spent in its `ProcessInit` callback. This identifies actors with slow initialization -- heavy setup, blocking I/O, or synchronous calls during init.
267
+
268
+
No build tags required. Init time metrics are always active.
269
+
270
+
| Metric | Type | Labels | Description |
271
+
|--------|------|--------|-------------|
272
+
|`ergo_process_init_time_max_seconds`| Gauge | - | Maximum ProcessInit duration across all processes on this node |
Per-process message throughput top-N and node-level aggregates.
@@ -343,7 +354,7 @@ The dashboard includes a `$node` variable dropdown at the top. It allows selecti
343
354
Six stat panels showing aggregated values for selected nodes:
344
355
345
356
- **Total Processes** -- total number of processes across selected nodes
346
-
- **Running** -- number of running processes (green). A large gap between Total and Running indicates many processes are idle or waiting
357
+
- **Running** -- number of processes currently executing callbacks or waiting for a Call response. The gap between Total and Running is normal -- most processes spend their time in Sleep state (idle, waiting for messages)
347
358
- **Zombie** -- number of zombie processes (green when 0, red when 1 or more). Non-zero value signals that some processes have terminated abnormally and were not properly cleaned up -- requires investigation
348
359
- **Memory Used** -- total OS memory used across selected nodes
349
360
- **Memory Alloc** -- total runtime memory allocated across selected nodes. A significant difference between Used and Alloc may indicate memory fragmentation or that the runtime is holding memory that could be released
@@ -431,10 +442,10 @@ Two timeseries panels (message throughput overview):
431
442
- **Message Throughput (Cluster Total)** -- cluster-wide message rate showing total inbound (received by processes) and outbound (sent by processes). A sudden drop may indicate stalled processes or upstream failures
432
443
- **Message Throughput per Node** -- message rate per node showing inbound and outbound. Identifies nodes with the highest message flow
433
444
434
-
Two timeseries panels (message throughput top-N by rate):
445
+
Two table panels (message throughput top-N):
435
446
436
-
- **Top Processes by Inbound Rate** -- top 10 processes by current inbound message rate (msg/s). Shows which actors are receiving the most messages right now. Compare with mailbox depth -- high rate with low depth means the process handles messages quickly; high rate with growing depth means it's falling behind
437
-
- **Top Processes by Outbound Rate** -- top 10 processes by current outbound message rate (msg/s). Shows which actors generate the most messages right now. High outbound rate identifies the busiest senders -- event producers, dispatchers, coordinators
447
+
- **Top Processes by Messages In** -- top 50 processes by total messages received (cumulative). Identifies which actors handle the most inbound traffic
448
+
- **Top Processes by Messages Out** -- top 50 processes by total messages sent (cumulative). Identifies which actors generate the most outbound traffic
438
449
439
450
Two timeseries panels (utilization overview):
440
451
@@ -448,12 +459,14 @@ Two panels (utilization detail):
448
459
449
460
#### Processes (collapsed row)
450
461
451
-
A collapsed row containing four timeseries graphs. Click to expand.
462
+
A collapsed row containing six panels. Click to expand.
452
463
453
464
- **Processes (total)** -- total process count per node. Steady growth without a plateau may indicate a process leak (processes being spawned but never terminated)
454
465
- **Processes (running)** -- running process count per node. Helps identify load distribution across the cluster -- uneven running counts may point to hotspot nodes
455
466
- **Process Spawn Rate** -- rate of successfully spawned processes per node. Also shows failed spawn attempts (in red). Spawn failures indicate resource exhaustion or configuration errors. A sudden spike in spawn rate may signal a restart loop
456
467
- **Process Termination Rate** -- rate of terminated processes per node. When termination rate consistently exceeds spawn rate, the node is draining. When spawn rate exceeds termination rate, process count is growing -- correlate with the Processes panel to verify
468
+
- **Init Time per Node** -- bar gauge showing maximum ProcessInit duration per node. Color indicates severity: green < 100ms, yellow < 1s, red > 1s. Shows at a glance which nodes have slow initialization
469
+
- **Top Processes by Init Time** -- table showing processes with the longest ProcessInit duration. Identifies which actor types take the longest to initialize
0 commit comments