ExecutionSummaryPlugin (Englisch)

Erstellt eine Zusammenfassung der Anforderungen, die den Proxy durchlaufen.

Tipp

Verwenden Sie ein Reporter-Plug-In in Ihrer Konfiguration, um die Zusammenfassung in einer Datei zu speichern.

Screenshot einer Eingabeaufforderung mit der Dev Proxy-Ausführungszusammenfassung mit Informationen zu abgefangenen Anforderungen.

Screenshot einer Eingabeaufforderung mit der Zusammenfassung der von Dev Proxy abgefangenen Anforderungen.

Konfigurationsbeispiel

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "executionSummaryPlugin"
    }
  ],
  "executionSummaryPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/executionsummaryplugin.schema.json",
    "groupBy": "url"
  }
}

Konfigurationseigenschaften

Eigenschaft BESCHREIBUNG Standard
groupBy Wie Proxy die Informationen in der Zusammenfassung gruppieren soll. Verfügbare Optionen: url, messageType url

Befehlszeilenoptionen

Name BESCHREIBUNG Standard
--summary-group-by Wie Proxy die Informationen in der Zusammenfassung gruppieren soll. Verfügbare Optionen: url, messageType url

Output

ExecutionSummaryPlugin erstellt seinen Bericht, wenn Sie die Aufzeichnung beenden. Um den Bericht als JSON zu speichern, fügen Sie den JsonReporter nach ExecutionSummaryPlugin in Ihrer Konfiguration hinzu. JsonReporter schreibt den Bericht in eine Datei, die im aktuellen Arbeitsverzeichnis benannt ist ExecutionSummaryPlugin_JsonReporter.json . Wenn die Datei bereits vorhanden ist, fügt Dev Proxy einen Zeitstempel an den Dateinamen an, z ExecutionSummaryPlugin_JsonReporter_20261105104151.json. B. . .

Der JSON-Bericht ist ein Objekt, das drei Ebenen tief geschachtelt ist. Die Werte auf der innersten Ebene sind Zahlen, die zeigen, wie oft Dev Proxy eine Nachricht protokolliert hat. Die Bedeutung jeder Ebene hängt von der groupBy Einstellung ab.

Dev Proxy verwendet die folgenden lesbaren Kategorienamen im Bericht:

Kategorie BESCHREIBUNG
Requests intercepted Anforderungen, die von Dev Proxy abgefangen wurden. Nur enthalten, wenn groupBymessageType
Requests passed through Anforderungen, die Dev Proxy an den ursprünglichen Server übergeben hat
Requests mocked Anforderungen, für die ein Plug-In eine simulierte Antwort zurückgegeben hat
Requests with chaos Anforderungen, für die ein Plug-In einen Fehler oder eine Latenz simuliert hat
Failures Fehlgeschlagene Anforderungen
Tips Tipps, die Plug-Ins für die Anforderung protokolliert haben
Warnings Warnungen, dass Plug-Ins für die Anforderung protokolliert wurden
Unknown Andere Nachrichten, die für die Anforderung protokolliert wurden, z. B. Zeitstempel und Nachrichten von Plug-Ins, die die Anforderung übersprungen haben

Nach URL gruppieren

In diesem groupBy Zustand weist urlder Bericht die folgende Form auf:

{
  "<method> <url>": {
    "<category>": {
      "<message>": <count>
    }
  }
}
Grad BESCHREIBUNG
1 Die HTTP-Methode und DIE URL jeder abgefangenen Anforderung, z. B GET https://jsonplaceholder.typicode.com/users. . Jede Methoden- und URL-Kombination wird einmal angezeigt, unabhängig davon, wie oft ihre App sie aufgerufen hat.
2 Die Kategorie der Nachrichten, die der Dev-Proxy für die Anforderung protokolliert hat
3 Die Nachricht, die Dev Proxy protokolliert hat, wird der Anzahl der Protokollierten Dev Proxy für die Methode und URL zugeordnet.

Das folgende Beispiel zeigt einen Bericht für eine App, die einmal aufgerufen GET https://jsonplaceholder.typicode.com/users wurde, den Dev-Proxy simuliert und GET https://jsonplaceholder.typicode.com/posts zweimal, den Dev-Proxy durchlaufen hat. Die Unknown Einträge werden zur Lesbarkeit gekürzt.

{
  "GET https://jsonplaceholder.typicode.com/users": {
    "Unknown": {
      "2026-11-05T10:41:13.1151430+00:00": 1,
      "GET https://jsonplaceholder.typicode.com/users": 1
    },
    "Requests mocked": {
      "200 https://jsonplaceholder.typicode.com/users": 1
    }
  },
  "GET https://jsonplaceholder.typicode.com/posts": {
    "Unknown": {
      "No matching mock response found": 2,
      "GET https://jsonplaceholder.typicode.com/posts": 2
    },
    "Requests passed through": {
      "Passed through": 2
    }
  }
}

Nach Nachrichtentyp gruppieren

In diesem groupBy Zustand weist messageTypeder Bericht die folgende Form auf:

{
  "<category>": {
    "<message>": {
      "<method> <url>": <count>
    }
  }
}
Grad BESCHREIBUNG
1 Die Kategorie der Nachrichten, die von Dev Proxy protokolliert wurden
2 Die Nachricht, die von Dev Proxy protokolliert wurde. Für die Requests intercepted Und Requests passed through Kategorien wiederholt diese Ebene den Kategorienamen.
3 Die HTTP-Methode und DIE URL der Anforderung, die der Anzahl zugeordnet ist, mit der Dev Proxy die Nachricht für diese Methode und URL protokolliert hat

Das folgende Beispiel zeigt den Bericht für dieselben Anforderungen, die nach Nachrichtentyp gruppiert sind. Die Unknown Kategorie wird zur Lesbarkeit gekürzt.

{
  "Requests intercepted": {
    "Requests intercepted": {
      "GET https://jsonplaceholder.typicode.com/users": 1,
      "GET https://jsonplaceholder.typicode.com/posts": 2
    }
  },
  "Unknown": {
    "No matching mock response found": {
      "GET https://jsonplaceholder.typicode.com/posts": 2
    }
  },
  "Requests mocked": {
    "200 https://jsonplaceholder.typicode.com/users": {
      "GET https://jsonplaceholder.typicode.com/users": 1
    }
  },
  "Requests passed through": {
    "Requests passed through": {
      "GET https://jsonplaceholder.typicode.com/posts": 2
    }
  }
}

Tipp

Verwenden Sie zum Einchecken einer CI-Pipeline, die dev Proxy abgefangen anfordert, die messageType Gruppierung und lesen Sie die Schlüssel des ["Requests intercepted"]["Requests intercepted"] Objekts. Lesen Sie bei der url Gruppierung die Tasten der obersten Ebene. Jeder Schlüssel beginnt mit der HTTP-Methode gefolgt von einem Leerzeichen und der URL. Verlassen Sie sich nicht auf den Inhalt der Unknown Kategorie, da sie Zeitstempel und andere Diagnosemeldungen enthält.

Siehe auch

Nächster Schritt