Files
wifi-densepose/examples/edge-net/sim/dist/metrics.d.ts
ruv d803bfe2b1 Squashed 'vendor/ruvector/' content from commit b64c2172
git-subtree-dir: vendor/ruvector
git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
2026-02-28 14:39:40 -05:00

88 lines
2.0 KiB
TypeScript

/**
* Metrics Collection and Aggregation
* Tracks network performance across all phases
*/
import { Network, NetworkPhase } from './network.js';
export interface PhaseMetrics {
phase: NetworkPhase;
startTick: number;
endTick: number;
duration: number;
nodeCount: {
start: number;
end: number;
peak: number;
};
energy: {
totalEarned: number;
totalSpent: number;
netEnergy: number;
avgPerNode: number;
sustainability: number;
};
genesis: {
avgMultiplier: number;
activeCount: number;
readOnlyCount: number;
retiredCount: number;
};
network: {
avgConnections: number;
avgSuccessRate: number;
taskThroughput: number;
tasksCompleted: number;
};
validation: {
passed: boolean;
reasons: string[];
};
}
export declare class MetricsCollector {
private network;
private phaseMetrics;
private currentPhaseStart;
private currentPhaseNodeCount;
private peakNodeCount;
constructor(network: Network);
/**
* Initialize metrics collection
*/
initialize(): void;
/**
* Collect metrics for the current tick
*/
collect(): void;
/**
* Handle phase transition
*/
onPhaseTransition(oldPhase: NetworkPhase, newPhase: NetworkPhase): void;
/**
* Finalize metrics for a completed phase
*/
private finalizePhase;
/**
* Validate phase completion criteria
*/
private validatePhase;
/**
* Finalize current phase (for end of simulation)
*/
finalizeCurrent(): void;
/**
* Get all collected metrics
*/
getAllMetrics(): PhaseMetrics[];
/**
* Get metrics for a specific phase
*/
getPhaseMetrics(phase: NetworkPhase): PhaseMetrics | undefined;
/**
* Get overall success rate
*/
getOverallSuccess(): {
passed: boolean;
totalPassed: number;
totalPhases: number;
};
}
//# sourceMappingURL=metrics.d.ts.map