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
ServicestringSource application — coalesced from
Properties.ApplicationNamethenAppRoleName, falling back to"unknown".SeveritySeverityLevelEffective severity, unified across log sources: Information for successful requests, Error for failed requests or unhandled exceptions, otherwise the row's own
SeverityLevel.EnvironmentstringEnvironment name as projected by the Quilt4Net standard projection (
deployment.environment→AspNetCoreEnvironmentfallback). Empty when neither tag was logged.SourceLogSourceWhich AI table the row came from — Trace / Exception / Request.
CountlongRetained row count in the lookback window for that (service, severity, environment, source) cell — the number of records actually kept after ingestion sampling.
ByteslongRetained billed bytes (
sum(_BilledSize)) for the cell.MachinestringSource host / role instance the rows came from.
TrueCountlongSampling-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).TrueByteslongSampling-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
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
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
Machine
Source host / role instance the rows came from.
public string Machine { get; init; }
Property Value
Service
Source application — coalesced from Properties.ApplicationName then
AppRoleName, falling back to "unknown".
public string Service { get; init; }
Property Value
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
Source
Which AI table the row came from — Trace / Exception / Request.
public LogSource Source { get; init; }
Property Value
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
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; }