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.environment → AspNetCoreEnvironment 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.environment → AspNetCoreEnvironment 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