ExecutionSummaryPlugin

Membuat ringkasan permintaan yang melewati proksi.

Petunjuk / Saran

Gunakan plugin reporter dalam konfigurasi Anda untuk menyimpan ringkasan ke file.

Cuplikan layar prompt perintah dengan ringkasan eksekusi Proksi Dev dengan informasi tentang permintaan yang disadap.

Cuplikan layar prompt perintah dengan ringkasan permintaan yang disadap oleh Dev Proxy.

Contoh konfigurasi

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

Properti konfigurasi

Properti Deskripsi Bawaan
groupBy Bagaimana proksi harus mengelompokkan informasi dalam ringkasan. Opsi yang tersedia: url, messageType url

Opsi baris Perintah

Nama Deskripsi Bawaan
--summary-group-by Bagaimana proksi harus mengelompokkan informasi dalam ringkasan. Opsi yang tersedia: url, messageType url

Output

ExecutionSummaryPlugin membuat laporannya saat Anda berhenti merekam. Untuk menyimpan laporan sebagai JSON, tambahkan JsonReporter setelah ExecutionSummaryPlugin dalam konfigurasi Anda. JsonReporter menulis laporan ke file bernama ExecutionSummaryPlugin_JsonReporter.json di direktori kerja saat ini. Jika file sudah ada, Dev Proxy menambahkan tanda waktu ke nama file, misalnya ExecutionSummaryPlugin_JsonReporter_20261105104151.json.

Laporan JSON adalah objek yang berlapis tiga tingkat dalam. Nilai di tingkat terdahulu adalah angka yang menunjukkan berapa kali Proksi Dev mencatat pesan. Arti setiap tingkat tergantung pada groupBy pengaturan.

Dev Proxy menggunakan nama kategori yang dapat dibaca berikut dalam laporan:

Category Deskripsi
Requests intercepted Permintaan yang disadap Oleh Proksi Dev. Hanya disertakan ketika groupBy sedang messageType
Requests passed through Permintaan yang diteruskan Proksi Dev ke server asli
Requests mocked Permintaan yang pluginnya mengembalikan respons tiruan
Requests with chaos Permintaan di mana plugin mensimulasikan kesalahan atau latensi
Failures Permintaan yang gagal
Tips Tips yang dicatat plugin untuk permintaan
Warnings Peringatan bahwa plugin dicatat untuk permintaan
Unknown Pesan lain yang dicatat untuk permintaan, seperti tanda waktu permintaan dan pesan dari plugin yang melewati permintaan

Kelompokkan menurut URL

Ketika groupBy adalah url, laporan memiliki bentuk berikut:

{
  "<method> <url>": {
    "<category>": {
      "<message>": <count>
    }
  }
}
Tingkat Deskripsi
1 Metode HTTP dan URL dari setiap permintaan yang disadap, misalnya GET https://jsonplaceholder.typicode.com/users. Setiap metode dan kombinasi URL muncul sekali, tidak peduli berapa kali aplikasi Anda menyebutnya
2 Kategori pesan yang dicatat Proksi Dev untuk permintaan
3 Pesan bahwa Proksi Dev dicatat, dipetakan ke berapa kali Proksi Dev mencatatnya untuk metode dan URL

Contoh berikut menunjukkan laporan untuk aplikasi yang memanggil GET https://jsonplaceholder.typicode.com/users sekali, yang ditiru Dev Proxy, dan GET https://jsonplaceholder.typicode.com/posts dua kali, yang diteruskan Proksi Dev. Entri Unknown dipersingkat untuk keterbacaan.

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

Mengelompokkan menurut jenis pesan

Ketika groupBy adalah messageType, laporan memiliki bentuk berikut:

{
  "<category>": {
    "<message>": {
      "<method> <url>": <count>
    }
  }
}
Tingkat Deskripsi
1 Kategori pesan yang dicatat Proksi Dev
2 Pesan yang dicatat Oleh Proksi Dev. Requests intercepted Untuk kategori dan Requests passed through , tingkat ini mengulangi nama kategori
3 Metode HTTP dan URL permintaan, dipetakan ke berapa kali Proksi Dev mencatat pesan untuk metode dan URL tersebut

Contoh berikut menunjukkan laporan untuk permintaan yang sama yang dikelompokkan menurut jenis pesan. Kategori Unknown dipersingkat untuk keterbacaan.

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

Petunjuk / Saran

Untuk memeriksa alur CI yang meminta Dev Proxy disadap, gunakan messageType pengelompokan dan baca kunci ["Requests intercepted"]["Requests intercepted"] objek. Dengan pengelompokan url , baca kunci tingkat atas. Setiap kunci dimulai dengan metode HTTP diikuti dengan spasi dan URL. Jangan mengandalkan Unknown konten kategori, karena menyertakan tanda waktu dan pesan diagnostik lainnya.

Baca juga

Langkah selanjutnya