Add OpenTelemetry, performance metrics, and broaden logging + tests
Observability: - New FuchsTelemetry (ActivitySource + Meter) defining business counters (invoices/reminders/reports rendered, emails/sms sent+failed, MT940 rows, MFR calls) and duration histograms (PDF render, report render, email send). - Program.cs wires OpenTelemetry tracing (ASP.NET Core, HttpClient, SqlClient, app source) and metrics (ASP.NET Core, HttpClient, runtime, app meter). OTLP export is enabled only when Fuchs:Telemetry:OtlpEndpoint is set, so a missing collector never affects the app; disable via Fuchs:Telemetry:Enabled. Instrumentation + logging: - Services (Pdf, Invoice, Reminder, Report, Com, Banking, Widget, MfrFactory) now emit spans, record metrics, and log entry/result/timing/errors. - Added dispatch + key-action logging to the previously silent handlers (Banking, Reminder, Reports, Requests). Tests (137 total, +10): - ProcessWebComServiceTests with a stub HttpMessageHandler cover success (API 200), failure (API 500, invalid email, empty mobile), disabled mode, the base64 attachment payload contract, and metric emission via MeterListener. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,10 @@
|
||||
"AccountId": "",
|
||||
"Token": "MANAGED_BY_KEYVAULT",
|
||||
"Enabled": false
|
||||
},
|
||||
"Telemetry": {
|
||||
"Enabled": true,
|
||||
"OtlpEndpoint": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user