Table of Contents

Class LogCountByServiceCell

Namespace
Quilt4Net.Toolkit.Features.ApplicationInsights
Assembly
Quilt4Net.Toolkit.dll

One bucket of the (service × severity × environment × source) log-count cube. The shape carries every dimension the admin UI filters on so a single server fetch covers any future combination of configuration / environment / source toggles — flipping a checkbox is then a pure local regroup with no extra Log Analytics queries.

public record LogCountByServiceCell : IEquatable<LogCountByServiceCell>
Inheritance
LogCountByServiceCell
Implements
Inherited Members

Constructors

LogCountByServiceCell(string, SeverityLevel, string, LogSource, long, long, string, long, long)

One bucket of the (service × severity × environment × source) log-count cube. The shape carries every dimension the admin UI filters on so a single server fetch covers any future combination of configuration / environment / source toggles — flipping a checkbox is then a pure local regroup with no extra Log Analytics queries.

public LogCountByServiceCell(string Service, SeverityLevel Severity, string Environment, LogSource Source, long Count, long Bytes = 0, string Machine = "", long TrueCount = 0, long TrueBytes = 0)

Parameters

Service string

Source application — coalesced from Properties.ApplicationName then AppRoleName, falling back to "unknown".

Severity SeverityLevel

Effective severity, unified across log sources: Information for successful requests, Error for failed requests or unhandled exceptions, otherwise the row's own SeverityLevel.

Environment string

Environment name as projected by the Quilt4Net standard projection (deployment.environmentAspNetCoreEnvironment fallback). Empty when neither tag was logged.

Source LogSource

Which AI table the row came from — Trace / Exception / Request.

Count long

Retained row count in the lookback window for that (service, severity, environment, source) cell — the number of records actually kept after ingestion sampling.

Bytes long

Retained billed bytes (sum(_BilledSize)) for the cell.

Machine string

Source host / role instance the rows came from.

TrueCount long

Sampling-corrected ("true") count: sum(ItemCount) — what the count would have been with no ingestion sampling. Equals Count when the cell is unsampled (every retained row represents itself, ItemCount == 1).

TrueBytes long

Sampling-corrected ("true") billed bytes: sum(_BilledSize * ItemCount) — the estimated volume had nothing been sampled out. Equals Bytes when unsampled.

Properties

Bytes

Retained billed bytes (sum(_BilledSize)) for the cell.

public long Bytes { get; init; }

Property Value

long

Count

Retained row count in the lookback window for that (service, severity, environment, source) cell — the number of records actually kept after ingestion sampling.

public long Count { get; init; }

Property Value

long

Environment

Environment name as projected by the Quilt4Net standard projection (deployment.environmentAspNetCoreEnvironment fallback). Empty when neither tag was logged.

public string Environment { get; init; }

Property Value

string

Machine

Source host / role instance the rows came from.

public string Machine { get; init; }

Property Value

string

Service

Source application — coalesced from Properties.ApplicationName then AppRoleName, falling back to "unknown".

public string Service { get; init; }

Property Value

string

Severity

Effective severity, unified across log sources: Information for successful requests, Error for failed requests or unhandled exceptions, otherwise the row's own SeverityLevel.

public SeverityLevel Severity { get; init; }

Property Value

SeverityLevel

Source

Which AI table the row came from — Trace / Exception / Request.

public LogSource Source { get; init; }

Property Value

LogSource

TrueBytes

Sampling-corrected ("true") billed bytes: sum(_BilledSize * ItemCount) — the estimated volume had nothing been sampled out. Equals Bytes when unsampled.

public long TrueBytes { get; init; }

Property Value

long

TrueCount

Sampling-corrected ("true") count: sum(ItemCount) — what the count would have been with no ingestion sampling. Equals Count when the cell is unsampled (every retained row represents itself, ItemCount == 1).

public long TrueCount { get; init; }

Property Value

long