Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Visão geral
Objetivo: Registrar e exportar atividade de Proxy de Desenvolvimento para um arquivo de relatório
Tempo: 10 minutos
Plugins:ExecutionSummaryPlugin, MarkdownReporter
Pré-requisitos:Configurar o Proxy de Desenvolvimento
Para registrar e exportar a atividade de proxy, use o ExecutionSummaryPlugin e um plug-in de relatório em seu arquivo de configuração.
O exemplo a seguir mostra como configurar o Dev Proxy para registrar e exportar a atividade de proxy usando o ExecutionSummaryPlugin e o plug-in MarkdownReporter.
Arquivo: devproxyrc.json
{
"plugins": [
{
"name": "ExecutionSummaryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "MarkdownReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Dica
Em vez de criar a configuração por conta própria, você pode baixar a predefinição pronta api-inventory , que registra as URLs que seu aplicativo chama e um resumo de sua atividade:
devproxy config get api-inventory
devproxy --config-file "~dataFolder/configs/api-inventory/.devproxy/devproxyrc.json" --urls-to-watch "https://api.contoso.com/*"
Para obter mais informações, consulte Usar configurações predefinidas.
Observação
Para exportar a atividade, o plug-in do relator deverá ser habilitado no arquivo de configuração e colocado depois do ExecutionSummaryPlugin na lista de plug-ins. Recomenda-se colocar um plug-in de relatório no final da lista de plug-ins.
Para registrar a atividade, o Dev Proxy deve ser colocado no modo de registro.
Existem duas maneiras de começar a gravar:
-
Registre imediatamente. Inicie o proxy com
--recordopção, por exemplo,devproxy --record. - Registre ad hoc. Pressione R enquanto o proxy está em execução.
Quando a gravação está ativada, ◉ Recording... é mostrada na saída do proxy.
Para gerar um relatório da atividade registrada, pare a gravação.
Existem duas maneiras de interromper a gravação:
- Pare o proxy. Pressione Ctrl + C.
- Pare o ad hoc. Pressione S.
Por padrão, as atividades são agrupadas por URL. Para agrupar a atividade por tipo de mensagem, use a opção --summary-group-by.
devproxy --record --summary-group-by messageType
Onde os relatórios são escritos
Quando você para de gravar, cada gerador de relatórios habilitado grava um arquivo para cada relatório produzido por um plug-in de relatório. O Dev Proxy grava os arquivos no diretório de trabalho atual, que é a pasta da qual você iniciou o Dev Proxy. Ao iniciar o Dev Proxy em segundo plano, por exemplo, em um pipeline de CI, inicie-o na pasta em que deseja que os relatórios sejam armazenados.
Os arquivos de relatório usam o seguinte padrão de nomenclatura:
<ReportingPlugin>_<Reporter>.<ext>
Por exemplo, a configuração neste artigo produz um arquivo chamado ExecutionSummaryPlugin_MarkdownReporter.md.
Se já existir um arquivo com esse nome, o Dev Proxy não o substituirá. Em vez disso, acrescenta um carimbo de data/hora no yyyyMMddHHmmss formato ao nome do arquivo, por exemplo ExecutionSummaryPlugin_MarkdownReporter_20261105103000.md. O Proxy de Desenvolvimento registra o nome de cada arquivo de relatório que ele grava, por exemplo:
Writing report ExecutionSummaryPlugin to ExecutionSummaryPlugin_MarkdownReporter.md...
A tabela a seguir lista as extensões que cada reporter usa.
| Repórter | Extension |
|---|---|
| JsonReporter |
.json (alguns relatórios usam uma extensão diferente, por exemplo .jsonc para UrlDiscoveryPlugin) |
| Repórter de Markdown | .md |
| Repórter de texto simples | .txt |
Observação
Toda gravação é local. Nenhum dado é enviado para a Microsoft.
Gravar de scripts e CI
Em scripts e pipelines de CI/CD, você não pode pressionar teclas para iniciar e parar a gravação. Em vez disso, execute o Dev Proxy em segundo plano e controle a gravação usando a API do Dev Proxy. Todas as solicitações de API exigem um token Bearer. Para especificar o token antecipadamente, defina a variável de ambiente DEV_PROXY_API_TOKEN como um valor de pelo menos 32 caracteres antes de iniciar o Proxy de Desenvolvimento.
A sequência mínima é:
- Defina
DEV_PROXY_API_TOKENcomo um valor aleatório de pelo menos 32 caracteres. - Inicie o Proxy de Desenvolvimento em segundo plano:
devproxy --detach --as-system-proxy false -c devproxyrc.json. - Aguarde até que
GET /proxyseja bem-sucedido. - Inicie a gravação:
POST /proxycom{"recording": true}. - Execute sua carga de trabalho com as variáveis de ambiente
HTTP_PROXYeHTTPS_PROXYapontando para o Proxy de Desenvolvimento. - Parar gravação:
POST /proxycom{"recording": false}. A solicitação retorna após os repórteres terminarem, de modo que os relatórios fiquem prontos quando ela for concluída. - Desligar o Proxy de Desenvolvimento:
POST /proxy/stopProxy.
O Proxy de Desenvolvimento grava os relatórios na pasta de onde você o iniciou.
#!/usr/bin/env bash
set -euo pipefail
# 1. use a known API token (at least 32 characters)
export DEV_PROXY_API_TOKEN=$(openssl rand -hex 32)
api=http://127.0.0.1:8897
auth="Authorization: Bearer $DEV_PROXY_API_TOKEN"
# 2. start Dev Proxy in the background
devproxy --detach --as-system-proxy false -c devproxyrc.json
# 3. wait for the API
until curl -sf -H "$auth" "$api/proxy" > /dev/null; do sleep 1; done
# 4. start recording
curl -sf -X POST "$api/proxy" -H "$auth" -H "Content-Type: application/json" -d '{"recording": true}'
# 5. run the workload through Dev Proxy
HTTP_PROXY=http://127.0.0.1:8000 HTTPS_PROXY=http://127.0.0.1:8000 npm test
# 6. stop recording and wait for the reports
curl -sf -X POST "$api/proxy" -H "$auth" -H "Content-Type: application/json" -d '{"recording": false}'
# 7. shut down Dev Proxy
curl -sf -X POST "$api/proxy/stopProxy" -H "$auth"
Os exemplos usam a porta 8000 proxy padrão e a porta 8897de API. Defina as variáveis de ambiente proxy apenas para a carga de trabalho, para que as chamadas à API não passem pelo Dev Proxy. Para interceptar o tráfego HTTPS, a carga de trabalho deve confiar no certificado raiz do Dev Proxy. Para obter mais informações sobre como executar o Dev Proxy em pipelines, incluindo confiar no certificado, consulte Usar Dev Proxy em cenários de CI/CD.
Consulte também
- ExecutionSummaryPlugin – Referência completa
- MarkdownReporter – Formato de relatório
- API de Proxy - Controle o Dev Proxy programaticamente
- Usar o Dev Proxy em cenários de CI/CD – Executar Dev Proxy em pipelines
- Glossário – Terminologia do Proxy de Desenvolvimento
- Usar o Dev Proxy em cenários de CI/CD – Registrar chamadas à API em um pipeline
- Usar configurações predefinidas – configurações prontas