77 lines
2.3 KiB
C#
77 lines
2.3 KiB
C#
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);
|