Kladde.ServiceDefaults ist das unscheinbarste Projekt der Kladde. Es hat keine Seite und keine Tabelle, und doch läuft sein Code in jedem Prozess: in der Web-App, im Worker, im Abruf, in den Migrationen und seit Lektion 3.14.2 im TED-Stub. Seit K2 2.9.3 haben fünf Lektionen daran geändert. Diese Lektion liest es als Ganzes, nimmt das Dashboard, das seine Telemetrie anzeigt, genauer unter die Lupe und schließt eine Lücke, die seit K2 nur mit Disziplin geschlossen ist.

Was die Service Defaults heute tun

Die Vorlage aus K2 hat Extensions.cs mit vier Aufgaben angelegt. Jede hat die Kladde seitdem bewusst geändert:

Aufgabe in der Vorlage in der Kladde seit
OpenTelemetry Logs, Metriken, Spuren von ASP.NET Core, HttpClient und Laufzeit; OTLP nur, wenn OTEL_EXPORTER_OTLP_ENDPOINT gesetzt ist dazu AddSource("Kladde.*") und AddMeter("Kladde.*"); ans Dashboard oder nach Application Insights über die Microsoft OpenTelemetry Distro (TelemetryExport) 3.4.2, 3.4.3
Health Checks self mit dem Tag live; /health und /alive nur in Development /health/live und /health/ready in jeder Umgebung, ohne Anmeldung und ohne Messwert K2 2.9.3, 3.4.5
Service Discovery für jeden HttpClient unverändert
Resilienz AddStandardResilienceHandler() für jeden HttpClient gestrichen: Jeder Client entscheidet selbst, keiner wiederholt ein POST K2 2.9.3, 3.9.2

Diese Tabelle gehört in die README von Kladde.ServiceDefaults. Die Vorlage ist Code, der Ihnen gehört, und wer eine neue Fassung der Vorlage sieht, soll wissen, welche Abweichungen Absicht sind, bevor er sie „aktualisiert“.