PluginResumoDeExecução

Cria um resumo das solicitações que passam pelo proxy.

Dica

Use um plug-in repórter em sua configuração para salvar o resumo em um arquivo.

Captura de tela de um prompt de comando com o resumo de execução do Dev Proxy com informações sobre solicitações interceptadas.

Captura de tela de um prompt de comando com o resumo das solicitações interceptadas pelo Dev Proxy.

Exemplo de configuração

{
  "$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"
  }
}

Propriedades de configuração

Propriedade Descrição Padrão
groupBy Como o proxy deve agrupar as informações no resumo. Opções disponíveis: url, messageType url

Opções de linha de comando

Nome Descrição Padrão
--summary-group-by Como o proxy deve agrupar as informações no resumo. Opções disponíveis: url, messageType url

Output

ExecutionSummaryPlugin cria seu relatório quando você para de gravar. Para salvar o relatório como JSON, adicione o JsonReporter após ExecutionSummaryPlugin em sua configuração. JsonReporter grava o relatório em um arquivo nomeado ExecutionSummaryPlugin_JsonReporter.json no diretório de trabalho atual. Se o arquivo já existir, o Proxy de Desenvolvimento acrescentará um carimbo de data/hora ao nome do arquivo, por exemplo ExecutionSummaryPlugin_JsonReporter_20261105104151.json.

O relatório JSON é um objeto aninhado com três níveis de profundidade. Os valores no nível mais interno são números que mostram quantas vezes o Proxy de Desenvolvimento registrou uma mensagem. O significado de cada nível depende da groupBy configuração.

O Proxy de Desenvolvimento usa os seguintes nomes de categoria legíveis no relatório:

Category Descrição
Requests intercepted Solicitações interceptadas pelo Proxy de Desenvolvimento. Incluído somente quando groupBy for messageType
Requests passed through Solicitações que o Proxy de Desenvolvimento passou para o servidor original
Requests mocked Solicitações para as quais um plug-in retornou uma resposta simulada
Requests with chaos Solicitações para as quais um plug-in simulou um erro ou latência
Failures Solicitações que falharam
Tips Dicas que os plug-ins registraram para a solicitação
Warnings Avisos que os plug-ins registraram para a solicitação
Unknown Outras mensagens registradas para a solicitação, como carimbos de data/hora de solicitação e mensagens de plug-ins que ignoraram a solicitação

Agrupar por URL

Quando groupBy é url, o relatório tem a seguinte forma:

{
  "<method> <url>": {
    "<category>": {
      "<message>": <count>
    }
  }
}
Nível Descrição
1 O método HTTP e a URL de cada solicitação interceptada, por exemplo GET https://jsonplaceholder.typicode.com/users. Cada método e combinação de URL aparece uma vez, independentemente de quantas vezes seu aplicativo o chamou
2 A categoria das mensagens que o Proxy de Desenvolvimento registrou para a solicitação
3 A mensagem que o Proxy de Desenvolvimento registrou, mapeou para o número de vezes que o Proxy de Desenvolvimento o registrou para o método e a URL

O exemplo a seguir mostra um relatório para um aplicativo chamado GET https://jsonplaceholder.typicode.com/users uma vez, que o Proxy de Desenvolvimento zombou e GET https://jsonplaceholder.typicode.com/posts duas vezes, pelo qual o Proxy de Desenvolvimento passou. As Unknown entradas são abreviadas para legibilidade.

{
  "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
    }
  }
}

Agrupar por tipo de mensagem

Quando groupBy é messageType, o relatório tem a seguinte forma:

{
  "<category>": {
    "<message>": {
      "<method> <url>": <count>
    }
  }
}
Nível Descrição
1 A categoria das mensagens registradas pelo Proxy de Desenvolvimento
2 A mensagem que o Proxy de Desenvolvimento registrou. Para as categorias e Requests passed through o Requests intercepted nome da categoria, esse nível repete o nome da categoria
3 O método HTTP e a URL da solicitação, mapeados para o número de vezes que o Proxy de Desenvolvimento registrou a mensagem para esse método e URL

O exemplo a seguir mostra o relatório para as mesmas solicitações agrupadas por tipo de mensagem. A Unknown categoria é abreviada para legibilidade.

{
  "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
    }
  }
}

Dica

Para verificar um pipeline de CI que solicita o Proxy de Desenvolvimento interceptado, use o messageType agrupamento e leia as chaves do ["Requests intercepted"]["Requests intercepted"] objeto. Com o url agrupamento, leia as chaves de nível superior. Cada chave começa com o método HTTP seguido por um espaço e a URL. Não confie no conteúdo da Unknown categoria, pois ela inclui carimbos de data/hora e outras mensagens de diagnóstico.

Consulte também

Próxima etapa