# HELP slot_defence_process_cpu_user_seconds_total Total user CPU time spent in seconds. # TYPE slot_defence_process_cpu_user_seconds_total counter slot_defence_process_cpu_user_seconds_total 7066.284533999999 # HELP slot_defence_process_cpu_system_seconds_total Total system CPU time spent in seconds. # TYPE slot_defence_process_cpu_system_seconds_total counter slot_defence_process_cpu_system_seconds_total 3469.444685 # HELP slot_defence_process_cpu_seconds_total Total user and system CPU time spent in seconds. # TYPE slot_defence_process_cpu_seconds_total counter slot_defence_process_cpu_seconds_total 10535.729218999999 # HELP slot_defence_process_start_time_seconds Start time of the process since unix epoch in seconds. # TYPE slot_defence_process_start_time_seconds gauge slot_defence_process_start_time_seconds 1786377480 # HELP slot_defence_process_resident_memory_bytes Resident memory size in bytes. # TYPE slot_defence_process_resident_memory_bytes gauge slot_defence_process_resident_memory_bytes 96133120 # HELP slot_defence_process_virtual_memory_bytes Virtual memory size in bytes. # TYPE slot_defence_process_virtual_memory_bytes gauge slot_defence_process_virtual_memory_bytes 44246286336 # HELP slot_defence_process_heap_bytes Process heap size in bytes. # TYPE slot_defence_process_heap_bytes gauge slot_defence_process_heap_bytes 132530176 # HELP slot_defence_process_open_fds Number of open file descriptors. # TYPE slot_defence_process_open_fds gauge slot_defence_process_open_fds 32 # HELP slot_defence_process_max_fds Maximum number of open file descriptors. # TYPE slot_defence_process_max_fds gauge slot_defence_process_max_fds 10240 # HELP slot_defence_nodejs_eventloop_lag_seconds Lag of event loop in seconds. # TYPE slot_defence_nodejs_eventloop_lag_seconds gauge slot_defence_nodejs_eventloop_lag_seconds 0.00162453 # HELP slot_defence_nodejs_eventloop_lag_min_seconds The minimum recorded event loop delay. # TYPE slot_defence_nodejs_eventloop_lag_min_seconds gauge slot_defence_nodejs_eventloop_lag_min_seconds 0.008306688 # HELP slot_defence_nodejs_eventloop_lag_max_seconds The maximum recorded event loop delay. # TYPE slot_defence_nodejs_eventloop_lag_max_seconds gauge slot_defence_nodejs_eventloop_lag_max_seconds 0.035389439 # HELP slot_defence_nodejs_eventloop_lag_mean_seconds The mean of the recorded event loop delays. # TYPE slot_defence_nodejs_eventloop_lag_mean_seconds gauge slot_defence_nodejs_eventloop_lag_mean_seconds 0.010157531607166894 # HELP slot_defence_nodejs_eventloop_lag_stddev_seconds The standard deviation of the recorded event loop delays. # TYPE slot_defence_nodejs_eventloop_lag_stddev_seconds gauge slot_defence_nodejs_eventloop_lag_stddev_seconds 0.00016390585064452243 # HELP slot_defence_nodejs_eventloop_lag_p50_seconds The 50th percentile of the recorded event loop delays. # TYPE slot_defence_nodejs_eventloop_lag_p50_seconds gauge slot_defence_nodejs_eventloop_lag_p50_seconds 0.010158079 # HELP slot_defence_nodejs_eventloop_lag_p90_seconds The 90th percentile of the recorded event loop delays. # TYPE slot_defence_nodejs_eventloop_lag_p90_seconds gauge slot_defence_nodejs_eventloop_lag_p90_seconds 0.010182655 # HELP slot_defence_nodejs_eventloop_lag_p99_seconds The 99th percentile of the recorded event loop delays. # TYPE slot_defence_nodejs_eventloop_lag_p99_seconds gauge slot_defence_nodejs_eventloop_lag_p99_seconds 0.010321919 # HELP slot_defence_nodejs_active_resources Number of active resources that are currently keeping the event loop alive, grouped by async resource type. # TYPE slot_defence_nodejs_active_resources gauge slot_defence_nodejs_active_resources{type="PipeWrap"} 2 slot_defence_nodejs_active_resources{type="TCPServerWrap"} 1 slot_defence_nodejs_active_resources{type="TCPSocketWrap"} 2 slot_defence_nodejs_active_resources{type="Immediate"} 1 # HELP slot_defence_nodejs_active_resources_total Total number of active resources. # TYPE slot_defence_nodejs_active_resources_total gauge slot_defence_nodejs_active_resources_total 6 # HELP slot_defence_nodejs_active_handles Number of active libuv handles grouped by handle type. Every handle type is C++ class name. # TYPE slot_defence_nodejs_active_handles gauge slot_defence_nodejs_active_handles{type="Socket"} 3 slot_defence_nodejs_active_handles{type="Server"} 1 slot_defence_nodejs_active_handles{type="TLSSocket"} 1 # HELP slot_defence_nodejs_active_handles_total Total number of active handles. # TYPE slot_defence_nodejs_active_handles_total gauge slot_defence_nodejs_active_handles_total 5 # HELP slot_defence_nodejs_active_requests Number of active libuv requests grouped by request type. Every request type is C++ class name. # TYPE slot_defence_nodejs_active_requests gauge # HELP slot_defence_nodejs_active_requests_total Total number of active requests. # TYPE slot_defence_nodejs_active_requests_total gauge slot_defence_nodejs_active_requests_total 0 # HELP slot_defence_nodejs_heap_size_total_bytes Process heap size from Node.js in bytes. # TYPE slot_defence_nodejs_heap_size_total_bytes gauge slot_defence_nodejs_heap_size_total_bytes 33746944 # HELP slot_defence_nodejs_heap_size_used_bytes Process heap size used from Node.js in bytes. # TYPE slot_defence_nodejs_heap_size_used_bytes gauge slot_defence_nodejs_heap_size_used_bytes 27835336 # HELP slot_defence_nodejs_external_memory_bytes Node.js external memory size in bytes. # TYPE slot_defence_nodejs_external_memory_bytes gauge slot_defence_nodejs_external_memory_bytes 4288037 # HELP slot_defence_nodejs_heap_space_size_total_bytes Process heap space size total from Node.js in bytes. # TYPE slot_defence_nodejs_heap_space_size_total_bytes gauge slot_defence_nodejs_heap_space_size_total_bytes{space="read_only"} 0 slot_defence_nodejs_heap_space_size_total_bytes{space="new"} 1048576 slot_defence_nodejs_heap_space_size_total_bytes{space="old"} 27754496 slot_defence_nodejs_heap_space_size_total_bytes{space="code"} 3932160 slot_defence_nodejs_heap_space_size_total_bytes{space="shared"} 0 slot_defence_nodejs_heap_space_size_total_bytes{space="new_large_object"} 0 slot_defence_nodejs_heap_space_size_total_bytes{space="large_object"} 856064 slot_defence_nodejs_heap_space_size_total_bytes{space="code_large_object"} 155648 slot_defence_nodejs_heap_space_size_total_bytes{space="shared_large_object"} 0 # HELP slot_defence_nodejs_heap_space_size_used_bytes Process heap space size used from Node.js in bytes. # TYPE slot_defence_nodejs_heap_space_size_used_bytes gauge slot_defence_nodejs_heap_space_size_used_bytes{space="read_only"} 0 slot_defence_nodejs_heap_space_size_used_bytes{space="new"} 654080 slot_defence_nodejs_heap_space_size_used_bytes{space="old"} 23095640 slot_defence_nodejs_heap_space_size_used_bytes{space="code"} 3123728 slot_defence_nodejs_heap_space_size_used_bytes{space="shared"} 0 slot_defence_nodejs_heap_space_size_used_bytes{space="new_large_object"} 0 slot_defence_nodejs_heap_space_size_used_bytes{space="large_object"} 827256 slot_defence_nodejs_heap_space_size_used_bytes{space="code_large_object"} 138432 slot_defence_nodejs_heap_space_size_used_bytes{space="shared_large_object"} 0 # HELP slot_defence_nodejs_heap_space_size_available_bytes Process heap space size available from Node.js in bytes. # TYPE slot_defence_nodejs_heap_space_size_available_bytes gauge slot_defence_nodejs_heap_space_size_available_bytes{space="read_only"} 0 slot_defence_nodejs_heap_space_size_available_bytes{space="new"} 376800 slot_defence_nodejs_heap_space_size_available_bytes{space="old"} 4142968 slot_defence_nodejs_heap_space_size_available_bytes{space="code"} 561936 slot_defence_nodejs_heap_space_size_available_bytes{space="shared"} 0 slot_defence_nodejs_heap_space_size_available_bytes{space="new_large_object"} 1048576 slot_defence_nodejs_heap_space_size_available_bytes{space="large_object"} 0 slot_defence_nodejs_heap_space_size_available_bytes{space="code_large_object"} 0 slot_defence_nodejs_heap_space_size_available_bytes{space="shared_large_object"} 0 # HELP slot_defence_nodejs_version_info Node.js version info. # TYPE slot_defence_nodejs_version_info gauge slot_defence_nodejs_version_info{version="v20.20.2",major="20",minor="20",patch="2"} 1 # HELP slot_defence_nodejs_gc_duration_seconds Garbage collection duration by kind, one of major, minor, incremental or weakcb. # TYPE slot_defence_nodejs_gc_duration_seconds histogram slot_defence_nodejs_gc_duration_seconds_bucket{le="0.001",kind="minor"} 11797 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.01",kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.1",kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_bucket{le="1",kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_bucket{le="2",kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_bucket{le="5",kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_bucket{le="+Inf",kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_sum{kind="minor"} 7.186680095450667 slot_defence_nodejs_gc_duration_seconds_count{kind="minor"} 11898 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.001",kind="incremental"} 4 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.01",kind="incremental"} 70 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.1",kind="incremental"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="1",kind="incremental"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="2",kind="incremental"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="5",kind="incremental"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="+Inf",kind="incremental"} 71 slot_defence_nodejs_gc_duration_seconds_sum{kind="incremental"} 0.2645426752208588 slot_defence_nodejs_gc_duration_seconds_count{kind="incremental"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.001",kind="major"} 0 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.01",kind="major"} 65 slot_defence_nodejs_gc_duration_seconds_bucket{le="0.1",kind="major"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="1",kind="major"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="2",kind="major"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="5",kind="major"} 71 slot_defence_nodejs_gc_duration_seconds_bucket{le="+Inf",kind="major"} 71 slot_defence_nodejs_gc_duration_seconds_sum{kind="major"} 0.5436029968468067 slot_defence_nodejs_gc_duration_seconds_count{kind="major"} 71 # HELP slot_defence_check_requests_total Total number of POST /check requests handled successfully. # TYPE slot_defence_check_requests_total counter slot_defence_check_requests_total 49 # HELP slot_defence_check_decisions_total Total number of individual slot decisions returned by POST /check, broken down by outcome and reason (WORK-4 12-code reason enum). # TYPE slot_defence_check_decisions_total counter slot_defence_check_decisions_total{outcome="available",reason="anchor_in_range_with_capacity"} 1007 # HELP slot_defence_over_capacity_total Sum of trimmed driver-slot counts (WORK-6 X-Slot-Defence-Trimmed-Count header value) across all /check requests. Increments only when a request produces a positive trim count. # TYPE slot_defence_over_capacity_total counter slot_defence_over_capacity_total 0 # HELP slot_defence_osrm_calls_total Total outbound OSRM HTTP calls, broken down by outcome status (ok / error / timeout). # TYPE slot_defence_osrm_calls_total counter # HELP slot_defence_volume_defence_trips_total Total number of volume-defence trips — each time the atomic-reserve Lua returned cap-exceeded (i.e. a slot transitioned into temp-closed). Fires exactly once per (callerId, zone, hourWindow). # TYPE slot_defence_volume_defence_trips_total counter slot_defence_volume_defence_trips_total 0 # HELP slot_defence_volume_defence_decisions_total Total ops decisions recorded on POST /volume-defence/decisions, broken down by outcome (reopen / hold_closed). # TYPE slot_defence_volume_defence_decisions_total counter # HELP slot_defence_slack_trip_notifications_sent_total Total successful Slack chat.postMessage calls for volume-defence trips. # TYPE slot_defence_slack_trip_notifications_sent_total counter slot_defence_slack_trip_notifications_sent_total 0 # HELP slot_defence_slack_notify_failures_total Total failed Slack outbound calls, broken down by outcome (timeout / network_error / http_error / slack_error). # TYPE slot_defence_slack_notify_failures_total counter # HELP slot_defence_slack_trip_notifications_skipped_total Total volume-defence trips that produced NO Slack notification, by reason (feature_flag_off / channel_id_unset / demo_caller / duplicate_alert_suppressed). Reconciles slot_defence_volume_defence_trips_total against slot_defence_slack_trip_notifications_sent_total: trips = sent + failures + skipped. # TYPE slot_defence_slack_trip_notifications_skipped_total counter # HELP slot_defence_persistence_failures_total Total best-effort (fire-and-forget) Postgres write failures, by target table. Non-zero means the Slice 11 read-model is missing rows the service believed it had written. # TYPE slot_defence_persistence_failures_total counter slot_defence_persistence_failures_total{table="check_decisions"} 1 # HELP slot_defence_clustering_decisions_total Total per-request clustering decisions on POST /check, broken down by outcome. Fires once per /check request when clustering is active (feature flag on AND distribution attached). # TYPE slot_defence_clustering_decisions_total counter slot_defence_clustering_decisions_total{outcome="below_n"} 547 slot_defence_clustering_decisions_total{outcome="flagged"} 11 # HELP slot_defence_clustering_errors_total Total clustering computation errors (WORK-15 MC-10 degrade path fires), broken down by cause. Non-zero counts here indicate the graceful-degrade safety net is firing in production. # TYPE slot_defence_clustering_errors_total counter # HELP slot_defence_slack_interactions_total Total Slack interactive-component interactions handled, by outcome (applied_reopen / applied_hold_closed / refused_* / retried_later). # TYPE slot_defence_slack_interactions_total counter slot_defence_slack_interactions_total{outcome="refused_trip_not_found"} 3 # HELP slot_defence_check_duration_seconds End-to-end duration of a POST /check invocation, measured from controller entry to just before res.json(). Excludes JSON serialisation. # TYPE slot_defence_check_duration_seconds histogram slot_defence_check_duration_seconds_bucket{le="0.01"} 26 slot_defence_check_duration_seconds_bucket{le="0.025"} 30 slot_defence_check_duration_seconds_bucket{le="0.05"} 30 slot_defence_check_duration_seconds_bucket{le="0.1"} 37 slot_defence_check_duration_seconds_bucket{le="0.2"} 44 slot_defence_check_duration_seconds_bucket{le="0.3"} 49 slot_defence_check_duration_seconds_bucket{le="0.5"} 49 slot_defence_check_duration_seconds_bucket{le="1"} 49 slot_defence_check_duration_seconds_bucket{le="2"} 49 slot_defence_check_duration_seconds_bucket{le="+Inf"} 49 slot_defence_check_duration_seconds_sum 2.7334962069999995 slot_defence_check_duration_seconds_count 49