"""Basic metrics collector for simulation statistics.""" from typing import Dict, Any from .base_collector import BaseCollector class MetricsCollector(BaseCollector): """Collects basic simulation metrics.""" def __init__(self, collection_interval: int = 100): super().__init__(collection_interval) def collect(self, simulation_core) -> Dict[str, Any]: """Collect basic metrics from simulation core.""" world_state = simulation_core.get_world_state() return { 'timestamp': simulation_core.timing.last_tick_time, 'tick_count': world_state['tick_count'], 'actual_tps': world_state['actual_tps'], 'target_tps': world_state['target_tps'], 'speed_multiplier': world_state['speed_multiplier'], 'is_paused': world_state['is_paused'], 'sprint_mode': world_state['sprint_mode'], 'world_buffer': world_state['world_buffer'], 'entity_counts': world_state['entity_counts'], 'collection_type': 'metrics' }