| excalidraw_mcp/__init__.py |
(no function) |
2 |
0 |
0 |
100% |
| excalidraw_mcp/__main__.py |
(no function) |
3 |
1 |
0 |
67% |
| excalidraw_mcp/cli.py |
get_process_manager |
3 |
3 |
0 |
0% |
| excalidraw_mcp/cli.py |
get_monitoring_supervisor |
3 |
3 |
0 |
0% |
| excalidraw_mcp/cli.py |
find_mcp_server_process |
8 |
8 |
0 |
0% |
| excalidraw_mcp/cli.py |
find_canvas_server_process |
8 |
8 |
0 |
0% |
| excalidraw_mcp/cli.py |
start_mcp_server_impl |
40 |
40 |
0 |
0% |
| excalidraw_mcp/cli.py |
_stop_process |
15 |
15 |
0 |
0% |
| excalidraw_mcp/cli.py |
stop_mcp_server_impl |
22 |
22 |
0 |
0% |
| excalidraw_mcp/cli.py |
restart_mcp_server_impl |
4 |
4 |
0 |
0% |
| excalidraw_mcp/cli.py |
status_impl |
28 |
28 |
0 |
0% |
| excalidraw_mcp/cli.py |
_find_log_file |
5 |
5 |
0 |
0% |
| excalidraw_mcp/cli.py |
_show_missing_log_message |
3 |
3 |
0 |
0% |
| excalidraw_mcp/cli.py |
_follow_log_output |
7 |
7 |
0 |
0% |
| excalidraw_mcp/cli.py |
_show_recent_log_lines |
5 |
5 |
0 |
0% |
| excalidraw_mcp/cli.py |
logs_impl |
12 |
12 |
0 |
0% |
| excalidraw_mcp/cli.py |
main |
18 |
18 |
0 |
0% |
| excalidraw_mcp/cli.py |
(no function) |
38 |
38 |
0 |
0% |
| excalidraw_mcp/config.py |
SecurityConfig.__post_init__ |
1 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
ServerConfig.__post_init__ |
10 |
1 |
0 |
90% |
| excalidraw_mcp/config.py |
MonitoringConfig.__post_init__ |
7 |
3 |
0 |
57% |
| excalidraw_mcp/config.py |
LoggingConfig.__post_init__ |
1 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config.__init__ |
9 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._load_from_pyproject |
14 |
1 |
0 |
93% |
| excalidraw_mcp/config.py |
Config._load_security_config_from_environment |
5 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._load_server_config_from_environment |
23 |
9 |
0 |
61% |
| excalidraw_mcp/config.py |
Config._load_performance_config_from_environment |
5 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._load_logging_config_from_environment |
5 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._load_monitoring_config_from_environment |
17 |
6 |
0 |
65% |
| excalidraw_mcp/config.py |
Config._load_from_environment |
5 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._validate_security_config |
4 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._validate_server_config |
12 |
5 |
0 |
58% |
| excalidraw_mcp/config.py |
Config._validate_performance_config |
4 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config._validate_monitoring_config |
6 |
3 |
0 |
50% |
| excalidraw_mcp/config.py |
Config._validate |
7 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config.is_development |
1 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
Config.is_production |
1 |
0 |
0 |
100% |
| excalidraw_mcp/config.py |
(no function) |
123 |
2 |
0 |
98% |
| excalidraw_mcp/element_factory.py |
ElementFactory.__init__ |
1 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory.create_element |
5 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory.prepare_update_data |
11 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._add_optional_properties |
10 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._add_visual_properties |
5 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._add_shape_properties |
4 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._add_line_properties |
5 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._get_optional_float |
8 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory.validate_element_data |
11 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_element_type |
3 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_coordinates |
6 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_dimensions |
8 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._is_valid_color |
9 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_colors |
5 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_stroke_width |
7 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_opacity |
7 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_roughness |
7 |
2 |
0 |
71% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_font_size |
7 |
1 |
0 |
86% |
| excalidraw_mcp/element_factory.py |
ElementFactory._validate_numeric_ranges |
4 |
0 |
0 |
100% |
| excalidraw_mcp/element_factory.py |
(no function) |
25 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.__init__ |
4 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.__aenter__ |
2 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.__aexit__ |
1 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient._ensure_client |
3 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.close |
3 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient._perform_health_check_request |
11 |
1 |
0 |
91% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.check_health |
22 |
1 |
0 |
95% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.check_health._health_check_request |
1 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.post_json |
10 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.post_json._post_request |
27 |
1 |
0 |
96% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.put_json |
25 |
1 |
0 |
96% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.delete |
21 |
1 |
0 |
95% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.get_json |
23 |
1 |
0 |
96% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.health_failure_count |
1 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient._generate_correlation_id |
1 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient._get_tracing_headers |
3 |
1 |
0 |
67% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient._update_request_metrics |
7 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.get_request_metrics |
2 |
2 |
0 |
0% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.reset_request_metrics |
1 |
1 |
0 |
0% |
| excalidraw_mcp/http_client.py |
CanvasHTTPClient.is_healthy |
1 |
0 |
0 |
100% |
| excalidraw_mcp/http_client.py |
(no function) |
37 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.__init__ |
3 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager._register_tools |
12 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager._ensure_canvas_available |
3 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager._sync_to_canvas |
16 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.create_element |
9 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.update_element |
13 |
1 |
0 |
92% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.delete_element |
8 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.query_elements |
9 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.batch_create_elements |
20 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.group_elements |
11 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.ungroup_elements |
8 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.align_elements |
14 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.distribute_elements |
14 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.lock_elements |
9 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.unlock_elements |
9 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
MCPToolsManager.get_resource |
11 |
0 |
0 |
100% |
| excalidraw_mcp/mcp_tools.py |
(no function) |
25 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/__init__.py |
(no function) |
6 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.__init__ |
6 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._initialize_alert_rules |
6 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.check_conditions |
12 |
5 |
0 |
58% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_expression |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_compare |
9 |
8 |
0 |
11% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_bool_op |
7 |
7 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_unary_op |
3 |
3 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_constant |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_name |
3 |
3 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._eval_node |
19 |
7 |
0 |
63% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._safe_eval_condition |
8 |
1 |
0 |
88% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._trigger_alert |
12 |
12 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._resolve_alert |
7 |
5 |
0 |
29% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._should_throttle_alert |
7 |
7 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._format_alert_message |
6 |
6 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._send_alert |
8 |
8 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._send_log_alert |
2 |
2 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager._send_webhook_alert |
6 |
6 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.force_alert |
5 |
5 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.get_active_alerts |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.get_alert_history |
4 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.get_alert_statistics |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.enable_rule |
6 |
6 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.disable_rule |
6 |
6 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.clear_alert_history |
3 |
3 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
AlertManager.get_alert_rules |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/alerts.py |
(no function) |
68 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.__init__ |
7 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.call |
17 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._should_allow_call |
10 |
1 |
0 |
90% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._should_attempt_recovery |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._on_success |
7 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._on_failure |
9 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._transition_to_open |
5 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._transition_to_half_open |
5 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker._transition_to_closed |
6 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.force_open |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.force_close |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.reset |
5 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.state |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.is_open |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.is_closed |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.is_half_open |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.get_stats |
2 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.is_healthy |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
CircuitBreaker.get_time_until_recovery |
5 |
1 |
0 |
80% |
| excalidraw_mcp/monitoring/circuit_breaker.py |
(no function) |
48 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.__init__ |
5 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.check_health |
15 |
4 |
0 |
73% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker._check_primary_health |
8 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker._check_api_health |
12 |
2 |
0 |
83% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker._combine_health_results |
5 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker._check_resource_usage |
19 |
5 |
0 |
74% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker._update_health_state |
7 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.is_failing |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.get_failure_count |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.get_average_response_time |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.get_last_healthy_time |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.reset_failure_count |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
HealthChecker.get_health_summary |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/health_checker.py |
(no function) |
36 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
Counter.inc |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
Counter.reset |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
Gauge.set |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
Gauge.inc |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
Gauge.dec |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
Histogram.__post_init__ |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
Histogram.observe |
6 |
2 |
0 |
67% |
| excalidraw_mcp/monitoring/metrics.py |
Histogram.reset |
4 |
4 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
Histogram.average |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.__init__ |
9 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.__init__._create_deque |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector._initialize_standard_metrics |
18 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.register_counter |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.register_gauge |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.register_histogram |
3 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.get_counter |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.get_gauge |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.get_histogram |
1 |
1 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.increment_counter |
5 |
1 |
0 |
80% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.set_gauge |
5 |
1 |
0 |
80% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.observe_histogram |
5 |
1 |
0 |
80% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.collect_system_metrics |
19 |
2 |
0 |
89% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.collect_canvas_metrics |
9 |
2 |
0 |
78% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.start_collection |
5 |
1 |
0 |
80% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.stop_collection |
10 |
1 |
0 |
90% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector._collection_loop |
15 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.get_all_metrics |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.get_prometheus_format |
19 |
19 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.reset_all_metrics |
8 |
8 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
MetricsCollector.get_metric_history |
4 |
4 |
0 |
0% |
| excalidraw_mcp/monitoring/metrics.py |
(no function) |
66 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.__init__ |
10 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.start |
12 |
2 |
0 |
83% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.stop |
12 |
1 |
0 |
92% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._monitoring_loop |
12 |
3 |
0 |
75% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._monitoring_loop._monitoring_cycle |
7 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._monitoring_loop._on_retry |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._perform_monitored_health_check |
18 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._handle_health_status |
9 |
2 |
0 |
78% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._handle_health_failure |
4 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._attempt_restart |
27 |
6 |
0 |
78% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._attempt_restart._perform_restart |
4 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor._collect_monitoring_metrics |
19 |
4 |
0 |
79% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.add_health_change_callback |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.add_restart_callback |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.get_monitoring_status |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.force_health_check |
2 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.trigger_restart |
4 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.reset_circuit_breaker |
2 |
1 |
0 |
50% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.get_metrics_summary |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.get_recent_alerts |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
MonitoringSupervisor.is_running |
1 |
0 |
0 |
100% |
| excalidraw_mcp/monitoring/supervisor.py |
(no function) |
32 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.__init__ |
12 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._check_process_health |
1 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._handle_disabled_auto_start |
2 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._attempt_process_start |
4 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._ensure_process_healthy |
7 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.ensure_running |
2 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._is_process_healthy |
3 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._is_process_running |
16 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._start_process |
15 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._check_health_with_process_check |
5 |
1 |
0 |
80% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._wait_for_health |
10 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._send_termination_signal |
6 |
1 |
0 |
83% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._terminate_existing_process |
12 |
1 |
0 |
92% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._terminate_current_process |
1 |
1 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._reset_process_info |
9 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._get_project_root |
2 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._signal_handler |
2 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.cleanup |
2 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.restart |
8 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.stop |
2 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.get_status |
3 |
0 |
0 |
100% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.add_start_callback |
1 |
1 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.add_stop_callback |
1 |
1 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.add_restart_callback |
1 |
1 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.add_health_change_callback |
1 |
1 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager._trigger_callbacks |
7 |
6 |
0 |
14% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.get_restart_count |
1 |
1 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
CanvasProcessManager.get_uptime |
3 |
3 |
0 |
0% |
| excalidraw_mcp/process_manager.py |
(no function) |
45 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
RetryConfig.__init__ |
6 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
calculate_delay |
7 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
retry_async |
24 |
6 |
0 |
75% |
| excalidraw_mcp/retry_utils.py |
retry_sync |
24 |
6 |
0 |
75% |
| excalidraw_mcp/retry_utils.py |
retry_decorator |
3 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
retry_decorator.decorator |
6 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
retry_decorator.decorator.wrapper |
2 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
retry_decorator.decorator.wrapper.sync_func |
1 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
retry_decorator.decorator.async_wrapper |
2 |
0 |
0 |
100% |
| excalidraw_mcp/retry_utils.py |
retry_decorator.decorator.async_wrapper.async_func |
5 |
1 |
0 |
80% |
| excalidraw_mcp/retry_utils.py |
(no function) |
16 |
0 |
0 |
100% |
| excalidraw_mcp/server.py |
get_process_manager |
5 |
5 |
0 |
0% |
| excalidraw_mcp/server.py |
get_monitoring_supervisor |
4 |
4 |
0 |
0% |
| excalidraw_mcp/server.py |
cleanup_monitoring |
4 |
4 |
0 |
0% |
| excalidraw_mcp/server.py |
startup_initialization |
6 |
6 |
0 |
0% |
| excalidraw_mcp/server.py |
main |
11 |
0 |
0 |
100% |
| excalidraw_mcp/server.py |
main.shutdown |
6 |
6 |
0 |
0% |
| excalidraw_mcp/server.py |
(no function) |
20 |
1 |
0 |
95% |