NetEvolve.HealthChecks 5.0: 27+ Targeted Probes, Zero Boilerplate

NetEvolve.HealthChecks 5.0: 27+ Targeted Probes, Zero Boilerplate

HealthChecks 5.0 marks a decisive expansion: broader infrastructure coverage and cleaner mechanics with unapologetic .NET 10 readiness.

For most teams, health endpoints in 4.x were honestly just an afterthought. You know the drill: an abstract base class per check, copy‑pasted DI registrations, coverage shaped more by who shouted loudest than by actual risk. Capacity slipped before visibility caught up—streaming drains or index stalls were typically discovered by operators paging through dashboards rather than by proactive probes. Not ideal.

5.0 reverses that imbalance. It treats instrumentation coverage scope as a first‑order design goal—not some leftover chore. Instead of inheritance noise and manual wiring, you get generated clarity. Instead of gaps around vector stores, event hubs, graph traversals, or AI backends, you get deliberate surface area.

Two parallel shifts (plus the platform tailwind) define the jump from 4.x to 5.0:

  1. Aggressive expansion of supported infrastructure domains
  2. Performance hardening via compile‑time code generation (eliminating inheritance boilerplate noise)
  3. Formalized support for .NET 10
Home of various health checks

The Problem: Fragmented Coverage in 4.x

You could wire a handful of relational checks quickly; beyond that, friction mounted. Want Cassandra and Milvus side by side? That meant bespoke abstractions. Need early visibility into EventHubs partitions or Pub/Sub topics? Manual probes and dashboard spelunking.

Graph traversal sanity for Neo4j or JanusGraph? Usually deferred because “not this sprint.” AI integration (Ollama) lived outside uniform health semantics. The result: instrumented islands separated by latency swamps. Outages started cryptic (“search feels slow”) and matured into incidents only once saturation graphs finally caught up.

Instrumentation traditionally trails feature delivery—teams ship databases, streams, search clusters, and vector indexes faster than they wire consistent health diagnostics. That gap breeds ad‑hoc curl scripts, divergent endpoint semantics, and late-stage detection (usually when capacity is already bleeding).

The Solution: 27+ Targeted Probes with Unified Mechanics

5.0 closes that gap with deliberate portfolio span. Here’s what expanded coverage looks like in practice:

Multi-cloud services (AWS, Azure, GCP) unify under predictable semantics instead of bespoke wrappers. Heterogeneous storage—relational, columnar, time‑series, graph, vector—receives first-class, composable probes. Streaming and event infra (EventHubs, Pulsar, Pub/Sub) surface readiness before message backlogs cascade. And AI pipelines (Ollama models, embedding flows) are folded into standard operational baselines rather than treated as opaque, ‘best effort’ adjuncts.

The outcome? Fewer blind spots, coherent dashboards, faster mean-time-to-explanation.

New Packages (vs 4.20.61)

Unified matrix for faster scanning; Area clarifies operational domain.

PackageAreaPurpose
NetEvolve.HealthChecks.AWS.DynamoDBCloud / AWS NoSQLTable read/write probe & throughput sanity
NetEvolve.HealthChecks.AWS.EC2Cloud / AWS ComputeInstance reachability & state drift detection
NetEvolve.HealthChecks.Azure.EventHubsCloud / Azure MessagingNamespace accessibility + partition query
NetEvolve.HealthChecks.Azure.KustoCloud / Azure AnalyticsControl plane & lightweight query execution
NetEvolve.HealthChecks.Azure.SearchCloud / Azure SearchIndex availability & service status
NetEvolve.HealthChecks.GCP.FirestoreCloud / GCP NoSQLDocument CRUD path liveness
NetEvolve.HealthChecks.GCP.PubSubCloud / GCP MessagingTopic existence & publish viability
NetEvolve.HealthChecks.GCPCloud / GCP SharedShared primitives for unified GCP checks
NetEvolve.HealthChecks.CassandraDatabase / Columnar NoSQLSystem keyspace query & coordinator reachability
NetEvolve.HealthChecks.CockroachDbDatabase / Distributed SQLNode connectivity & lightweight SQL round‑trip
NetEvolve.HealthChecks.CouchbaseDatabase / KV+DocumentBucket availability & KV latency
NetEvolve.HealthChecks.CouchDbDatabase / DocumentEndpoint status & database listing touch
NetEvolve.HealthChecks.EventStoreDbDatabase / Event SourcingGossip / cluster info & stream probe
NetEvolve.HealthChecks.InfluxDBDatabase / Time-SeriesPing + test measurement write/read
NetEvolve.HealthChecks.JanusGraphDatabase / GraphTraversal sanity (simple vertex count)
NetEvolve.HealthChecks.LiteDBDatabase / Embedded NoSQLFile accessibility & collection probe
NetEvolve.HealthChecks.MariaDbDatabase / RelationalConnection open + trivial query
NetEvolve.HealthChecks.MilvusDatabase / VectorCollection existence & vector insertion sanity
NetEvolve.HealthChecks.MySql.DevartDatabase / Relational DriverDevart provider integration path check
NetEvolve.HealthChecks.Neo4jDatabase / GraphBolt handshake + minimal cypher ping
NetEvolve.HealthChecks.Npgsql.DevartDatabase / Relational DriverCross‑provider variant connectivity
NetEvolve.HealthChecks.OpenSearchSearch / DistributedCluster health & index existence
NetEvolve.HealthChecks.Oracle.DevartDatabase / Relational DriverDevart Oracle session & probe query
NetEvolve.HealthChecks.SQLite.DevartDatabase / Embedded RelationalDevart SQLite file access & pragma ping
NetEvolve.HealthChecks.Apache.PulsarMessaging / StreamingTenant lookup & topic metadata probe
NetEvolve.HealthChecks.ConsulRegistry / Service DiscoveryCatalog read & KV key presence
NetEvolve.HealthChecks.OllamaAI / LLM LocalModel list & lightweight prompt execution sanity

Strategic Pivot

This release is a deliberate pivot from abstract inheritance sprawl to deterministic compilation. The direction harmonizes with the .NET 10 trajectory: trimming improvements, analyzer-driven contract enforcement. Explicit registries replace implicit conventions, tightening maintainability. Observability aligns—metrics map directly to known code paths instead of hidden lazy activation. And future readiness improves as static edges simplify evolution.

It’s an architectural stance: explicit beats implicit, generated beats hand‑wired repetition.

Conclusion

Version 5.0 broadens infrastructure coverage and simplifies the mechanics through source generation. The 27 new packages target domains that previously required manual workarounds—cloud services, graph databases, vector stores, streaming platforms, and local AI inference. The generator replaces repetitive inheritance patterns with explicit, deterministic registries.

If you’re running multi-cloud stacks, heterogeneous storage, or expanding into vector and AI workloads, the expanded portfolio closes visibility gaps. The generator reduces boilerplate and tightens alignment between what’s configured and what’s deployed.

Comments

VG Wort