emme coverage


Directory: src/
Date: 2026-05-14 14:35:13
Exec Total Coverage
Lines: 2058 3458 59.5%
Functions: 159 210 75.7%
Branches: 904 2029 44.6%

Function (File:Line) Call count Block coverage
accept_and_dispatch_client (src/server.c:434)called 20 times, returned 20 times43.0%
add_cors_headers_to_buffer (src/router.c:192)called 11 times, returned 11 times12.0%
add_global_security_headers (src/server.c:963)called 3 times, returned 3 times36.0%
add_security_headers_to_buffer (src/router.c:164)called 11 times, returned 11 times29.0%
alpn_select_cb (src/tls.c:153)called 3 times, returned 3 times80.0%
apply_env_overrides (src/config.c:1001)called 17 times, returned 17 times100.0%
apply_int_env_override (src/config.c:976)called 102 times, returned 102 times100.0%
apply_string_env_override (src/config.c:992)called 51 times, returned 51 times100.0%
backend_pool_acquire (src/backend_pool.c:164)called 8 times, returned 8 times59.0%
backend_pool_circuit_breaker_allow_request (src/backend_pool.c:582)called 7 times, returned 7 times80.0%
backend_pool_circuit_breaker_get_failure_count (src/backend_pool.c:677)called 1 time, returned 1 time75.0%
backend_pool_circuit_breaker_get_state (src/backend_pool.c:669)called 10 times, returned 10 times100.0%
backend_pool_circuit_breaker_get_total_closes (src/backend_pool.c:693)called 1 time, returned 1 time75.0%
backend_pool_circuit_breaker_get_total_opens (src/backend_pool.c:685)called 2 times, returned 2 times75.0%
backend_pool_circuit_breaker_record_failure (src/backend_pool.c:640)called 12 times, returned 12 times100.0%
backend_pool_circuit_breaker_record_success (src/backend_pool.c:616)called 2 times, returned 2 times70.0%
backend_pool_create (src/backend_pool.c:82)called 12 times, returned 12 times65.0%
backend_pool_destroy (src/backend_pool.c:142)called 12 times, returned 12 times93.0%
backend_pool_destroy_circuit_breaker (src/backend_pool.c:571)called 6 times, returned 6 times80.0%
backend_pool_get_active_count (src/backend_pool.c:288)not called0.0%
backend_pool_get_health (src/backend_pool.c:277)not called0.0%
backend_pool_get_healthy_count (src/backend_pool.c:300)called 3 times, returned 3 times90.0%
backend_pool_get_idle_count (src/backend_pool.c:294)not called0.0%
backend_pool_get_overall_health (src/backend_pool.c:503)not called0.0%
backend_pool_has_healthy_connection (src/backend_pool.c:317)not called0.0%
backend_pool_init_circuit_breaker (src/backend_pool.c:548)called 7 times, returned 7 times100.0%
backend_pool_mark_failure (src/backend_pool.c:259)called 3 times, returned 3 times86.0%
backend_pool_mark_success (src/backend_pool.c:242)called 4 times, returned 4 times88.0%
backend_pool_release (src/backend_pool.c:223)called 7 times, returned 7 times88.0%
backend_pool_start_health_checker (src/backend_pool.c:476)not called0.0%
backend_pool_stop_health_checker (src/backend_pool.c:493)not called0.0%
backend_pool_update_metrics (src/backend_pool.c:517)called 1 time, returned 1 time67.0%
check_rollover (src/log.c:67)called 213 times, returned 213 times75.0%
cleanup_server_resources (src/server.c:289)called 10 times, returned 10 times100.0%
cleanup_ssl_context (src/tls.c:231)called 10 times, returned 10 times100.0%
client_task (src/server.c:1094)called 10 times, returned 10 times56.0%
connect_backend_connection (src/backend_pool.c:76)not called0.0%
connect_to_backend (src/http2_client.c:219)not called0.0%
create_backend_connection (src/backend_pool.c:34)called 29 times, returned 29 times53.0%
create_http2_client_ssl_ctx (src/http2_client.c:193)not called0.0%
create_ssl_context (src/tls.c:32)called 10 times, returned 10 times52.0%
destroy_backend_connection (src/backend_pool.c:66)called 29 times, returned 29 times83.0%
drain_in_flight_requests (src/server.c:546)called 10 times, returned 10 times35.0%
find_header_end (src/server.c:63)called 9 times, returned 9 times92.0%
find_reverse_proxy_route (src/router.c:795)not called0.0%
find_yaml_node (src/config.c:11)called 1992 times, returned 1992 times93.0%
format_counter (src/metrics.c:272)called 54 times, returned 54 times100.0%
format_gauge (src/metrics.c:282)called 162 times, returned 162 times100.0%
format_histogram (src/metrics.c:292)called 18 times, returned 18 times65.0%
generate_random (src/uuid.c:27)called 292 times, returned 292 times100.0%
generate_uuid (src/uuid.c:62)called 73 times, returned 73 times100.0%
get_cors_config_for_request (src/router.c:125)called 12 times, returned 12 times69.0%
get_node_line (src/config.c:27)called 975 times, returned 975 times75.0%
get_random_uint (src/uuid.c:54)called 292 times, returned 292 times100.0%
get_security_headers_for_request (src/router.c:100)called 12 times, returned 12 times73.0%
get_shard_index (src/ip_limiter.c:22)called 3034 times, returned 3034 times100.0%
get_time_ns (src/ip_limiter.c:27)called 2145 times, returned 2145 times100.0%
get_yaml_bool (src/config.c:254)called 99 times, returned 99 times100.0%
get_yaml_bool_ext (src/config.c:231)called 99 times, returned 99 times87.0%
get_yaml_int (src/config.c:173)called 10 times, returned 10 times64.0%
get_yaml_int_in_range (src/config.c:204)called 200 times, returned 200 times100.0%
get_yaml_int_in_range_ext (src/config.c:189)called 200 times, returned 200 times80.0%
get_yaml_size_in_range (src/config.c:225)called 87 times, returned 87 times100.0%
get_yaml_size_in_range_ext (src/config.c:210)called 87 times, returned 87 times60.0%
get_yaml_string (src/config.c:136)called 522 times, returned 522 times100.0%
get_yaml_string_ext (src/config.c:117)called 522 times, returned 522 times60.0%
guess_content_type (src/router.c:314)called 9 times, returned 9 times85.0%
h2_response_add_header (src/http2_response.c:21)called 22 times, returned 22 times75.0%
h2_response_add_security_headers (src/http2_response.c:55)called 5 times, returned 5 times92.0%
h2_response_finalize (src/http2_response.c:50)called 1 time, returned 1 time100.0%
h2_response_init (src/http2_response.c:6)called 5 times, returned 5 times100.0%
h2_response_set_body (src/http2_response.c:30)called 4 times, returned 4 times67.0%
h2_response_set_body_len (src/http2_response.c:40)called 1 time, returned 1 time100.0%
h2_response_set_content_type (src/http2_response.c:45)called 4 times, returned 4 times100.0%
h2_response_set_status (src/http2_response.c:14)called 5 times, returned 5 times75.0%
h2_session_init (src/server.c:783)called 3 times, returned 3 times72.0%
h2_session_send_initial_settings (src/server.c:821)called 3 times, returned 3 times46.0%
handle_client (src/server.c:1128)called 10 times, returned 10 times71.0%
handle_health_check_failure (src/backend_pool.c:340)not called0.0%
handle_health_check_success (src/backend_pool.c:322)not called0.0%
handle_http1_connection (src/server.c:984)called 7 times, returned 7 times82.0%
handle_http2_connection (src/server.c:839)called 3 times, returned 3 times60.0%
handle_ip_limiter_rejection (src/server.c:420)not called0.0%
handle_signal (src/server.c:617)called 10 times, returned 10 times80.0%
has_matching_proxy_route (src/router.c:463)not called0.0%
hash_ip (src/ip_limiter.c:12)called 3033 times, returned 3033 times100.0%
health_check_thread (src/backend_pool.c:383)not called0.0%
health_checker_get_health (src/backend_pool.c:468)not called0.0%
health_checker_start (src/backend_pool.c:429)not called0.0%
health_checker_stop (src/backend_pool.c:453)not called0.0%
histogram_record (src/metrics.c:156)called 122 times, returned 122 times100.0%
http2_body_read_callback (src/server.c:149)called 3 times, returned 3 times83.0%
http2_client_cleanup (src/http2_client.c:547)called 29 times, returned 29 times44.0%
http2_client_connect (src/http2_client.c:293)not called0.0%
http2_client_data_read (src/http2_client.c:165)not called0.0%
http2_client_get_error_code (src/http2_client.c:605)not called0.0%
http2_client_get_response_body (src/http2_client.c:575)not called0.0%
http2_client_get_response_length (src/http2_client.c:581)not called0.0%
http2_client_get_response_status (src/http2_client.c:587)not called0.0%
http2_client_has_error (src/http2_client.c:599)not called0.0%
http2_client_init (src/http2_client.c:275)called 29 times, returned 29 times71.0%
http2_client_is_done (src/http2_client.c:593)not called0.0%
http2_client_on_data_chunk_recv (src/http2_client.c:126)not called0.0%
http2_client_on_frame_recv (src/http2_client.c:107)not called0.0%
http2_client_on_stream_close (src/http2_client.c:149)not called0.0%
http2_client_recv_callback (src/http2_client.c:77)not called0.0%
http2_client_recv_response (src/http2_client.c:476)not called0.0%
http2_client_send_callback (src/http2_client.c:50)not called0.0%
http2_client_send_request (src/http2_client.c:410)not called0.0%
init_client_callbacks (src/http2_client.c:259)called 29 times, returned 29 times82.0%
init_random_state (src/uuid.c:14)called 14 times, returned 14 times100.0%
initialize_histogram (src/metrics.c:25)called 36 times, returned 36 times100.0%
initialize_server (src/server.c:309)called 10 times, returned 10 times41.0%
ip_limiter_check_and_increment (src/ip_limiter.c:77)called 3020 times, returned 3020 times67.0%
ip_limiter_compact (src/ip_limiter.c:190)called 1 time, returned 1 time22.0%
ip_limiter_decrement (src/ip_limiter.c:166)called 14 times, returned 14 times92.0%
ip_limiter_destroy (src/ip_limiter.c:63)called 20 times, returned 20 times88.0%
ip_limiter_get_rejections_total (src/ip_limiter.c:247)called 3 times, returned 3 times100.0%
ip_limiter_get_total_entries (src/ip_limiter.c:239)called 5 times, returned 5 times100.0%
ip_limiter_init (src/ip_limiter.c:34)called 23 times, returned 23 times72.0%
is_health_check (src/router.c:95)called 9 times, returned 9 times100.0%
load_config (src/config.c:891)called 47 times, returned 47 times81.0%
log_init (src/log.c:145)called 24 times, returned 24 times63.0%
log_io_uring_error (src/server.c:281)not called0.0%
log_message (src/log.c:195)called 327 times, returned 327 times86.0%
log_session_stats (src/tls.c:207)called 20 times, returned 20 times92.0%
log_shutdown (src/log.c:224)called 24 times, returned 24 times100.0%
logger_thread_func (src/log.c:96)called 24 times, returned 24 times96.0%
lookup_static_file (src/router.c:337)called 15 times, returned 15 times81.0%
main (src/main.c:13)called 10 times, returned 10 times48.0%
mark_thread_exit (src/thread_pool.c:96)called 326 times, returned 326 times100.0%
metrics_format_prometheus (src/metrics.c:357)called 9 times, returned 9 times66.0%
metrics_free_format (src/metrics.c:504)called 9 times, returned 9 times100.0%
metrics_increment_cors_headers_sent (src/metrics.c:196)called 1 time, returned 1 time100.0%
metrics_increment_per_ip_limit_rejected (src/metrics.c:206)not called0.0%
metrics_increment_request (src/metrics.c:173)called 109 times, returned 109 times100.0%
metrics_increment_request_timeouts (src/metrics.c:186)not called0.0%
metrics_increment_security_headers_sent (src/metrics.c:191)called 3 times, returned 3 times100.0%
metrics_increment_tls_handshake (src/metrics.c:222)called 13 times, returned 13 times100.0%
metrics_init (src/metrics.c:37)called 18 times, returned 18 times100.0%
metrics_record_request_duration (src/metrics.c:181)called 110 times, returned 110 times100.0%
metrics_record_tls_handshake_duration (src/metrics.c:228)called 12 times, returned 12 times100.0%
metrics_server_thread (src/metrics.c:511)called 10 times, returned 10 times39.0%
metrics_set_active_connections (src/metrics.c:201)called 122 times, returned 122 times100.0%
metrics_set_backend_pool_stats (src/metrics.c:244)called 1 time, returned 1 time100.0%
metrics_set_circuit_breaker_stats (src/metrics.c:262)not called0.0%
metrics_set_health_checker_stats (src/metrics.c:252)not called0.0%
metrics_set_io_uring_depth (src/metrics.c:233)not called0.0%
metrics_set_ip_limiter_entries (src/metrics.c:211)not called0.0%
metrics_set_shutdown_drain (src/metrics.c:239)called 2 times, returned 2 times100.0%
metrics_set_thread_pool_stats (src/metrics.c:216)called 1 time, returned 1 time100.0%
metrics_shutdown (src/metrics.c:148)called 18 times, returned 18 times100.0%
metrics_start_server (src/metrics.c:564)called 10 times, returned 10 times52.0%
metrics_stop_server (src/metrics.c:609)called 18 times, returned 18 times100.0%
on_frame_recv_callback (src/server.c:182)called 6 times, returned 6 times67.0%
on_header_callback (src/server.c:77)called 12 times, returned 12 times76.0%
on_stream_close_callback (src/server.c:252)called 3 times, returned 3 times100.0%
parse_appender_flags (src/config.c:285)called 31 times, returned 31 times62.0%
parse_backend_url (src/config.c:560)called 27 times, returned 27 times77.0%
parse_circuit_breaker_config (src/config.c:415)called 51 times, returned 51 times13.0%
parse_connection_pool_config (src/config.c:383)called 51 times, returned 51 times18.0%
parse_cors_config (src/config.c:503)called 51 times, returned 51 times100.0%
parse_health_check_config (src/config.c:320)called 51 times, returned 51 times8.0%
parse_http2_section (src/config.c:720)called 19 times, returned 19 times67.0%
parse_http_request (src/http_parser.c:8)called 13 times, returned 13 times86.0%
parse_int_in_range (src/config.c:141)called 200 times, returned 200 times100.0%
parse_log_format (src/config.c:274)called 31 times, returned 31 times86.0%
parse_log_level (src/config.c:259)called 31 times, returned 31 times91.0%
parse_logging_section (src/config.c:642)called 31 times, returned 31 times57.0%
parse_route_entry (src/config.c:737)called 51 times, returned 51 times62.0%
parse_routes_section (src/config.c:844)called 32 times, returned 32 times61.0%
parse_security_headers_config (src/config.c:457)called 93 times, returned 93 times97.0%
parse_server_section (src/config.c:621)called 31 times, returned 31 times57.0%
parse_size_in_range (src/config.c:157)called 87 times, returned 87 times82.0%
parse_ssl_section (src/config.c:698)called 45 times, returned 45 times65.0%
perform_health_check (src/backend_pool.c:359)not called0.0%
perform_nonblocking_ssl_accept (src/server.c:723)called 10 times, returned 10 times33.0%
perform_shutdown (src/server.c:602)called 10 times, returned 10 times71.0%
populate_http2_response (src/router.c:293)called 3 times, returned 3 times80.0%
proxy_bidirectional_tls (src/router.c:559)not called0.0%
proxy_request_http2 (src/router.c:814)not called0.0%
proxy_request_tls (src/router.c:607)not called0.0%
proxy_to_backend_direct (src/router.c:731)not called0.0%
proxy_to_backend_pooled (src/router.c:670)not called0.0%
recv_callback (src/server.c:685)called 15 times, returned 15 times72.0%
rollover_log_file (src/log.c:39)not called0.0%
route_request_tls (src/router.c:841)called 9 times, returned 9 times48.0%
send_429_response (src/server.c:405)not called0.0%
send_callback (src/server.c:653)called 12 times, returned 12 times31.0%
send_health_response (src/router.c:44)called 2 times, returned 2 times27.0%
send_simple_response_with_config (src/router.c:257)called 3 times, returned 3 times68.0%
serve_static_h2 (src/router.c:412)called 2 times, returned 2 times72.0%
serve_static_tls (src/router.c:484)called 15 times, returned 15 times78.0%
session_new_callback (src/tls.c:170)called 20 times, returned 20 times88.0%
session_remove_callback (src/tls.c:196)not called0.0%
set_config_defaults (src/config.c:80)called 47 times, returned 47 times100.0%
set_h2_response (src/router.c:659)not called0.0%
ssl_write_all (src/router.c:147)called 23 times, returned 23 times88.0%
start_server (src/server.c:1170)called 10 times, returned 10 times62.0%
task_queue_destroy (src/thread_pool.c:57)called 13 times, returned 13 times100.0%
task_queue_init (src/thread_pool.c:47)called 13 times, returned 13 times100.0%
task_queue_pop (src/thread_pool.c:87)called 22 times, returned 22 times75.0%
task_queue_push (src/thread_pool.c:62)called 22 times, returned 22 times27.0%
thread_pool_add_task (src/thread_pool.c:211)called 22 times, returned 22 times75.0%
thread_pool_create (src/thread_pool.c:147)called 13 times, returned 13 times50.0%
thread_pool_destroy (src/thread_pool.c:251)called 13 times, returned 13 times100.0%
validate_backend (src/config.c:580)called 27 times, returned 27 times100.0%
validate_config (src/config.c:868)called 42 times, returned 42 times62.0%
validate_routes (src/config.c:588)called 42 times, returned 42 times83.0%
worker_thread (src/thread_pool.c:106)called 326 times, returned 0 time78.0%