| Function (File:Line) |
Call count |
Block coverage |
| accept_and_dispatch_client (src/server.c:434) | called 20 times, returned 20 times | 43.0% |
| add_cors_headers_to_buffer (src/router.c:192) | called 11 times, returned 11 times | 12.0% |
| add_global_security_headers (src/server.c:963) | called 3 times, returned 3 times | 36.0% |
| add_security_headers_to_buffer (src/router.c:164) | called 11 times, returned 11 times | 29.0% |
| alpn_select_cb (src/tls.c:153) | called 3 times, returned 3 times | 80.0% |
| apply_env_overrides (src/config.c:1001) | called 17 times, returned 17 times | 100.0% |
| apply_int_env_override (src/config.c:976) | called 102 times, returned 102 times | 100.0% |
| apply_string_env_override (src/config.c:992) | called 51 times, returned 51 times | 100.0% |
| backend_pool_acquire (src/backend_pool.c:164) | called 8 times, returned 8 times | 59.0% |
| backend_pool_circuit_breaker_allow_request (src/backend_pool.c:582) | called 7 times, returned 7 times | 80.0% |
| backend_pool_circuit_breaker_get_failure_count (src/backend_pool.c:677) | called 1 time, returned 1 time | 75.0% |
| backend_pool_circuit_breaker_get_state (src/backend_pool.c:669) | called 10 times, returned 10 times | 100.0% |
| backend_pool_circuit_breaker_get_total_closes (src/backend_pool.c:693) | called 1 time, returned 1 time | 75.0% |
| backend_pool_circuit_breaker_get_total_opens (src/backend_pool.c:685) | called 2 times, returned 2 times | 75.0% |
| backend_pool_circuit_breaker_record_failure (src/backend_pool.c:640) | called 12 times, returned 12 times | 100.0% |
| backend_pool_circuit_breaker_record_success (src/backend_pool.c:616) | called 2 times, returned 2 times | 70.0% |
| backend_pool_create (src/backend_pool.c:82) | called 12 times, returned 12 times | 65.0% |
| backend_pool_destroy (src/backend_pool.c:142) | called 12 times, returned 12 times | 93.0% |
| backend_pool_destroy_circuit_breaker (src/backend_pool.c:571) | called 6 times, returned 6 times | 80.0% |
| backend_pool_get_active_count (src/backend_pool.c:288) | not called | 0.0% |
| backend_pool_get_health (src/backend_pool.c:277) | not called | 0.0% |
| backend_pool_get_healthy_count (src/backend_pool.c:300) | called 3 times, returned 3 times | 90.0% |
| backend_pool_get_idle_count (src/backend_pool.c:294) | not called | 0.0% |
| backend_pool_get_overall_health (src/backend_pool.c:503) | not called | 0.0% |
| backend_pool_has_healthy_connection (src/backend_pool.c:317) | not called | 0.0% |
| backend_pool_init_circuit_breaker (src/backend_pool.c:548) | called 7 times, returned 7 times | 100.0% |
| backend_pool_mark_failure (src/backend_pool.c:259) | called 3 times, returned 3 times | 86.0% |
| backend_pool_mark_success (src/backend_pool.c:242) | called 4 times, returned 4 times | 88.0% |
| backend_pool_release (src/backend_pool.c:223) | called 7 times, returned 7 times | 88.0% |
| backend_pool_start_health_checker (src/backend_pool.c:476) | not called | 0.0% |
| backend_pool_stop_health_checker (src/backend_pool.c:493) | not called | 0.0% |
| backend_pool_update_metrics (src/backend_pool.c:517) | called 1 time, returned 1 time | 67.0% |
| check_rollover (src/log.c:67) | called 213 times, returned 213 times | 75.0% |
| cleanup_server_resources (src/server.c:289) | called 10 times, returned 10 times | 100.0% |
| cleanup_ssl_context (src/tls.c:231) | called 10 times, returned 10 times | 100.0% |
| client_task (src/server.c:1094) | called 10 times, returned 10 times | 56.0% |
| connect_backend_connection (src/backend_pool.c:76) | not called | 0.0% |
| connect_to_backend (src/http2_client.c:219) | not called | 0.0% |
| create_backend_connection (src/backend_pool.c:34) | called 29 times, returned 29 times | 53.0% |
| create_http2_client_ssl_ctx (src/http2_client.c:193) | not called | 0.0% |
| create_ssl_context (src/tls.c:32) | called 10 times, returned 10 times | 52.0% |
| destroy_backend_connection (src/backend_pool.c:66) | called 29 times, returned 29 times | 83.0% |
| drain_in_flight_requests (src/server.c:546) | called 10 times, returned 10 times | 35.0% |
| find_header_end (src/server.c:63) | called 9 times, returned 9 times | 92.0% |
| find_reverse_proxy_route (src/router.c:795) | not called | 0.0% |
| find_yaml_node (src/config.c:11) | called 1992 times, returned 1992 times | 93.0% |
| format_counter (src/metrics.c:272) | called 54 times, returned 54 times | 100.0% |
| format_gauge (src/metrics.c:282) | called 162 times, returned 162 times | 100.0% |
| format_histogram (src/metrics.c:292) | called 18 times, returned 18 times | 65.0% |
| generate_random (src/uuid.c:27) | called 292 times, returned 292 times | 100.0% |
| generate_uuid (src/uuid.c:62) | called 73 times, returned 73 times | 100.0% |
| get_cors_config_for_request (src/router.c:125) | called 12 times, returned 12 times | 69.0% |
| get_node_line (src/config.c:27) | called 975 times, returned 975 times | 75.0% |
| get_random_uint (src/uuid.c:54) | called 292 times, returned 292 times | 100.0% |
| get_security_headers_for_request (src/router.c:100) | called 12 times, returned 12 times | 73.0% |
| get_shard_index (src/ip_limiter.c:22) | called 3034 times, returned 3034 times | 100.0% |
| get_time_ns (src/ip_limiter.c:27) | called 2145 times, returned 2145 times | 100.0% |
| get_yaml_bool (src/config.c:254) | called 99 times, returned 99 times | 100.0% |
| get_yaml_bool_ext (src/config.c:231) | called 99 times, returned 99 times | 87.0% |
| get_yaml_int (src/config.c:173) | called 10 times, returned 10 times | 64.0% |
| get_yaml_int_in_range (src/config.c:204) | called 200 times, returned 200 times | 100.0% |
| get_yaml_int_in_range_ext (src/config.c:189) | called 200 times, returned 200 times | 80.0% |
| get_yaml_size_in_range (src/config.c:225) | called 87 times, returned 87 times | 100.0% |
| get_yaml_size_in_range_ext (src/config.c:210) | called 87 times, returned 87 times | 60.0% |
| get_yaml_string (src/config.c:136) | called 522 times, returned 522 times | 100.0% |
| get_yaml_string_ext (src/config.c:117) | called 522 times, returned 522 times | 60.0% |
| guess_content_type (src/router.c:314) | called 9 times, returned 9 times | 85.0% |
| h2_response_add_header (src/http2_response.c:21) | called 22 times, returned 22 times | 75.0% |
| h2_response_add_security_headers (src/http2_response.c:55) | called 5 times, returned 5 times | 92.0% |
| h2_response_finalize (src/http2_response.c:50) | called 1 time, returned 1 time | 100.0% |
| h2_response_init (src/http2_response.c:6) | called 5 times, returned 5 times | 100.0% |
| h2_response_set_body (src/http2_response.c:30) | called 4 times, returned 4 times | 67.0% |
| h2_response_set_body_len (src/http2_response.c:40) | called 1 time, returned 1 time | 100.0% |
| h2_response_set_content_type (src/http2_response.c:45) | called 4 times, returned 4 times | 100.0% |
| h2_response_set_status (src/http2_response.c:14) | called 5 times, returned 5 times | 75.0% |
| h2_session_init (src/server.c:783) | called 3 times, returned 3 times | 72.0% |
| h2_session_send_initial_settings (src/server.c:821) | called 3 times, returned 3 times | 46.0% |
| handle_client (src/server.c:1128) | called 10 times, returned 10 times | 71.0% |
| handle_health_check_failure (src/backend_pool.c:340) | not called | 0.0% |
| handle_health_check_success (src/backend_pool.c:322) | not called | 0.0% |
| handle_http1_connection (src/server.c:984) | called 7 times, returned 7 times | 82.0% |
| handle_http2_connection (src/server.c:839) | called 3 times, returned 3 times | 60.0% |
| handle_ip_limiter_rejection (src/server.c:420) | not called | 0.0% |
| handle_signal (src/server.c:617) | called 10 times, returned 10 times | 80.0% |
| has_matching_proxy_route (src/router.c:463) | not called | 0.0% |
| hash_ip (src/ip_limiter.c:12) | called 3033 times, returned 3033 times | 100.0% |
| health_check_thread (src/backend_pool.c:383) | not called | 0.0% |
| health_checker_get_health (src/backend_pool.c:468) | not called | 0.0% |
| health_checker_start (src/backend_pool.c:429) | not called | 0.0% |
| health_checker_stop (src/backend_pool.c:453) | not called | 0.0% |
| histogram_record (src/metrics.c:156) | called 122 times, returned 122 times | 100.0% |
| http2_body_read_callback (src/server.c:149) | called 3 times, returned 3 times | 83.0% |
| http2_client_cleanup (src/http2_client.c:547) | called 29 times, returned 29 times | 44.0% |
| http2_client_connect (src/http2_client.c:293) | not called | 0.0% |
| http2_client_data_read (src/http2_client.c:165) | not called | 0.0% |
| http2_client_get_error_code (src/http2_client.c:605) | not called | 0.0% |
| http2_client_get_response_body (src/http2_client.c:575) | not called | 0.0% |
| http2_client_get_response_length (src/http2_client.c:581) | not called | 0.0% |
| http2_client_get_response_status (src/http2_client.c:587) | not called | 0.0% |
| http2_client_has_error (src/http2_client.c:599) | not called | 0.0% |
| http2_client_init (src/http2_client.c:275) | called 29 times, returned 29 times | 71.0% |
| http2_client_is_done (src/http2_client.c:593) | not called | 0.0% |
| http2_client_on_data_chunk_recv (src/http2_client.c:126) | not called | 0.0% |
| http2_client_on_frame_recv (src/http2_client.c:107) | not called | 0.0% |
| http2_client_on_stream_close (src/http2_client.c:149) | not called | 0.0% |
| http2_client_recv_callback (src/http2_client.c:77) | not called | 0.0% |
| http2_client_recv_response (src/http2_client.c:476) | not called | 0.0% |
| http2_client_send_callback (src/http2_client.c:50) | not called | 0.0% |
| http2_client_send_request (src/http2_client.c:410) | not called | 0.0% |
| init_client_callbacks (src/http2_client.c:259) | called 29 times, returned 29 times | 82.0% |
| init_random_state (src/uuid.c:14) | called 14 times, returned 14 times | 100.0% |
| initialize_histogram (src/metrics.c:25) | called 36 times, returned 36 times | 100.0% |
| initialize_server (src/server.c:309) | called 10 times, returned 10 times | 41.0% |
| ip_limiter_check_and_increment (src/ip_limiter.c:77) | called 3020 times, returned 3020 times | 67.0% |
| ip_limiter_compact (src/ip_limiter.c:190) | called 1 time, returned 1 time | 22.0% |
| ip_limiter_decrement (src/ip_limiter.c:166) | called 14 times, returned 14 times | 92.0% |
| ip_limiter_destroy (src/ip_limiter.c:63) | called 20 times, returned 20 times | 88.0% |
| ip_limiter_get_rejections_total (src/ip_limiter.c:247) | called 3 times, returned 3 times | 100.0% |
| ip_limiter_get_total_entries (src/ip_limiter.c:239) | called 5 times, returned 5 times | 100.0% |
| ip_limiter_init (src/ip_limiter.c:34) | called 23 times, returned 23 times | 72.0% |
| is_health_check (src/router.c:95) | called 9 times, returned 9 times | 100.0% |
| load_config (src/config.c:891) | called 47 times, returned 47 times | 81.0% |
| log_init (src/log.c:145) | called 24 times, returned 24 times | 63.0% |
| log_io_uring_error (src/server.c:281) | not called | 0.0% |
| log_message (src/log.c:195) | called 327 times, returned 327 times | 86.0% |
| log_session_stats (src/tls.c:207) | called 20 times, returned 20 times | 92.0% |
| log_shutdown (src/log.c:224) | called 24 times, returned 24 times | 100.0% |
| logger_thread_func (src/log.c:96) | called 24 times, returned 24 times | 96.0% |
| lookup_static_file (src/router.c:337) | called 15 times, returned 15 times | 81.0% |
| main (src/main.c:13) | called 10 times, returned 10 times | 48.0% |
| mark_thread_exit (src/thread_pool.c:96) | called 326 times, returned 326 times | 100.0% |
| metrics_format_prometheus (src/metrics.c:357) | called 9 times, returned 9 times | 66.0% |
| metrics_free_format (src/metrics.c:504) | called 9 times, returned 9 times | 100.0% |
| metrics_increment_cors_headers_sent (src/metrics.c:196) | called 1 time, returned 1 time | 100.0% |
| metrics_increment_per_ip_limit_rejected (src/metrics.c:206) | not called | 0.0% |
| metrics_increment_request (src/metrics.c:173) | called 109 times, returned 109 times | 100.0% |
| metrics_increment_request_timeouts (src/metrics.c:186) | not called | 0.0% |
| metrics_increment_security_headers_sent (src/metrics.c:191) | called 3 times, returned 3 times | 100.0% |
| metrics_increment_tls_handshake (src/metrics.c:222) | called 13 times, returned 13 times | 100.0% |
| metrics_init (src/metrics.c:37) | called 18 times, returned 18 times | 100.0% |
| metrics_record_request_duration (src/metrics.c:181) | called 110 times, returned 110 times | 100.0% |
| metrics_record_tls_handshake_duration (src/metrics.c:228) | called 12 times, returned 12 times | 100.0% |
| metrics_server_thread (src/metrics.c:511) | called 10 times, returned 10 times | 39.0% |
| metrics_set_active_connections (src/metrics.c:201) | called 122 times, returned 122 times | 100.0% |
| metrics_set_backend_pool_stats (src/metrics.c:244) | called 1 time, returned 1 time | 100.0% |
| metrics_set_circuit_breaker_stats (src/metrics.c:262) | not called | 0.0% |
| metrics_set_health_checker_stats (src/metrics.c:252) | not called | 0.0% |
| metrics_set_io_uring_depth (src/metrics.c:233) | not called | 0.0% |
| metrics_set_ip_limiter_entries (src/metrics.c:211) | not called | 0.0% |
| metrics_set_shutdown_drain (src/metrics.c:239) | called 2 times, returned 2 times | 100.0% |
| metrics_set_thread_pool_stats (src/metrics.c:216) | called 1 time, returned 1 time | 100.0% |
| metrics_shutdown (src/metrics.c:148) | called 18 times, returned 18 times | 100.0% |
| metrics_start_server (src/metrics.c:564) | called 10 times, returned 10 times | 52.0% |
| metrics_stop_server (src/metrics.c:609) | called 18 times, returned 18 times | 100.0% |
| on_frame_recv_callback (src/server.c:182) | called 6 times, returned 6 times | 67.0% |
| on_header_callback (src/server.c:77) | called 12 times, returned 12 times | 76.0% |
| on_stream_close_callback (src/server.c:252) | called 3 times, returned 3 times | 100.0% |
| parse_appender_flags (src/config.c:285) | called 31 times, returned 31 times | 62.0% |
| parse_backend_url (src/config.c:560) | called 27 times, returned 27 times | 77.0% |
| parse_circuit_breaker_config (src/config.c:415) | called 51 times, returned 51 times | 13.0% |
| parse_connection_pool_config (src/config.c:383) | called 51 times, returned 51 times | 18.0% |
| parse_cors_config (src/config.c:503) | called 51 times, returned 51 times | 100.0% |
| parse_health_check_config (src/config.c:320) | called 51 times, returned 51 times | 8.0% |
| parse_http2_section (src/config.c:720) | called 19 times, returned 19 times | 67.0% |
| parse_http_request (src/http_parser.c:8) | called 13 times, returned 13 times | 86.0% |
| parse_int_in_range (src/config.c:141) | called 200 times, returned 200 times | 100.0% |
| parse_log_format (src/config.c:274) | called 31 times, returned 31 times | 86.0% |
| parse_log_level (src/config.c:259) | called 31 times, returned 31 times | 91.0% |
| parse_logging_section (src/config.c:642) | called 31 times, returned 31 times | 57.0% |
| parse_route_entry (src/config.c:737) | called 51 times, returned 51 times | 62.0% |
| parse_routes_section (src/config.c:844) | called 32 times, returned 32 times | 61.0% |
| parse_security_headers_config (src/config.c:457) | called 93 times, returned 93 times | 97.0% |
| parse_server_section (src/config.c:621) | called 31 times, returned 31 times | 57.0% |
| parse_size_in_range (src/config.c:157) | called 87 times, returned 87 times | 82.0% |
| parse_ssl_section (src/config.c:698) | called 45 times, returned 45 times | 65.0% |
| perform_health_check (src/backend_pool.c:359) | not called | 0.0% |
| perform_nonblocking_ssl_accept (src/server.c:723) | called 10 times, returned 10 times | 33.0% |
| perform_shutdown (src/server.c:602) | called 10 times, returned 10 times | 71.0% |
| populate_http2_response (src/router.c:293) | called 3 times, returned 3 times | 80.0% |
| proxy_bidirectional_tls (src/router.c:559) | not called | 0.0% |
| proxy_request_http2 (src/router.c:814) | not called | 0.0% |
| proxy_request_tls (src/router.c:607) | not called | 0.0% |
| proxy_to_backend_direct (src/router.c:731) | not called | 0.0% |
| proxy_to_backend_pooled (src/router.c:670) | not called | 0.0% |
| recv_callback (src/server.c:685) | called 15 times, returned 15 times | 72.0% |
| rollover_log_file (src/log.c:39) | not called | 0.0% |
| route_request_tls (src/router.c:841) | called 9 times, returned 9 times | 48.0% |
| send_429_response (src/server.c:405) | not called | 0.0% |
| send_callback (src/server.c:653) | called 12 times, returned 12 times | 31.0% |
| send_health_response (src/router.c:44) | called 2 times, returned 2 times | 27.0% |
| send_simple_response_with_config (src/router.c:257) | called 3 times, returned 3 times | 68.0% |
| serve_static_h2 (src/router.c:412) | called 2 times, returned 2 times | 72.0% |
| serve_static_tls (src/router.c:484) | called 15 times, returned 15 times | 78.0% |
| session_new_callback (src/tls.c:170) | called 20 times, returned 20 times | 88.0% |
| session_remove_callback (src/tls.c:196) | not called | 0.0% |
| set_config_defaults (src/config.c:80) | called 47 times, returned 47 times | 100.0% |
| set_h2_response (src/router.c:659) | not called | 0.0% |
| ssl_write_all (src/router.c:147) | called 23 times, returned 23 times | 88.0% |
| start_server (src/server.c:1170) | called 10 times, returned 10 times | 62.0% |
| task_queue_destroy (src/thread_pool.c:57) | called 13 times, returned 13 times | 100.0% |
| task_queue_init (src/thread_pool.c:47) | called 13 times, returned 13 times | 100.0% |
| task_queue_pop (src/thread_pool.c:87) | called 22 times, returned 22 times | 75.0% |
| task_queue_push (src/thread_pool.c:62) | called 22 times, returned 22 times | 27.0% |
| thread_pool_add_task (src/thread_pool.c:211) | called 22 times, returned 22 times | 75.0% |
| thread_pool_create (src/thread_pool.c:147) | called 13 times, returned 13 times | 50.0% |
| thread_pool_destroy (src/thread_pool.c:251) | called 13 times, returned 13 times | 100.0% |
| validate_backend (src/config.c:580) | called 27 times, returned 27 times | 100.0% |
| validate_config (src/config.c:868) | called 42 times, returned 42 times | 62.0% |
| validate_routes (src/config.c:588) | called 42 times, returned 42 times | 83.0% |
| worker_thread (src/thread_pool.c:106) | called 326 times, returned 0 time | 78.0% |