feat(operations): add capacity and resilience gates (#18)
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
namespace FinalFactory.Rendezvous.Capacity;
|
||||
|
||||
internal sealed record CapacityReport
|
||||
{
|
||||
public required int SchemaVersion { get; init; }
|
||||
public required string EvidenceVersion { get; init; }
|
||||
public required DateTimeOffset GeneratedAt { get; init; }
|
||||
public required string Profile { get; init; }
|
||||
public required RuntimeEvidence Runtime { get; init; }
|
||||
public required CapacityTargets Targets { get; init; }
|
||||
public required IReadOnlyList<CapacityMeasurement> Measurements { get; init; }
|
||||
public required StateEvidence State { get; init; }
|
||||
public required IReadOnlyList<string> Failures { get; init; }
|
||||
public required bool Passed { get; init; }
|
||||
}
|
||||
|
||||
internal sealed record RuntimeEvidence(
|
||||
string Framework,
|
||||
string OperatingSystem,
|
||||
string Kernel,
|
||||
string Architecture,
|
||||
string CpuModel,
|
||||
int ProcessorCount,
|
||||
string CpuAffinity,
|
||||
string CpuQuota,
|
||||
string MemoryLimit,
|
||||
string GarbageCollector,
|
||||
string CommitSha,
|
||||
string TreeState,
|
||||
string Command,
|
||||
string ImageDigest,
|
||||
string WorkloadSeed,
|
||||
double CapacityPhaseAverageCpuPercent,
|
||||
long PeakWorkingSetBytes,
|
||||
long ManagedBytesAfterCleanup);
|
||||
|
||||
internal sealed record CapacityTargets(
|
||||
int VisibleListings,
|
||||
int ActiveJoinAttempts,
|
||||
int CoreControlOperationsPerSecond,
|
||||
int CoreMediationOperationsPerSecond,
|
||||
double CoreControlP95Milliseconds,
|
||||
double CoreMediationP95Milliseconds,
|
||||
double MaximumAverageCpuPercent,
|
||||
long MaximumWorkingSetBytes,
|
||||
int SoakCycles,
|
||||
int SoakDurationSeconds);
|
||||
|
||||
internal sealed record CapacityMeasurement(
|
||||
string Operation,
|
||||
int Samples,
|
||||
double P50Milliseconds,
|
||||
double P95Milliseconds,
|
||||
double P99Milliseconds,
|
||||
double OperationsPerSecond,
|
||||
double MinimumOperationsPerSecond,
|
||||
double BudgetMilliseconds,
|
||||
bool Passed);
|
||||
|
||||
internal sealed record StateEvidence(
|
||||
int PeakListings,
|
||||
int PeakAttempts,
|
||||
int PeakReplayMarkers,
|
||||
int FinalListings,
|
||||
int FinalAttempts,
|
||||
int FinalReplayMarkers,
|
||||
long ExpiryChurn,
|
||||
long MaintenanceSweeps,
|
||||
int SoakCyclesCompleted,
|
||||
double SoakDurationSeconds,
|
||||
int SoakPeakScheduledExpiryEntries,
|
||||
long SoakManagedGrowthBytes,
|
||||
int SoakHandleGrowth,
|
||||
bool RestartStartedEmpty,
|
||||
bool OverloadWasTyped,
|
||||
bool RecoverySucceeded);
|
||||
Reference in New Issue
Block a user