NETReporter.Abstractions 3.1.1

NETReporter.Abstractions

Společná rozhraní a typy knihovny NETReporter. Balíček nemá žádné závislosti na renderovacích knihovnách (QuestPDF, Roslyn, OxyPlot, ZXing), takže ho může používat kód, který report jen zadává, bez toho, aby tahal celou knihovnu.

Obsahuje:

  • IReportRenderer – vykreslení reportu z proudů šablony a dat (PDF, SVG, HTML, JSON, WebP, PNG, JPEG, stránky po jedné),
  • ITemplateTools – validace šablony a dat, datový kontrakt (TemplateDataContract) a ukázková data,
  • RenderOptions a PDF volby (PdfConformance, PdfAttachment, PdfEncryption),
  • diagnostiky (Diagnostic, BindingDiagnostic, DiagnosticCodes) a pozorovatele pipeline (IReportPipelineObserver).

Implementace jsou dvě a nahrazují se registrací v DI:

Balíček Implementace Kde se renderuje
NETReporter ReportRenderer, TemplateTools v procesu aplikace
NETReporter.Client ReportServerRenderer, ReportServerTemplateTools na serveru ReportServer, přihlášení API tokenem

Typy zůstaly ve svých jmenných prostorech (NetReporter, NetReporter.Common, NetReporter.Bindings …) a knihovna NETReporter je přeposílá (TypeForwardedTo), takže stávající kód se nemění.

Balíčky NETReporter, NETReporter.Abstractions a NETReporter.Client se vydávají společně se stejnou verzí. Seznam změn je v souboru CHANGELOG.md v balíčku.

Požadavky: .NET 10.

Showing the top 20 packages that depend on NETReporter.Abstractions.

Packages Downloads
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
62
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
9
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
8
NETReporter.Client
Tenký klient pro ReportServer: stejné rozhraní jako knihovna NETReporter (IReportRenderer, ITemplateTools), ale report se vykreslí na serveru a klient se přihlašuje API tokenem. Bez QuestPDF, Roslynu a dalších těžkých závislostí.
8
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
6
NETReporter
Reportovaci knihovna pro generování PDF reportů z JSON šablon
5
NETReporter.Client
Tenký klient pro ReportServer: stejné rozhraní jako knihovna NETReporter (IReportRenderer, ITemplateTools), ale report se vykreslí na serveru a klient se přihlašuje API tokenem. Bez QuestPDF, Roslynu a dalších těžkých závislostí.
5
NETReporter.Client
Tenký klient pro ReportServer: stejné rozhraní jako knihovna NETReporter (IReportRenderer, ITemplateTools), ale report se vykreslí na serveru a klient se přihlašuje API tokenem. Bez QuestPDF, Roslynu a dalších těžkých závislostí.
4

- ReportServer and template editor: metrics for Prometheus and Grafana at `GET /metrics` (text format 0.0.4, no new dependency; a small shared registry in `NetReporter.ReportServer.Client`). The endpoint needs no login but answers only on its own port (`Metrics:Port`, `METRICS_PORT`, default 9464, `0` switches it off); the decision is made by the local port of the connection, not by the `Host` header, so it is `404` on the public port 8080 even for an admin. The Docker images of the API and the editor listen on 8080 and 9464 (`ASPNETCORE_URLS`); requests to `/metrics` on the API are logged at Debug. - API metrics: renders (`netreporter_renders_total{format,source,outcome}` with outcome success, cache_hit or failure, `netreporter_render_failures_total{format,code}`, the histogram `netreporter_render_duration_seconds`, pages and output bytes), requests refused by a rate limit (`netreporter_rate_limited_total{policy}`), password logins (`netreporter_logins_total{result}`), the content cache (`netreporter_content_cache_*`: state, hits, misses, bytes served from disk and bytes read from the database) and an inventory read from the database at most once a minute per pod (`netreporter_content_items{kind,visibility,origin}`, published templates and versions, assets by kind and size, users and users logged in during the last 24 hours and 30 days). - Editor metrics: open editor sessions (`netreporter_editor_sessions`), previews (`netreporter_editor_previews_total{format,outcome}` and the duration histogram), gallery thumbnails, template saves (`created`, `updated`, `conflict`) and publishes (`published`, `unchanged`, `conflict`). Both processes also report memory, the number of compiled C# expressions with its cap, uptime and the version (`netreporter_build_info`). - k3s: `deploy/k8s/05-workloads.yaml` names the container port `metrics` of the API and the editor; the new `deploy/k8s/09-monitoring.yaml` holds a `PodMonitor` for kube-prometheus-stack and two Grafana dashboards (cache and process of the API; renders, content, users and editor work). `rollout.sh` and `deploy.sh` apply it only when the cluster has the `PodMonitor` CRD. The dashboards are also plain JSON files in `deploy/grafana/` that can be imported into any Grafana; they are the source, and `deploy/grafana/sync-k8s-dashboards.ps1` copies them into the ConfigMaps. Celý seznam změn: CHANGELOG.md v balíčku a https://dev.azure.com/advsoft/Knihovny/_git/NetReporter?path=/src/NetReporter/CHANGELOG.md

.NET 10.0

  • No dependencies.

Version Downloads Last updated
3.9.2 4 10/28/2026
3.9.1 1 10/27/2026
3.9.0 6 10/20/2026
3.8.1 6 10/19/2026
3.8.0 4 10/19/2026
3.7.0 4 10/19/2026
3.6.0 5 10/17/2026
3.5.1 62 10/15/2026
3.5.0 4 10/15/2026
3.4.2 4 10/15/2026
3.4.0 6 10/12/2026
3.3.0 4 10/11/2026
3.2.2 4 10/10/2026
3.2.1 4 10/10/2026
3.2.0 5 10/10/2026
3.1.1 5 10/09/2026
3.1.0 4 10/09/2026
3.0.1 8 10/08/2026
3.0.0 4 10/08/2026
2.2.1 5 10/05/2026
2.2.0 6 10/05/2026
2.1.0 8 10/04/2026
2.0.1 7 10/04/2026
2.0.0 5 10/03/2026
1.7.0 4 10/03/2026