diff --git a/config/simulation_config.py b/config/simulation_config.py index 7352c71..9b28f94 100644 --- a/config/simulation_config.py +++ b/config/simulation_config.py @@ -24,9 +24,9 @@ class OutputConfig: enabled: bool = True directory: str = "simulation_output" formats: List[str] = field(default_factory=lambda: ['json']) - collect_metrics: bool = True - collect_entities: bool = True - collect_evolution: bool = True + collect_metrics: bool = False + collect_entities: bool = False + collect_evolution: bool = False metrics_interval: int = 100 entities_interval: int = 1000 evolution_interval: int = 1000 diff --git a/entry_points/headless_main.py b/entry_points/headless_main.py index 4b1f093..9154c8b 100644 --- a/entry_points/headless_main.py +++ b/entry_points/headless_main.py @@ -51,6 +51,26 @@ def main(): action="store_true", help="Run in real-time mode (instead of as fast as possible)" ) + parser.add_argument( + "--collect-metrics", + action="store_true", + help="Enable metrics data collection" + ) + parser.add_argument( + "--collect-entities", + action="store_true", + help="Enable entity data collection" + ) + parser.add_argument( + "--collect-evolution", + action="store_true", + help="Enable evolution data collection" + ) + parser.add_argument( + "--collect-all", + action="store_true", + help="Enable all data collection (metrics, entities, evolution)" + ) parser.add_argument( "--collect-every-tick", action="store_true", @@ -90,11 +110,35 @@ def main(): headless_config.output.directory = args.output_dir if args.real_time: headless_config.output.real_time = True + # Handle data collection arguments - only enable if explicitly requested + # Start with all disabled (default) + headless_config.output.collect_metrics = False + headless_config.output.collect_entities = False + headless_config.output.collect_evolution = False + + if args.collect_all: + # Enable all collection + headless_config.output.collect_metrics = True + headless_config.output.collect_entities = True + headless_config.output.collect_evolution = True + else: + # Enable specific collection types + if args.collect_metrics: + headless_config.output.collect_metrics = True + if args.collect_entities: + headless_config.output.collect_entities = True + if args.collect_evolution: + headless_config.output.collect_evolution = True + if args.collect_every_tick: # Set all collection intervals to 1 for every-tick collection headless_config.output.metrics_interval = 1 headless_config.output.entities_interval = 1 headless_config.output.evolution_interval = 1 + # Also enable all collection if using --collect-every-tick (backward compatibility) + headless_config.output.collect_metrics = True + headless_config.output.collect_entities = True + headless_config.output.collect_evolution = True except Exception as e: print(f"Error loading configuration: {e}")