Files
MoShiro/backend/src/Monitor.Backend.Application/Query/QueryResults.cs
T
2026-10-04 21:46:39 +08:00

48 lines
1.5 KiB
C#

using Fleet.Core;
using Monitor.Backend.Analysis;
namespace Monitor.Backend.Application;
public sealed record SummaryResult(
IReadOnlyDictionary<string, double?> Values,
IReadOnlyDictionary<string, ulong> Samples,
double Coverage);
public sealed record GapInfo(long FromMs, long ToMs, string Reason);
public sealed record SeriesResult(
LineKey Line,
QueryRange Range,
SourcePlan Plan,
IReadOnlyList<long> T,
IReadOnlyDictionary<string, double?[]> Values,
SummaryResult Summary,
IReadOnlyList<GapInfo> Gaps,
IReadOnlyList<EventRecord> Events,
IReadOnlyDictionary<string, string> Versions);
public sealed record OverviewLine(LineView Line, SummaryResult Summary, TestRecord? LastTest);
public sealed record OverviewResult(QueryRange Range, IReadOnlyList<OverviewLine> Lines, SourcePlan Plan);
public sealed record DistributionBucket(double Le, ulong Count);
public sealed record DistributionResult(
string Metric,
string Unit,
IReadOnlyList<DistributionBucket> Buckets,
double? P50,
double? P95,
double? P99,
ulong Count);
public sealed record HeatmapResult(IReadOnlyList<long> T, IReadOnlyList<double> Edges, IReadOnlyList<IReadOnlyList<ulong>> Counts, QueryRange Range, SourcePlan Plan);
public sealed record CompareResult(
IReadOnlyList<long> T,
IReadOnlyDictionary<string, double?[]> Values,
IReadOnlyDictionary<string, double?> Summary,
string Metric,
QueryRange Range,
SourcePlan Plan);