Skip to content
Nuvyntra Labs

Documentation

Packages

Core, ASP.NET Core, EF Core, HTTP, and the embedded UI — and the probes that are not in 0.1.0.

Package line

One repository, several NuGet packages. The prefix is NuvyntraLabs.NET.ApiLens. Optional probes reference core only. They do not reference each other.

PackageRole
NuvyntraLabs.NET.ApiLensTimeline, attribution, N+1, explain rules, and the in-memory ring. No ASP.NET reference.
NuvyntraLabs.NET.ApiLens.AspNetCoreAddApiLens and UseApiLens for MVC and minimal APIs, plus the dashboard gate.
NuvyntraLabs.NET.ApiLens.EntityFrameworkCoreEF Core CommandExecuted and CommandError on the active request.
NuvyntraLabs.NET.ApiLens.HttpOutbound HttpClient timings. Factory clients use a handler. Other clients use the System.Net.Http diagnostic listener.
NuvyntraLabs.NET.ApiLens.UIEmbedded dashboard page. Referenced by the ASP.NET Core package.

How the probes attach

AddApiLens() registers options and the in-memory store. UseApiLens() adds the middleware that opens a request scope, times the rest of the pipeline, and writes one report.

AddApiLensEntityFrameworkCore() subscribes to Microsoft.EntityFrameworkCore diagnostics for CommandExecuted and CommandError. A command is recorded only when a request scope is active.

AddApiLensHttp() adds a delegating handler to IHttpClientFactory clients and listens to System.Net.Http diagnostics for other HttpClient instances. A call the handler already recorded is skipped by the listener, so it is not counted twice.

Later packages

  • A StackExchange.Redis probe that uses client profiling.
  • An optional OpenTelemetry exporter. Collection in 0.1.0 stays on DiagnosticSource and Activity.
  • An optional AI package that reads the existing explanation and does not collect its own data.

Those packages stay in this repository when they exist. They are not extra products, and they are not part of 0.1.0.

Discussion

Comment on ApiLens. The thread lives on this component's GitHub repository. Sign in with GitHub — Giscus uses Discussions, Utterances uses Issues.

Issues are not enabled on this repository

Open the conversation on GitHub, or use the Giscus tab if Discussions are available.