MentorMetricsSnapshot record
The MentorMetricsSnapshot record of Novior.MentorAgent.Abstractions.Models: A point-in-time view of MentorAgent usage for the admin token & cost dashboard…
On this page
A point-in-time view of MentorAgent usage for the admin token & cost dashboard (roadmap #9). Produced by IMentorMetrics.GetSnapshot(). Process-wide (single instance); for multi-instance production aggregation use OpenTelemetry (roadmap #8).
Definition
Section titled “Definition”Namespace: Novior.MentorAgent.Abstractions.Models. Package: Novior.MentorAgent.Abstractions.
public sealed record MentorMetricsSnapshot : IEquatable<MentorMetricsSnapshot>
dotnet add package Novior.MentorAgent.AbstractionsConstructors
Section titled “Constructors”public MentorMetricsSnapshot()
Properties
Section titled “Properties”DeflectionRate
Section titled “DeflectionRate”public double DeflectionRate { get; }
Share of turns served without error/guardrail block (0–1).
ErrorCount
Section titled “ErrorCount”public long ErrorCount { get; init; }
Turns that ended in an error.
GeneratedAt
Section titled “GeneratedAt”public DateTimeOffset GeneratedAt { get; init; }
When this snapshot was produced (UTC).
GuardrailBlockCount
Section titled “GuardrailBlockCount”public long GuardrailBlockCount { get; init; }
Messages blocked by the input guardrail — the safety check, a custom InputGuardrail, and RefuseOutOfScope refusals — plus replies withheld by the output check.
InputCost
Section titled “InputCost”public decimal? InputCost { get; init; }
Estimated input cost — null when no pricing is configured for the model.
ModelId
Section titled “ModelId”public string? ModelId { get; init; }
Primary chat model id used for pricing (null if unknown).
Models
Section titled “Models”public IReadOnlyList<MentorModelUsage> Models { get; init; }
Per-model usage, cost and time series (roadmap #9) — typically the cheap chat model, the strong routing model and the embedding model. Empty on legacy snapshots; the aggregate fields above are the sum across these entries.
OutputCost
Section titled “OutputCost”public decimal? OutputCost { get; init; }
Estimated output cost — null when no pricing is configured.
RequestCount
Section titled “RequestCount”public long RequestCount { get; init; }
Model round-trips recorded.
SeriesBucketMinutes
Section titled “SeriesBucketMinutes”public int SeriesBucketMinutes { get; init; }
Width of each MentorUsagePoint time-series bucket, in minutes (default 60).
ServedCount
Section titled “ServedCount”public long ServedCount { get; init; }
Turns completed without an error or guardrail block — the deflection proxy.
TopActions
Section titled “TopActions”public IReadOnlyList<MentorActionCount> TopActions { get; init; }
Most-invoked tools/actions, highest first.
TotalCost
Section titled “TotalCost”public decimal? TotalCost { get; }
Estimated total cost, or null when pricing is not available.
TotalInputTokens
Section titled “TotalInputTokens”public long TotalInputTokens { get; init; }
Cumulative input (prompt) tokens.
TotalOutputTokens
Section titled “TotalOutputTokens”public long TotalOutputTokens { get; init; }
Cumulative output (completion) tokens.
TotalTokens
Section titled “TotalTokens”public long TotalTokens { get; }
Cumulative total tokens.
TurnCount
Section titled “TurnCount”public long TurnCount { get; init; }
User messages (turns) received.
