# HELP python_gc_objects_collected_total Objects collected during gc # TYPE python_gc_objects_collected_total counter python_gc_objects_collected_total{generation="0"} 52561.0 python_gc_objects_collected_total{generation="1"} 176764.0 python_gc_objects_collected_total{generation="2"} 23289.0 # HELP python_gc_objects_uncollectable_total Uncollectable objects found during GC # TYPE python_gc_objects_uncollectable_total counter python_gc_objects_uncollectable_total{generation="0"} 0.0 python_gc_objects_uncollectable_total{generation="1"} 0.0 python_gc_objects_uncollectable_total{generation="2"} 0.0 # HELP python_gc_collections_total Number of times this generation was collected # TYPE python_gc_collections_total counter python_gc_collections_total{generation="0"} 11474.0 python_gc_collections_total{generation="1"} 1043.0 python_gc_collections_total{generation="2"} 44.0 # HELP python_info Python platform information # TYPE python_info gauge python_info{implementation="CPython",major="3",minor="12",patchlevel="15",version="3.12.15"} 1.0 # HELP process_virtual_memory_bytes Virtual memory size in bytes. # TYPE process_virtual_memory_bytes gauge process_virtual_memory_bytes 3.040202752e+09 # HELP process_resident_memory_bytes Resident memory size in bytes. # TYPE process_resident_memory_bytes gauge process_resident_memory_bytes 2.17038848e+08 # HELP process_start_time_seconds Start time of the process since unix epoch in seconds. # TYPE process_start_time_seconds gauge process_start_time_seconds 1.79130061682e+09 # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. # TYPE process_cpu_seconds_total counter process_cpu_seconds_total 1230.6100000000001 # HELP process_open_fds Number of open file descriptors. # TYPE process_open_fds gauge process_open_fds 20.0 # HELP process_max_fds Maximum number of open file descriptors. # TYPE process_max_fds gauge process_max_fds 1.048576e+06 # HELP heatwave_http_requests_total Total HTTP requests # TYPE heatwave_http_requests_total counter heatwave_http_requests_total{method="GET",route="health/live",status="200"} 329.0 heatwave_http_requests_total{method="GET",route="health",status="200"} 645.0 heatwave_http_requests_total{method="GET",route="events/recent",status="200"} 11.0 heatwave_http_requests_total{method="GET",route="patterns/catalog",status="200"} 11.0 heatwave_http_requests_total{method="GET",route="analysis/runs",status="200"} 5.0 heatwave_http_requests_total{method="GET",route="patterns/stats",status="200"} 5.0 heatwave_http_requests_total{method="GET",route="api/patterns",status="404"} 10.0 heatwave_http_requests_total{method="GET",route="patterns/recent",status="404"} 5.0 heatwave_http_requests_total{method="GET",route="robots.txt",status="404"} 1.0 # HELP heatwave_http_requests_created Total HTTP requests # TYPE heatwave_http_requests_created gauge heatwave_http_requests_created{method="GET",route="health/live",status="200"} 1.7913006261829975e+09 heatwave_http_requests_created{method="GET",route="health",status="200"} 1.7913006686441023e+09 heatwave_http_requests_created{method="GET",route="events/recent",status="200"} 1.7914413877789483e+09 heatwave_http_requests_created{method="GET",route="patterns/catalog",status="200"} 1.791441387779644e+09 heatwave_http_requests_created{method="GET",route="analysis/runs",status="200"} 1.7914457294850576e+09 heatwave_http_requests_created{method="GET",route="patterns/stats",status="200"} 1.7914457313273592e+09 heatwave_http_requests_created{method="GET",route="api/patterns",status="404"} 1.7914457321202729e+09 heatwave_http_requests_created{method="GET",route="patterns/recent",status="404"} 1.7914457329248903e+09 heatwave_http_requests_created{method="GET",route="robots.txt",status="404"} 1.7916328808325598e+09 # HELP heatwave_http_request_duration_seconds HTTP request duration in seconds # TYPE heatwave_http_request_duration_seconds histogram heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="health/live"} 319.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="health/live"} 321.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="health/live"} 323.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="health/live"} 323.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="health/live"} 324.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="health/live"} 325.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_count{method="GET",route="health/live"} 329.0 heatwave_http_request_duration_seconds_sum{method="GET",route="health/live"} 2.4317363603040576 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="health"} 47.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="health"} 522.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="health"} 600.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="health"} 624.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="health"} 645.0 heatwave_http_request_duration_seconds_count{method="GET",route="health"} 645.0 heatwave_http_request_duration_seconds_sum{method="GET",route="health"} 4538.771661811508 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="events/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="events/recent"} 8.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="events/recent"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="events/recent"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="events/recent"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_count{method="GET",route="events/recent"} 11.0 heatwave_http_request_duration_seconds_sum{method="GET",route="events/recent"} 0.2834043838083744 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="patterns/catalog"} 7.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="patterns/catalog"} 9.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="patterns/catalog"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="patterns/catalog"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="patterns/catalog"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="patterns/catalog"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_count{method="GET",route="patterns/catalog"} 11.0 heatwave_http_request_duration_seconds_sum{method="GET",route="patterns/catalog"} 0.309206479229033 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="analysis/runs"} 0.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="analysis/runs"} 2.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="analysis/runs"} 5.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="analysis/runs"} 5.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="analysis/runs"} 5.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="analysis/runs"} 5.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="analysis/runs"} 5.0 heatwave_http_request_duration_seconds_count{method="GET",route="analysis/runs"} 5.0 heatwave_http_request_duration_seconds_sum{method="GET",route="analysis/runs"} 5.014663313515484 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="patterns/stats"} 0.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="patterns/stats"} 5.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="patterns/stats"} 5.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="patterns/stats"} 5.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="patterns/stats"} 5.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="patterns/stats"} 5.0 heatwave_http_request_duration_seconds_count{method="GET",route="patterns/stats"} 5.0 heatwave_http_request_duration_seconds_sum{method="GET",route="patterns/stats"} 5.627833207137883 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_count{method="GET",route="api/patterns"} 10.0 heatwave_http_request_duration_seconds_sum{method="GET",route="api/patterns"} 0.01386735588312149 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_count{method="GET",route="patterns/recent"} 5.0 heatwave_http_request_duration_seconds_sum{method="GET",route="patterns/recent"} 0.008619644679129124 heatwave_http_request_duration_seconds_bucket{le="0.005",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="0.01",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="0.025",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="0.05",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="0.1",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="0.25",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="0.5",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="1.0",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="2.5",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="5.0",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="10.0",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="30.0",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_bucket{le="+Inf",method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_count{method="GET",route="robots.txt"} 1.0 heatwave_http_request_duration_seconds_sum{method="GET",route="robots.txt"} 0.000948738306760788 # HELP heatwave_http_request_duration_seconds_created HTTP request duration in seconds # TYPE heatwave_http_request_duration_seconds_created gauge heatwave_http_request_duration_seconds_created{method="GET",route="health/live"} 1.7913006261830297e+09 heatwave_http_request_duration_seconds_created{method="GET",route="health"} 1.7913006686448944e+09 heatwave_http_request_duration_seconds_created{method="GET",route="events/recent"} 1.7914413877789721e+09 heatwave_http_request_duration_seconds_created{method="GET",route="patterns/catalog"} 1.7914413877796564e+09 heatwave_http_request_duration_seconds_created{method="GET",route="analysis/runs"} 1.7914457294850857e+09 heatwave_http_request_duration_seconds_created{method="GET",route="patterns/stats"} 1.791445731327383e+09 heatwave_http_request_duration_seconds_created{method="GET",route="api/patterns"} 1.7914457321203005e+09 heatwave_http_request_duration_seconds_created{method="GET",route="patterns/recent"} 1.791445732924914e+09 heatwave_http_request_duration_seconds_created{method="GET",route="robots.txt"} 1.7916328808325841e+09 # HELP heatwave_up Heatwave API process is running # TYPE heatwave_up gauge heatwave_up 1.0 # HELP heatwave_database_connected Database connectivity (1=ok) # TYPE heatwave_database_connected gauge heatwave_database_connected 1.0 # HELP heatwave_symbols_registered Registered trading symbols # TYPE heatwave_symbols_registered gauge heatwave_symbols_registered 21.0 # HELP heatwave_alert_rules Active alert rules # TYPE heatwave_alert_rules gauge heatwave_alert_rules 4.0 # HELP heatwave_failure_memories_total Failure memory records # TYPE heatwave_failure_memories_total gauge heatwave_failure_memories_total 559.0 # HELP heatwave_failure_memories_real Non-demo failure memories # TYPE heatwave_failure_memories_real gauge heatwave_failure_memories_real 549.0 # HELP heatwave_kafka_enabled Kafka event bus enabled # TYPE heatwave_kafka_enabled gauge heatwave_kafka_enabled 0.0 # HELP heatwave_kafka_connected Kafka broker reachable # TYPE heatwave_kafka_connected gauge heatwave_kafka_connected 0.0 # HELP heatwave_caption_llm_enabled Chart caption LLM enabled # TYPE heatwave_caption_llm_enabled gauge heatwave_caption_llm_enabled 1.0 # HELP heatwave_caption_vision_enabled Chart caption Vision enabled # TYPE heatwave_caption_vision_enabled gauge heatwave_caption_vision_enabled 1.0 # HELP heatwave_agent_llm_enabled Agent debate LLM judge enabled # TYPE heatwave_agent_llm_enabled gauge heatwave_agent_llm_enabled 1.0 # HELP heatwave_cex_candle_poll_enabled CEX background candle poller enabled # TYPE heatwave_cex_candle_poll_enabled gauge heatwave_cex_candle_poll_enabled 1.0 # HELP heatwave_cex_candle_poll_last_ok Last CEX poll cycle success (1=ok, 0=fail) # TYPE heatwave_cex_candle_poll_last_ok gauge heatwave_cex_candle_poll_last_ok 1.0 # HELP heatwave_kafka_candles_topic_configured Kafka candles topic env configured (1=yes) # TYPE heatwave_kafka_candles_topic_configured gauge heatwave_kafka_candles_topic_configured 0.0 # HELP heatwave_stale_cex_pairs CEX-backed asset pairs currently stale (sample) # TYPE heatwave_stale_cex_pairs gauge heatwave_stale_cex_pairs 3.0 # HELP heatwave_fm_maintenance_enabled Background FM maintenance worker enabled # TYPE heatwave_fm_maintenance_enabled gauge heatwave_fm_maintenance_enabled 1.0 # HELP heatwave_research_core_score Research core readiness score # TYPE heatwave_research_core_score gauge heatwave_research_core_score 115.0