Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Överblick
Mål: Registrera och exportera Dev Proxy-aktivitet till en rapportfil
Tid: 10 minuter
Plugin-program:ExecutionSummaryPlugin, MarkdownReporter
Krav:Konfigurera Dev Proxy
Om du vill registrera och exportera proxyaktivitet använder du ExecutionSummaryPlugin och ett reporter-plugin-program i konfigurationsfilen.
I följande exempel visas hur du konfigurerar Dev Proxy för att registrera och exportera proxyaktivitet med hjälp av plugin-programmet ExecutionSummaryPlugin och MarkdownReporter .
Fil: 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/*"
]
}
Tip
I stället för att skapa konfigurationen själv kan du ladda ned den färdiga api-inventory förinställningen, som registrerar url:erna som appen anropar och en sammanfattning av dess aktivitet:
devproxy config get api-inventory
devproxy --config-file "~dataFolder/configs/api-inventory/.devproxy/devproxyrc.json" --urls-to-watch "https://api.contoso.com/*"
Mer information finns i Använd förinställda konfigurationer.
Anmärkning
Om du vill exportera aktiviteten måste plugin-programmet reporter aktiveras i konfigurationsfilen och placeras efter ExecutionSummaryPlugin i listan med plugin-program. Vi rekommenderar att du placerar ett reporter-plugin-program i slutet av plugin-listan.
För att registrera aktivitet måste Dev Proxy placeras i inspelningsläge.
Det finns två sätt att börja spela in:
-
Spela in omedelbart. Starta proxy med
--recordalternativet, till exempeldevproxy --record. - Spela in ad hoc. Tryck på R medan proxyn körs.
När inspelning är aktiverad, ◉ Recording... visas i proxyutdata.
Om du vill generera en rapport från den inspelade aktiviteten stoppar du inspelningen.
Det finns två sätt att stoppa inspelningen:
- Avsluta proxy. Tryck på Ctrl + C.
- Stoppa adhoc. Tryck på S.
Som standard grupperas aktiviteter efter URL. Om du vill gruppera aktivitet efter meddelandetyp använder du alternativet --summary-group-by .
devproxy --record --summary-group-by messageType
Där rapporter skrivs
När du slutar spela in skriver varje aktiverad reporter en fil för varje rapport som skapas av ett rapportinsticksprogram. Dev Proxy skriver filerna till den aktuella arbetskatalogen, som är den mapp som du startade Dev Proxy från. När du startar Dev Proxy i bakgrunden, till exempel i en CI-pipeline, ser du till att du startar den från mappen där du vill att rapporterna ska lagras.
Rapportfiler använder följande namngivningsmönster:
<ReportingPlugin>_<Reporter>.<ext>
Konfigurationen i den här artikeln skapar till exempel en fil med namnet ExecutionSummaryPlugin_MarkdownReporter.md.
Om det redan finns en fil med det namnet skriver Dev Proxy inte över den. I stället lägger den till en tidsstämpel i yyyyMMddHHmmss formatet till filnamnet, till exempel ExecutionSummaryPlugin_MarkdownReporter_20261105103000.md. Dev Proxy loggar namnet på varje rapportfil som den skriver, till exempel:
Writing report ExecutionSummaryPlugin to ExecutionSummaryPlugin_MarkdownReporter.md...
I följande tabell visas de tillägg som varje reporter använder.
| Reporter | Extension |
|---|---|
| JsonReporter |
.json (vissa rapporter använder ett annat tillägg, till exempel .jsonc för UrlDiscoveryPlugin) |
| MarkdownReporter | .md |
| PlainTextReporter | .txt |
Anmärkning
All inspelning är lokal. Inga data skickas till Microsoft.
Spela in från skript och CI
I skript och CI/CD-pipelines kan du inte simulera tangenttryckningar för att starta och stoppa inspelningen. Kör i stället Dev Proxy i bakgrunden och kontrollera inspelningen med hjälp av Dev Proxy-API:et. Alla API-begäranden kräver en bearer-token. För att ange token i förväg anger du miljövariabeln DEV_PROXY_API_TOKEN till ett värde på minst 32 tecken innan du startar Dev Proxy.
Den minimala sekvensen är:
- Ange
DEV_PROXY_API_TOKENett slumpmässigt värde på minst 32 tecken. - Starta Dev Proxy i bakgrunden:
devproxy --detach --as-system-proxy false -c devproxyrc.json. - Vänta tills
GET /proxylyckas. - Starta inspelningen:
POST /proxymed{"recording": true}. - Kör arbetsbelastningen med miljövariablerna
HTTP_PROXYochHTTPS_PROXYsom pekar på Dev Proxy. - Stoppa inspelning:
POST /proxymed hjälp av{"recording": false}. Begäran returneras när rapportgeneratorerna är klara, så rapporterna är klara när den slutförs. - Stäng av Dev Proxy:
POST /proxy/stopProxy.
Dev Proxy skriver rapporterna till mappen därifrån du startade den.
#!/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"
I exemplen används standardproxyporten 8000 och API-porten 8897. Ange endast proxymiljövariablerna för arbetsbelastningen så att API-anropen inte går via Dev Proxy. För att kunna fånga upp HTTPS-trafik måste arbetslasten lita på rotcertifikatet för Dev Proxy. Mer information om hur du kör Dev Proxy i pipelines, inklusive hur du litar på certifikatet, se Använd Dev Proxy i CI/CD-scenarier.
Se även
- ExecutionSummaryPlugin – fullständig referens
- MarkdownReporter – rapportformat
- Proxy-API – Kontrollera Dev Proxy programmatiskt
- Använda Dev Proxy i CI/CD-scenarier – Kör Dev Proxy i pipelines
- Ordlista – Dev Proxy-terminologi
- Använda Dev Proxy i CI/CD-scenarier – Registrera API-anrop i en pipeline
- Använd förinställda konfigurationer – färdiga konfigurationer