Metriken

Custom Metrics der DataBridge — vorab aggregiert und ohne Sampling.

Neben Traces und Requests sendet die dsyr.DataBridge eigene Custom Metrics an Application Insights. Metriken sind numerische Zeitreihen mit Dimensionen — sie eignen sich für Dashboards, Trend-Analysen und Metric Alerts, ohne dass dafür Log-Einträge durchsucht werden müssen.

Die Metriken werden über TelemetryClient.GetMetric() vorab aggregiert: Das SDK sammelt die Werte lokal in 1-Minuten-Intervallen und sendet pro Intervall und Dimensionskombination einen aggregierten Datenpunkt (Summe, Anzahl, Min, Max).

Verfügbare Metriken

Alle Metriken verwenden den Namespace DataBridge.

MetrikDimensionenQuelleBedeutung
ChangesDetectedJobNameGetChanges → ProcessJobsForRetrievalInOrderServiceAnzahl der erkannten geänderten Datensätze pro Job und Lauf (kumuliert pro Lauf, inkl. 0)
MessagesProcessedJobName, Outcome (Success/Failed/Transitive)ProcessStandardQueueItems/ProcessLowPriorityQueueItems/ProcessHighPriorityQueueItems → ProcessQueueMessageServiceEine verarbeitete Queue-Nachricht mit ihrem Ausgang. Queue-übergreifend: alle drei Prioritäts-Queues schreiben in dieselbe Metrik, unterscheidbar nur über den Ausgang, nicht über die Queue. Transitive heißt: die Nachricht wurde nicht endgültig verworfen, sondern in eine Retry-Queue umgeleitet.
ProcessingDurationMsJobNameProcessStandardQueueItems/ProcessLowPriorityQueueItems/ProcessHighPriorityQueueItems → ProcessQueueMessageServiceVerarbeitungsdauer einer einzelnen Queue-Nachricht in Millisekunden, unabhängig vom Ausgang.

Anzeige in Azure

Metrics Explorer

Application Insights → Metriken → Namespace DataBridge auswählen → Metrik ChangesDetected. Als Aggregation eignet sich Summe (Anzahl Datensätze) oder Anzahl (Anzahl Läufe).

KQL (Logs)

Jeder aggregierte Datenpunkt landet zusätzlich in der Tabelle customMetrics:

customMetrics
| where name == "ChangesDetected"
| extend job = tostring(customDimensions["JobName"])
| summarize sum(valueSum) by bin(timestamp, 2m), job
| render timechart

Host-generierte Metriken (Functions-Runtime)

Zusätzlich zu den oben aufgeführten, selbst erzeugten Metriken schreibt die Azure-Functions-Runtime automatisch pro Funktion aggregierte Kennzahlen ebenfalls in die Tabelle customMetrics — ohne dass die DataBridge dafür Code enthält:

<FunctionName> Successes
<FunctionName> Failures
<FunctionName> SuccessRate
<FunctionName> AvgDurationMs
<FunctionName> MinDurationMs
<FunctionName> MaxDurationMs

<FunctionName> ist z. B. GetChanges, ProcessStandardQueueItems, ProcessLowPriorityQueueItems oder ProcessHighPriorityQueueItems. Diese Metriken sind Standardverhalten des Functions-Hosts (WebJobs SDK Function Result Aggregator) und daher in jeder Azure-Functions-App vorhanden, unabhängig von der DataBridge selbst. Das Grafana-Dashboard nutzt sie für die Kopfzeilen-Tachos und die Ausführungen/Laufzeiten-Panels der Zeile „GetChanges".

Limits

LimitWertAnmerkung
Dimensionen pro Metrik10Azure-Monitor-Limit
Zeitreihen pro Metrik (SDK-Default)1.000seriesCountLimit der SDK-Pre-Aggregation
Distinct-Werte pro Dimension (SDK-Default)100valuesPerDimensionLimit

Konsequenz: Dimensionswerte müssen niedrig-kardinal sein — Job-Namen, Queue-Namen und Status-Codes sind geeignet; IDs, Zeitstempel oder Datensatz-Schlüssel nicht.