Skip to content

SizeBudgetEvaluation

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

The outcome of evaluating one size budget: the measured values, any breached limits, and the top positive regressions inside the budget’s scope — the rows that explain a growth breach, never diluted by improvements elsewhere.

public sealed record SizeBudgetEvaluation : IEquatable<SizeBudgetEvaluation>

ObjectSizeBudgetEvaluation

SizeBudgetEvaluation(SizeBudget, bool, SizeBasis, long, long?, IReadOnlyList<SizeBudgetViolation>, IReadOnlyList<SizeDiffContributor>)

Section titled “SizeBudgetEvaluation(SizeBudget, bool, SizeBasis, long, long?, IReadOnlyList<SizeBudgetViolation>, IReadOnlyList<SizeDiffContributor>)”

The outcome of evaluating one size budget: the measured values, any breached limits, and the top positive regressions inside the budget’s scope — the rows that explain a growth breach, never diluted by improvements elsewhere.

Parameters:

  • Budget (SizeBudget): The budget that was evaluated.
  • Passed (Boolean): True when no limit was breached.
  • Basis (SizeBasis): What the measured values count: total budgets use the check’s total basis (file size for binaries, mstat total for bare reports); namespace and assembly budgets always measure mstat aggregates.
  • ActualBytes (Int64): The scope’s current size in bytes.
  • BaselineBytes (Nullable<Int64>): The scope’s baseline size in bytes, or null when the check ran without a baseline.
  • Violations (IReadOnlyList<SizeBudgetViolation>): Each breached limit, or empty when the budget passed.
  • TopContributors (IReadOnlyList<SizeDiffContributor>): The scope’s largest positive regressions (delta > 0), ordered by delta descending, up to the budget’s or the caller’s top-N.
public SizeBudgetEvaluation(SizeBudget Budget, bool Passed, SizeBasis Basis, long ActualBytes, long? BaselineBytes, IReadOnlyList<SizeBudgetViolation> Violations, IReadOnlyList<SizeDiffContributor> TopContributors)

The scope’s current size in bytes.

Returns: Int64

public long ActualBytes { get; init; }

The scope’s baseline size in bytes, or null when the check ran without a baseline.

Returns: Nullable<Int64>

public long? BaselineBytes { get; init; }

What the measured values count: total budgets use the check’s total basis (file size for binaries, mstat total for bare reports); namespace and assembly budgets always measure mstat aggregates.

Returns: SizeBasis

public SizeBasis Basis { get; init; }

The budget that was evaluated.

Returns: SizeBudget

public SizeBudget Budget { get; init; }

True when no limit was breached.

Returns: Boolean

public bool Passed { get; init; }

The scope’s largest positive regressions (delta > 0), ordered by delta descending, up to the budget’s or the caller’s top-N.

Returns: IReadOnlyList<SizeDiffContributor>

public IReadOnlyList<SizeDiffContributor> TopContributors { get; init; }

Each breached limit, or empty when the budget passed.

Returns: IReadOnlyList<SizeBudgetViolation>

public IReadOnlyList<SizeBudgetViolation> Violations { get; init; }