Files
foxhunt/services/ml_training_service/tests/baselines/baseline_metrics.json
jgrusewski 7458f1be01 feat(wave12): E2E validation complete - 225-feature pipeline ready
 Validation Results:
- PPO training: 24.2s (1 epoch, 950 samples, dim=225)
- Feature extraction: 105μs/bar (9.5x faster than target)
- Model checkpoint: 293KB (147KB actor + 146KB critic)
- GPU memory: 145MB used (96.4% headroom)
- Zero dimension mismatches

📊 Success Criteria (5/5):
 Feature dimension = 225 (Wave C 201 + Wave D 24)
 Model state_dim = 225
 Training completed without errors
 Checkpoint saved successfully
 No dimension mismatch errors

📁 Training Data Ready:
- ES.FUT: 2.9MB, 180 days
- NQ.FUT: 4.4MB, 180 days
- 6E.FUT: 2.8MB, 180 days
- ZN.FUT: 65KB, 90 days (clean)

🚀 Next: Full production model retraining (4 models, ~10min GPU time)

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 22:48:04 +02:00

77 lines
2.2 KiB
JSON

{
"version": "1.0.0",
"description": "Performance baselines for ML Training Service stress tests",
"baselines": {
"batch_creation": {
"description": "Concurrent batch creation performance",
"p95_latency_ms": 10.0,
"throughput_ops_per_sec": 1000.0,
"max_concurrent": 1000,
"acceptable_failure_rate_percent": 1.0
},
"streaming": {
"description": "gRPC streaming performance",
"throughput_msg_per_sec_per_stream": 1000.0,
"max_concurrent_streams": 100,
"backpressure_handling": true,
"message_loss_rate_percent": 0.1
},
"state_transitions": {
"description": "State transition performance",
"p95_latency_ms": 5.0,
"throughput_updates_per_sec": 1000.0,
"deadlock_free": true,
"rollback_correctness": true
},
"file_discovery": {
"description": "Data file discovery performance",
"discovery_time_100_files_ms": 100.0,
"discovery_time_10k_files_ms": 1000.0,
"concurrent_requests": 20,
"cache_invalidation": true
},
"memory_leak": {
"description": "Memory leak detection thresholds",
"max_rss_growth_percent_per_hour": 1.0,
"max_leak_after_cleanup_percent": 5.0,
"stream_cleanup_leak_percent": 3.0,
"connection_leak_percent": 2.0
}
},
"system_requirements": {
"min_cpu_cores": 4,
"min_ram_gb": 8,
"min_disk_gb": 20,
"postgres_connections": 20,
"recommended_environment": "Dedicated hardware, no CI/CD"
},
"test_execution": {
"concurrent_batch_creation": {
"min_duration_secs": 10,
"max_duration_secs": 30
},
"streaming_load": {
"min_duration_secs": 10,
"max_duration_secs": 60
},
"state_transition_storm": {
"min_duration_secs": 5,
"max_duration_secs": 30
},
"file_discovery": {
"min_duration_secs": 1,
"max_duration_secs": 10
},
"memory_leak": {
"short_test_duration_secs": 300,
"long_test_duration_secs": 3600
}
},
"regression_thresholds": {
"latency_p95_degradation_percent": 20.0,
"throughput_degradation_percent": 15.0,
"memory_growth_degradation_percent": 50.0,
"failure_rate_increase_percent": 100.0
}
}