Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzy podsumowanie żądań przekazywanych przez serwer proxy.
Napiwek
Użyj wtyczki reportera w konfiguracji, aby zapisać podsumowanie w pliku.
Przykład konfiguracji
{
"$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"
}
}
Właściwości konfiguracji
| Właściwości | opis | Wartość domyślna |
|---|---|---|
groupBy |
Jak serwer proxy powinien zgrupować informacje w podsumowaniu. Dostępne opcje: url, messageType |
url |
Opcje wiersza polecenia
| Nazwa/nazwisko | opis | Wartość domyślna |
|---|---|---|
--summary-group-by |
Jak serwer proxy powinien zgrupować informacje w podsumowaniu. Dostępne opcje: url, messageType |
url |
Output
ExecutionSummaryPlugin tworzy raport po zatrzymaniu rejestrowania. Aby zapisać raport w formacie JSON, dodaj raport JsonReporter po wykonaniuSummaryPlugin w konfiguracji. Narzędzie JsonReporter zapisuje raport w pliku o nazwie ExecutionSummaryPlugin_JsonReporter.json w bieżącym katalogu roboczym. Jeśli plik już istnieje, serwer proxy deweloperów dołącza znacznik czasu do nazwy pliku, na przykład ExecutionSummaryPlugin_JsonReporter_20261105104151.json.
Raport JSON jest obiektem zagnieżdżonym na trzech poziomach głębokości. Wartości na najbardziej wewnętrznym poziomie to liczby, które pokazują, ile razy serwer proxy deweloperów zarejestrował komunikat. Znaczenie każdego poziomu zależy groupBy od ustawienia.
Serwer proxy deweloperów używa następujących czytelnych nazw kategorii w raporcie:
| Category | opis |
|---|---|
Requests intercepted |
Żądania przechwycone przez serwer proxy deweloperów. Uwzględniane tylko wtedy, gdy groupBy jest messageType |
Requests passed through |
Żądania przekazywane przez serwer proxy deweloperów do oryginalnego serwera |
Requests mocked |
Żądania, dla których wtyczka zwróciła pozorną odpowiedź |
Requests with chaos |
Żądania, dla których wtyczka symulowała błąd lub opóźnienie |
Failures |
Żądania, które zakończyły się niepowodzeniem |
Tips |
Porady dotyczące wtyczki zarejestrowanych dla żądania |
Warnings |
Ostrzeżenia dotyczące wtyczki zarejestrowanych dla żądania |
Unknown |
Inne komunikaty zarejestrowane dla żądania, takie jak znaczniki czasu żądania i komunikaty z wtyczek, które pominąły żądanie |
Grupuj według adresu URL
Gdy groupBy ma urlwartość , raport ma następujący kształt:
{
"<method> <url>": {
"<category>": {
"<message>": <count>
}
}
}
| Level | opis |
|---|---|
| 1 | Metoda HTTP i adres URL każdego przechwyconego żądania, na przykład GET https://jsonplaceholder.typicode.com/users. Każda kombinacja metody i adresu URL jest wyświetlana raz, niezależnie od tego, ile razy aplikacja ją nazwała |
| 2 | Kategoria komunikatów zarejestrowanych przez serwer proxy dewelopera dla żądania |
| 3 | Komunikat zarejestrowany przez serwer proxy deweloperów zamapowany na liczbę przypadków, gdy serwer proxy dewelopera zarejestrował go dla metody i adresu URL |
W poniższym przykładzie przedstawiono raport dla aplikacji o nazwie GET https://jsonplaceholder.typicode.com/users raz, wyśmiewany przez serwer proxy deweloperów i GET https://jsonplaceholder.typicode.com/posts dwa razy przekazywany przez serwer proxy deweloperów. Wpisy Unknown są skracane pod kątem czytelności.
{
"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
}
}
}
Grupuj według typu komunikatu
Gdy groupBy ma messageTypewartość , raport ma następujący kształt:
{
"<category>": {
"<message>": {
"<method> <url>": <count>
}
}
}
| Level | opis |
|---|---|
| 1 | Kategoria komunikatów zarejestrowanych przez serwer proxy deweloperów |
| 2 | Komunikat zarejestrowany przez serwer proxy deweloperów.
Requests intercepted Dla kategorii i Requests passed through ten poziom powtarza nazwę kategorii |
| 3 | Metoda HTTP i adres URL żądania zamapowane na liczbę przypadków, gdy serwer proxy dewelopera zarejestrował komunikat dla tej metody i adresu URL |
Poniższy przykład przedstawia raport dla tych samych żądań pogrupowanych według typu komunikatu. Kategoria Unknown jest skracana do czytelności.
{
"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
}
}
}
Napiwek
Aby zaewidencjonować potok ciągłej integracji, który żąda przechwycenia serwera proxy dewelopera, użyj messageType grupowania i odczytania ["Requests intercepted"]["Requests intercepted"] kluczy obiektu.
url Po zgrupowaniu odczytaj klucze najwyższego poziomu. Każdy klucz rozpoczyna się od metody HTTP, po której następuje spacja i adres URL. Nie polegaj na zawartości Unknown kategorii, ponieważ zawiera ona znaczniki czasu i inne komunikaty diagnostyczne.