Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает сводку запросов, проходящих через прокси-сервер.
Совет
Используйте подключаемый модуль репортера в конфигурации, чтобы сохранить сводку в файл.
Пример конфигурации
{
"$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"
}
}
Свойства конфигурации
| Свойство | Описание | По умолч. |
|---|---|---|
groupBy |
Как прокси-сервер должен сгруппировать сведения в сводке. Доступные параметры: url, messageType |
url |
Параметры командной строки
| Имя | Описание | По умолч. |
|---|---|---|
--summary-group-by |
Как прокси-сервер должен сгруппировать сведения в сводке. Доступные параметры: url, messageType |
url |
Output
ExecutionSummaryPlugin создает свой отчет при остановке записи. Чтобы сохранить отчет в формате JSON, добавьте JsonReporter после ExecutionSummaryPlugin в конфигурацию. JsonReporter записывает отчет в файл с именем ExecutionSummaryPlugin_JsonReporter.json в текущем рабочем каталоге. Если файл уже существует, прокси-сервер разработки добавляет метку времени к имени файла, например ExecutionSummaryPlugin_JsonReporter_20261105104151.json.
Отчет JSON — это объект, вложенный в три уровня глубоко. Значения на самом внутреннем уровне — это числа, которые показывают, сколько раз прокси-сервер разработки зарегистрировал сообщение. Значение каждого уровня зависит от groupBy параметра.
В отчете используется следующие доступные для чтения имена категорий.
| Category | Описание |
|---|---|
Requests intercepted |
Запрашивает перехват прокси-сервера разработки. Только в том случае, если groupBymessageType |
Requests passed through |
Запросы, передаваемые прокси-серверу разработки на исходный сервер |
Requests mocked |
Запросы, для которых подключаемый модуль вернул макет ответа |
Requests with chaos |
Запросы, для которых подключаемый модуль имитировал ошибку или задержку |
Failures |
Запросы, которые завершилися сбоем |
Tips |
Советы по входу подключаемых модулей для запроса |
Warnings |
Предупреждения о том, что подключаемые модули, зарегистрированные для запроса |
Unknown |
Другие сообщения, зарегистрированные для запроса, такие как метки времени запроса и сообщения из подключаемых модулей, пропускающих запрос |
Группировка по URL-адресу
Если groupBy это urlтак, отчет имеет следующую форму:
{
"<method> <url>": {
"<category>": {
"<message>": <count>
}
}
}
| Level | Описание |
|---|---|
| 1 | Метод HTTP и URL-адрес каждого перехвата запроса, например GET https://jsonplaceholder.typicode.com/users. Каждое сочетание методов и URL-адресов появляется один раз, независимо от того, сколько раз вызывается приложение. |
| 2 | Категория сообщений, зарегистрированных в прокси-сервере разработки для запроса |
| 3 | Сообщение, вошедшего в журнал прокси-сервера dev, сопоставленное с числом записей прокси-сервера разработки для метода и URL-адреса. |
В следующем примере показан отчет для приложения, вызываемого GET https://jsonplaceholder.typicode.com/users один раз, который вымехал прокси-сервер разработки и GET https://jsonplaceholder.typicode.com/posts дважды, через который передается прокси-сервер разработки. Записи Unknown сокращены для удобства чтения.
{
"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
}
}
}
Группировать по типу сообщения
Если groupBy это messageTypeтак, отчет имеет следующую форму:
{
"<category>": {
"<message>": {
"<method> <url>": <count>
}
}
}
| Level | Описание |
|---|---|
| 1 | Категория сообщений, зарегистрированных в прокси-сервере разработки |
| 2 | Сообщение, зарегистрированное в прокси-сервере разработки.
Requests intercepted Для категорий Requests passed through этот уровень повторяет имя категории |
| 3 | Метод HTTP и URL-адрес запроса, сопоставленные с числом записей прокси разработки для этого метода и URL-адреса. |
В следующем примере показан отчет для одинаковых запросов, сгруппированных по типу сообщения. Категория Unknown сокращена для удобства чтения.
{
"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
}
}
}
Совет
Чтобы проверить конвейер CI, запрашивающий перехват прокси-сервер разработки, используйте messageType группирование и считывание ключей ["Requests intercepted"]["Requests intercepted"] объекта.
url С помощью группирования считывайте ключи верхнего уровня. Каждый ключ начинается с метода HTTP, за которым следует пробел и URL-адрес. Не полагаться на содержимое Unknown категории, так как она включает метки времени и другие диагностические сообщения.
См. также
- Запись из скриптов и CI
- Использование прокси-сервера разработки в сценариях CI/CD
- API прокси-сервера