Topic
Performance & Data
Databases, telemetry, ingestion and the measurements behind a system that is actually faster.

Keep the Failed Attempt: Retry History, Late Events and Retention
A retry that overwrites one status row erases the timeout before it, and a late report can undo the success. Build an attempt ledger in SQL Server that keeps both and survives retention.

ASP.NET Waits with Low CPU: Find the Queue Before Changing the Pool
The same endpoint can queue at a semaphore or inside the thread pool. Read the counters and a real stack, measure what async changes, and build a permit gate that cannot leak.

Why Your .NET Payload Survives: Trace the Roots, Unlink and Drain
Follow the strong path that keeps a 16 MiB payload alive on .NET 10, find the second owner behind an unsubscribed event, and build a subscription that unlinks and drains safely.

Verify the Statistics Your SQL Maintenance Job Actually Changed
A green UPDATE STATISTICS job can refresh the wrong table, sample when you asked for a full scan, or be undone by an automatic update. Check the object you meant, by id, and say unknown when unsure.

Telemetry Event Formats: Units, Versions, Bytes and CPU in .NET
A strict C# telemetry codec followed byte by byte: why a tolerant JSON reader turns 1.5 ms into 1.5 s, and what Brotli, buffers and decoders really cost on .NET 10.

Async Work Is Not on the Thread Stack: Tracing Suspended .NET Code
Why a live stack cannot show awaiting callers, how .NET 11's async profiler records the continuation chain instead, and why request identity must come from your own trace ID.

SQL Date Filters: Keep the Business Day and Count the Rows Read
Compute 23-hour and 25-hour local days at both ends, filter with typed half-open intervals, and see why a CONVERT(date) seek still read twice the rows on SQL Server 2025.

Indexing JSON in SQL Server 2025: Typed Keys, Real Plans, Write Costs
A computed-column index and the new JSON index both turn a 4,100-page scan into a few reads, but each stores its own meaning of a value and makes every update pay. Measured on SQL Server 2025.

Lazy<T> Under Contention: Racing Factories, Cached Failures, Blocked Threads
What each LazyThreadSafetyMode really does on the first call: losing factories that keep their side effects, exceptions cached forever, blocked callers, and an async cache that recovers.

Why .NET 11 Removes This Box, but Keeps That Allocation
One binary on .NET 10 and .NET 11: nullable boxes that stay local stop allocating, escaping boxes and closures do not. Read the JIT code and the measurements behind each case.

Reusable ValueTask Sources: When Is It Safe to Call Reset?
Build an IValueTaskSource that survives reuse: release in GetResult, reserve completion before SetResult, and stop an inline consumer from breaking the next operation.

Runtime Async in .NET 11: Who Builds the State Machine Now?
In .NET 11 the JIT, not the C# compiler, can implement async methods. Read the IL and x64 it produces, and see what changes for completed and suspended calls.