Coverage report: 99.46%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-23 19:32 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
qreward / __init__.py (no function)   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / _version.py (no function)   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / __init__.py (no function)   100.00% 5 0 0   100.00% 0 0   100.00%
qreward / client / load_balancer.py RoundRobinSelector.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / load_balancer.py RoundRobinSelector.select   100.00% 10 0 0   100.00% 6 0   100.00%
qreward / client / load_balancer.py WeightedRoundRobinSelector.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / load_balancer.py WeightedRoundRobinSelector.update_weights   100.00% 7 0 0   100.00% 6 0   100.00%
qreward / client / load_balancer.py WeightedRoundRobinSelector.select   100.00% 13 0 0   100.00% 6 0   100.00%
qreward / client / load_balancer.py (no function)   100.00% 14 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.__init__   100.00% 10 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.add_proxy_with_default   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.add_proxies_with_default   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.add_proxy   100.00% 9 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.proxy   100.00% 4 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.exist_proxy   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.proxies   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.register_model_route   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.list_routes   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.select_proxy   100.00% 16 0 0   91.67% 12 1   96.43%
qreward / client / manager.py OpenAIChatProxyManager.mark_unhealthy   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.mark_healthy   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.healthy_proxies   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.remove_proxy   100.00% 9 0 0   100.00% 4 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.batch_stream_chat_completion   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / client / manager.py OpenAIChatProxyManager.close   100.00% 9 0 0   100.00% 2 0   100.00%
qreward / client / manager.py (no function)   100.00% 23 0 0   100.00% 0 0   100.00%
qreward / client / model_router.py ModelRouter.__init__   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / client / model_router.py ModelRouter.register   100.00% 6 0 0   100.00% 2 0   100.00%
qreward / client / model_router.py ModelRouter.resolve   100.00% 7 0 0   100.00% 6 0   100.00%
qreward / client / model_router.py ModelRouter.select_from_group   100.00% 10 0 0   87.50% 8 1   94.44%
qreward / client / model_router.py ModelRouter.mark_unhealthy   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / client / model_router.py ModelRouter.mark_healthy   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / client / model_router.py ModelRouter.list_routes   100.00% 7 0 0   100.00% 4 0   100.00%
qreward / client / model_router.py ModelRouter._find_group   100.00% 7 0 0   83.33% 6 1   92.31%
qreward / client / model_router.py ModelRouter._group_info   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / model_router.py _is_glob_pattern   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / model_router.py (no function)   100.00% 28 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.__init__   100.00% 22 0 0   100.00% 10 0   100.00%
qreward / client / openai.py OpenAIChatProxy.__aenter__   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.__aexit__   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy._default_http_client   100.00% 6 0 0   100.00% 4 0   100.00%
qreward / client / openai.py OpenAIChatProxy.get_openai_key   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.with_max_concurrent   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.with_temperature   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.with_timeout   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.with_error_process_func   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.with_error_process_fuc   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy._default_chat_completion_func   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.chat_completion   100.00% 9 0 0   100.00% 6 0   100.00%
qreward / client / openai.py OpenAIChatProxy.batch_chat_completion   100.00% 12 0 0   100.00% 8 0   100.00%
qreward / client / openai.py OpenAIChatProxy.stream_chat_completion   100.00% 11 0 0   100.00% 8 0   100.00%
qreward / client / openai.py OpenAIChatProxy.embeddings   100.00% 6 0 0   100.00% 4 0   100.00%
qreward / client / openai.py OpenAIChatProxy.batch_stream_chat_completion   100.00% 11 0 0   100.00% 4 0   100.00%
qreward / client / openai.py OpenAIChatProxy.batch_stream_chat_completion._run   100.00% 10 0 0   87.50% 8 1   94.44%
qreward / client / openai.py OpenAIChatProxy.batch_stream_chat_completion._drain   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / openai.py OpenAIChatProxy.batch_embeddings   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / client / openai.py (no function)   100.00% 40 0 0   100.00% 0 0   100.00%
qreward / client / patch_openai.py hack_parser   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / client / patch_openai.py patch_openai_embeddings   100.00% 5 0 0   100.00% 2 0   100.00%
qreward / client / patch_openai.py patch_openai_embeddings.patched_create   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / client / patch_openai.py unpatch_openai_embeddings   100.00% 5 0 0   100.00% 2 0   100.00%
qreward / client / patch_openai.py (no function)   100.00% 21 0 0   100.00% 0 0   100.00%
qreward / globals.py (no function)   100.00% 9 0 0   100.00% 0 0   100.00%
qreward / types.py (no function)   100.00% 8 0 0   100.00% 0 0   100.00%
qreward / utils / __init__.py (no function)   100.00% 5 0 0   100.00% 0 0   100.00%
qreward / utils / patch.py patch_httpx   100.00% 22 0 0   100.00% 4 0   100.00%
qreward / utils / patch.py patch_httpx.encode_json   100.00% 11 0 0   100.00% 6 0   100.00%
qreward / utils / patch.py patch_httpx.decode_json   100.00% 5 0 0   100.00% 4 0   100.00%
qreward / utils / patch.py (no function)   100.00% 4 0 0   100.00% 0 0   100.00%
qreward / utils / retry.py retry   100.00% 4 0 1   100.00% 0 0   100.00%
qreward / utils / retry.py retry.should_retry   100.00% 8 0 0   100.00% 8 0   100.00%
qreward / utils / retry.py retry.exponential_backoff   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / utils / retry.py retry.decorator   100.00% 6 0 0   100.00% 0 0   100.00%
qreward / utils / retry.py retry.decorator.async_wrapper   100.00% 11 0 0   75.00% 4 1   93.33%
qreward / utils / retry.py retry.decorator.sync_wrapper   100.00% 11 0 0   75.00% 4 1   93.33%
qreward / utils / retry.py (no function)   100.00% 8 0 0   100.00% 0 0   100.00%
qreward / utils / schedule.py _cancel_async_task   100.00% 13 0 0   100.00% 8 0   100.00%
qreward / utils / schedule.py _cancel_sync_task   100.00% 13 0 0   100.00% 8 0   100.00%
qreward / utils / schedule.py _overload_check   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / schedule.py _get_max_wait_time   100.00% 7 0 0   100.00% 6 0   100.00%
qreward / utils / schedule.py (no function)   100.00% 13 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / __init__.py (no function)   100.00% 16 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py AdaptiveRateLimiter.__init__   100.00% 16 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py AdaptiveRateLimiter.current_limit   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py AdaptiveRateLimiter.record   100.00% 6 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py AdaptiveRateLimiter._evict_expired   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py AdaptiveRateLimiter._maybe_adjust   100.00% 16 0 0   100.00% 10 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py AdaptiveRateLimiter.snapshot   100.00% 7 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / adaptive_limiter.py (no function)   100.00% 22 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / async_runner.py AsyncRunner.create_task   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / async_runner.py AsyncRunner.get_task_result   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / async_runner.py AsyncRunner.get_task_exception   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / async_runner.py AsyncRunner.is_task_cancelled   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / async_runner.py AsyncRunner._cancel_tasks   100.00% 0 0 24   100.00% 0 0   100.00%
qreward / utils / scheduler / async_runner.py AsyncRunner.execute_impl   100.00% 42 0 10   100.00% 14 0   100.00%
qreward / utils / scheduler / async_runner.py (no function)   100.00% 13 0 6   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner.__init__   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner.create_task   100.00% 0 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner.get_task_result   100.00% 0 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner.get_task_exception   100.00% 0 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner.is_task_cancelled   100.00% 0 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner._handle_exception   100.00% 14 0 0   100.00% 8 0   100.00%
qreward / utils / scheduler / base.py BaseRunner._compute_cancel_wait   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner._log_finish   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / base.py BaseRunner._return_result   100.00% 7 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / base.py (no function)   100.00% 29 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker.__init__   100.00% 9 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker.state   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker.allow_request   100.00% 10 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker.record_success   100.00% 6 0 0   75.00% 4 1   90.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker.record_failure   100.00% 12 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker.reset   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker._reset_unlocked   100.00% 4 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / circuit_breaker.py CircuitBreaker._maybe_transition_to_half_open   100.00% 7 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / circuit_breaker.py (no function)   100.00% 20 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.__post_init__   100.00% 10 0 0   100.00% 10 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.hedged_request_multiply   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.adjust_wait_time   100.00% 7 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.get_max_wait_time   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.on_change   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.update   100.00% 7 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / config.py ScheduleConfig.snapshot   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / config.py (no function)   100.00% 40 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher.__init__   100.00% 16 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher.start   100.00% 6 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher.stop   100.00% 5 0 0   50.00% 2 1   85.71%
qreward / utils / scheduler / config_watcher.py ConfigWatcher.is_running   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher.poll_once   100.00% 13 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher._poll_loop   100.00% 6 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher._read_source   85.71% 7 1 0   83.33% 6 1   84.62%
qreward / utils / scheduler / config_watcher.py ConfigWatcher._read_file   100.00% 8 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher._read_env   100.00% 9 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / config_watcher.py ConfigWatcher._read_callback   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / config_watcher.py _coerce_value   100.00% 10 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / config_watcher.py (no function)   100.00% 22 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.__init__   100.00% 15 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.can_submit_task   100.00% 10 0 0   100.00% 10 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext._should_hedge   100.00% 9 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.is_hedge_submit   100.00% 11 0 0   100.00% 8 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.compute_timeout   100.00% 14 0 0   100.00% 14 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.get_limiter_timeout   100.00% 10 0 0   100.00% 8 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.elapsed   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.is_timeout   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.record_exception   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.record_hedge   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.mark_task_submitted   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.can_increase_speed   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.increase_speed   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.reset_speed   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py ExecutionContext.build_metrics   100.00% 7 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / context.py (no function)   100.00% 27 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / decorator.py _shutdown_executors   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / decorator.py _register_executor   100.00% 5 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / decorator.py schedule   100.00% 9 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / decorator.py schedule.decorator   100.00% 37 0 0   100.00% 18 0   100.00%
qreward / utils / scheduler / decorator.py schedule.decorator.async_wrapper   100.00% 25 0 0   100.00% 16 0   100.00%
qreward / utils / scheduler / decorator.py (no function)   100.00% 22 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / limiter.py LimiterPool.get_pool   100.00% 6 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / limiter.py LimiterPool.__init__   100.00% 9 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / limiter.py LimiterPool.allow   100.00% 11 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / limiter.py LimiterPool.async_allow   100.00% 10 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / limiter.py LimiterPool._check_and_add   100.00% 8 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / limiter.py LimiterPool._sleep_time   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / limiter.py (no function)   100.00% 15 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / metrics.py ScheduleMetrics.export_to_otel   100.00% 2 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / metrics.py (no function)   100.00% 11 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / overload.py OverloadChecker.check   100.00% 17 0 0   100.00% 10 0   100.00%
qreward / utils / scheduler / overload.py OverloadChecker._check_single   100.00% 22 0 0   100.00% 22 0   100.00%
qreward / utils / scheduler / overload.py (no function)   100.00% 9 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / pools.py RunningTaskPool.get_pool   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / pools.py RunningTaskPool.__init__   100.00% 6 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / pools.py RunningTaskPool.add   100.00% 10 0 0   100.00% 6 0   100.00%
qreward / utils / scheduler / pools.py RunningTaskPool.can_submit   100.00% 10 0 0   100.00% 8 0   100.00%
qreward / utils / scheduler / pools.py RunningTaskPool.less_than   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / pools.py (no function)   100.00% 16 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.__init__   100.00% 6 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.put   100.00% 5 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.get   100.00% 7 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.peek   100.00% 6 0 0   100.00% 4 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.queue_size   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.is_empty   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.clear   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue.snapshot   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / priority_queue.py PriorityTaskQueue._apply_starvation_protection   100.00% 13 0 0   100.00% 10 0   100.00%
qreward / utils / scheduler / priority_queue.py (no function)   100.00% 30 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.set_executor   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.create_task   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.get_task_result   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.get_task_exception   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.is_task_cancelled   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner._cancel_tasks   100.00% 0 0 20   100.00% 0 0   100.00%
qreward / utils / scheduler / sync_runner.py SyncRunner.execute_impl   100.00% 41 0 9   100.00% 16 0   100.00%
qreward / utils / scheduler / sync_runner.py (no function)   100.00% 16 0 6   100.00% 0 0   100.00%
qreward / utils / scheduler / telemetry.py TelemetryExporter.__init__   100.00% 14 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / telemetry.py TelemetryExporter.is_available   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / telemetry.py TelemetryExporter._check_enabled   100.00% 4 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / telemetry.py TelemetryExporter.record   100.00% 6 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / telemetry.py TelemetryExporter.start_span   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / telemetry.py TelemetryExporter.end_span   100.00% 8 0 0   100.00% 2 0   100.00%
qreward / utils / scheduler / telemetry.py _NoOpSpan.set_attribute   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / telemetry.py _NoOpSpan.end   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / telemetry.py _NoOpSpan.__enter__   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / telemetry.py _NoOpSpan.__exit__   100.00% 1 0 0   100.00% 0 0   100.00%
qreward / utils / scheduler / telemetry.py (no function)   92.86% 28 2 0   100.00% 0 0   92.86%
qreward / utils / socket_keepalive.py aiohttp_keepalive_socket_factory   100.00% 10 0 0   100.00% 4 0   100.00%
qreward / utils / socket_keepalive.py httpx_keepalive_socket   100.00% 8 0 0   100.00% 4 0   100.00%
qreward / utils / socket_keepalive.py RequestsTCPKeepAliveAdapter.__init__   100.00% 3 0 0   100.00% 0 0   100.00%
qreward / utils / socket_keepalive.py RequestsTCPKeepAliveAdapter.init_poolmanager   100.00% 3 0 0   100.00% 2 0   100.00%
qreward / utils / socket_keepalive.py (no function)   100.00% 10 0 0   100.00% 0 0   100.00%
Total     99.82% 1672 3 76   98.34% 542 9   99.46%

No items found using the specified filter.