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,RenderOptionsa 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 |