Add StochasticCross indicator support in CustomScenario and TradeChart components
- Implemented StochasticCross indicator in CustomScenario with associated parameters and labels. - Enhanced TradeChart to visualize StochasticCross data, including %K and %D series. - Updated API and types to include kFactor and dFactor properties for StochasticCross. - Modified backtest and scenario pages to incorporate StochasticCross in indicator lists and parameter mappings.
This commit is contained in:
162
assets/documentation/README-Upgrade-Plan.md
Normal file
162
assets/documentation/README-Upgrade-Plan.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# .NET 10 Upgrade Initiative
|
||||
|
||||
## Quick Reference Guide
|
||||
|
||||
This document provides a quick overview of our .NET 10 upgrade plan. For detailed information, see [NET10-Upgrade-Plan.md](NET10-Upgrade-Plan.md).
|
||||
|
||||
## Current Status
|
||||
- **Current Framework**: .NET 8.0
|
||||
- **Target Framework**: .NET 10.0
|
||||
- **Status**: Planning Phase
|
||||
- **Estimated Timeline**: 10-12 weeks
|
||||
|
||||
## Key Objectives
|
||||
|
||||
### Performance Improvements
|
||||
- **Memory Usage**: 10-20% reduction through improved GC
|
||||
- **Throughput**: 5-15% improvement in request handling
|
||||
- **Startup Time**: Faster application initialization
|
||||
- **Resource Efficiency**: Better CPU and memory utilization
|
||||
|
||||
### Modernization Benefits
|
||||
- Access to latest .NET features and optimizations
|
||||
- Improved async/await performance
|
||||
- Better debugging and development experience
|
||||
- Enhanced security features
|
||||
|
||||
## Risk Assessment
|
||||
|
||||
### High Risk Areas 🚨
|
||||
- **Orleans Clustering**: Complex distributed system upgrade
|
||||
- **Database Operations**: EF Core query behavior changes
|
||||
- **Third-party Dependencies**: May require updates or workarounds
|
||||
|
||||
### Medium Risk Areas ⚠️
|
||||
- **ASP.NET Core**: Middleware and authentication changes
|
||||
- **Serialization**: JSON/binary format updates
|
||||
- **External Integrations**: API compatibility
|
||||
|
||||
### Low Risk Areas ✅
|
||||
- **Domain Logic**: Framework-independent business rules
|
||||
- **Pure C# Code**: Minimal framework dependencies
|
||||
|
||||
## Upgrade Phases
|
||||
|
||||
### Phase 1: Preparation (Weeks 1-2)
|
||||
- [ ] Environment setup and dependency analysis
|
||||
- [ ] Create upgrade branch and rollback procedures
|
||||
- [ ] Update CI/CD pipelines
|
||||
|
||||
### Phase 2: Core Framework (Weeks 3-4)
|
||||
- [ ] Update all project files to `net10.0`
|
||||
- [ ] Upgrade Microsoft packages (EF Core, ASP.NET Core)
|
||||
- [ ] Basic functionality validation
|
||||
|
||||
### Phase 3: Orleans Clustering (Weeks 5-6)
|
||||
- [ ] Evaluate Orleans 10.x compatibility
|
||||
- [ ] Update clustering configuration
|
||||
- [ ] Validate grain persistence and communication
|
||||
|
||||
### Phase 4: Infrastructure (Weeks 7-8)
|
||||
- [ ] Database provider updates (Npgsql, InfluxDB)
|
||||
- [ ] External service integrations
|
||||
- [ ] Performance benchmarking
|
||||
|
||||
### Phase 5: Optimization (Weeks 9-10)
|
||||
- [ ] Memory management improvements
|
||||
- [ ] Async/await optimizations
|
||||
- [ ] Final performance tuning
|
||||
|
||||
### Phase 6: Production (Weeks 11-12)
|
||||
- [ ] Staging environment validation
|
||||
- [ ] Production deployment
|
||||
- [ ] Post-deployment monitoring
|
||||
|
||||
## Quick Wins (Immediate Benefits)
|
||||
|
||||
### Code Optimizations
|
||||
```csharp
|
||||
// Before (.NET 8)
|
||||
string result = data.ToString();
|
||||
|
||||
// After (.NET 10) - Better memory efficiency
|
||||
ReadOnlySpan<char> span = data.AsSpan();
|
||||
```
|
||||
|
||||
### Configuration Improvements
|
||||
```json
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"configProperties": {
|
||||
"System.GC.Server": true,
|
||||
"System.GC.HeapCount": 8,
|
||||
"System.GC.RetainVM": false
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Success Metrics
|
||||
|
||||
| Metric | Baseline (.NET 8) | Target (.NET 10) | Improvement |
|
||||
|--------|------------------|------------------|-------------|
|
||||
| Memory Usage | TBD | TBD | -10-20% |
|
||||
| Request Throughput | TBD | TBD | +5-15% |
|
||||
| GC Pause Time | TBD | TBD | Significant reduction |
|
||||
| Startup Time | TBD | TBD | Faster |
|
||||
|
||||
## Key Contacts
|
||||
|
||||
- **Technical Lead**: [Name]
|
||||
- **DevOps Lead**: [Name]
|
||||
- **QA Lead**: [Name]
|
||||
- **Product Owner**: [Name]
|
||||
|
||||
## Emergency Contacts
|
||||
|
||||
- **Rollback Procedures**: See [NET10-Upgrade-Plan.md](NET10-Upgrade-Plan.md#rollback-plan)
|
||||
- **Incident Response**: Contact DevOps on-call
|
||||
- **Business Continuity**: Product Owner + DevOps Lead
|
||||
|
||||
## Related Documentation
|
||||
|
||||
- **[Detailed Upgrade Plan](NET10-Upgrade-Plan.md)**: Complete technical specification
|
||||
- **[Architecture Overview](../docs/Architecture.drawio)**: System architecture diagrams
|
||||
- **[Worker Processing](./Workers%20processing/)**: Background processing documentation
|
||||
- **[Deployment Guide](./Workers%20processing/05-Deployment-Architecture.md)**: Infrastructure setup
|
||||
|
||||
## Weekly Checkpoints
|
||||
|
||||
### Week 1: Kickoff
|
||||
- [ ] Team alignment on objectives
|
||||
- [ ] Environment setup verification
|
||||
- [ ] Baseline performance metrics captured
|
||||
|
||||
### Week 6: Mid-point Review
|
||||
- [ ] Core framework upgrade completed
|
||||
- [ ] Orleans clustering validated
|
||||
- [ ] Go/no-go decision for Phase 2
|
||||
|
||||
### Week 10: Pre-production
|
||||
- [ ] All optimizations implemented
|
||||
- [ ] Staging environment fully tested
|
||||
- [ ] Performance targets validated
|
||||
|
||||
### Week 12: Production Go-live
|
||||
- [ ] Successful production deployment
|
||||
- [ ] Performance monitoring active
|
||||
- [ ] Rollback procedures documented
|
||||
|
||||
---
|
||||
|
||||
## Need Help?
|
||||
|
||||
- **Questions**: Create issue in project repository with `upgrade-plan` label
|
||||
- **Blockers**: Tag technical lead and DevOps lead
|
||||
- **Schedule Changes**: Notify product owner and team lead
|
||||
|
||||
---
|
||||
|
||||
**Document Version:** 1.0
|
||||
**Last Updated:** November 24, 2025
|
||||
**Next Review:** Weekly during upgrade
|
||||
Reference in New Issue
Block a user