Menggunakan Debug

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Bagian ini menjelaskan cara membuat dan mengelola sesi debug, serta melihat data permintaan dan respons menggunakan UI dan API Apigee.

Gunakan Debug Offline untuk melihat dan menganalisis sesi debug yang sebelumnya didownload.

Membuat sesi debug

Alat Debug mudah digunakan. Anda memulai sesi debug, lalu melakukan panggilan API ke Apigee, lalu melihat data permintaan dan respons di UI.

Buat sesi debug menggunakan UI atau API Apigee seperti yang dijelaskan di bagian berikut.

Untuk membuat sesi debug:

  1. Login ke konsol Google Cloud.
  2. Pilih Pengembangan proxy > Proxy API.
  3. Pilih proxy API yang ingin Anda debug. Tindakan ini akan menampilkan panel Ringkasan Editor Proxy.
  4. Klik tab Debug.
  5. Klik Mulai Sesi Debug. Tindakan ini akan menampilkan panel Start debug session.
  6. Di panel Start debug session:

    1. Pilih Lingkungan tempat Anda ingin menjalankan sesi debug.
    2. (Opsional) Dari menu drop-down Filter, pilih filter yang akan diterapkan ke semua transaksi dalam sesi debug yang Anda buat. Setelan defaultnya adalah None (All transactions), yang mencakup semua transaksi dalam data debug.

      Untuk informasi tentang cara menggunakan filter, lihat Menggunakan filter dalam sesi debug. Untuk informasi tentang filter bawaan, lihat Menggunakan filter standar.

    3. Klik Mulai.

UI Apigee kini menampilkan panel Debug session in progress.

Klik untuk melihat gambar yang lebih besar sesi debug baru

Sesi debug merekam permintaan selama 10 menit atau hingga 15 permintaan telah diambil. Anda dapat menyesuaikan batas 10 menit jika membuat sesi debug menggunakan API. Kolom Berakhir dalam menampilkan jumlah waktu yang tersisa dalam sesi.

Anda tidak akan melihat informasi apa pun yang ditampilkan di panel Debug hingga Anda mengirim permintaan ke proxy yang Anda debug di lingkungan yang dipilih untuk sesi debug.

Setelah Anda mengirim permintaan, permintaan tersebut akan ditampilkan di panel daftar Transaksi. Daftar Transaksi diperbarui setiap lima detik.

Klik untuk melihat gambar yang lebih besar permintaan dalam daftar transaksi

Untuk membuat sesi debug di Editor Proxy baru:

  1. Login ke konsol Google Cloud.
  2. Pilih Pengembangan proxy > Proxy API.

  3. Pilih proxy API yang ingin Anda debug. Tindakan ini akan menampilkan tampilan Proxy Editor Ringkasan.

  4. Klik tab Debug di kiri atas jendela.
  5. Klik Start Debug Session di kanan atas panel Debug. Tindakan ini akan menampilkan dialog Start debug session.

    Memulai dialog sesi debug.

    Dalam dialog:

    1. Pilih Lingkungan tempat Anda ingin menjalankan sesi debug.
    2. (Opsional) Dari menu drop-down Filter, pilih filter yang akan diterapkan ke semua transaksi dalam sesi debug yang Anda buat. Setelan defaultnya adalah None (All transactions), yang menyertakan semua transaksi dalam data debug.

      Untuk informasi tentang cara menggunakan filter, lihat Menggunakan filter dalam sesi debug. Untuk informasi tentang filter bawaan, lihat Menggunakan filter standar.

    3. Klik Mulai.

UI Apigee kini menampilkan tampilan Sesi debug sedang berlangsung.

Sesi debug sedang berlangsung

Sesi debug merekam permintaan selama 10 menit atau hingga 15 permintaan telah diambil. Anda dapat menyesuaikan batas 10 menit jika membuat sesi debug menggunakan API. Kolom Berakhir dalam menampilkan jumlah waktu yang tersisa dalam sesi.

Anda tidak akan melihat informasi apa pun yang ditampilkan di panel Debug hingga Anda mengirim permintaan ke proxy yang Anda debug di lingkungan yang dipilih. lingkungan untuk sesi debug.

Setelah Anda mengirimkan permintaan, permintaan tersebut akan ditampilkan di bagian bawah panel kiri.

Memulai dialog sesi debug.

Catatan: Selama sesi debug aktif, Anda dapat memulai sesi lain di UI Apigee. Untuk melakukannya, cukup klik Mulai Sesi Debug lagi.

Untuk membuat sesi debug di Editor Proxy klasik:

  1. Login ke UI Apigee.
  2. Pilih Proxy API dari tampilan utama.
  3. Pilih proxy API yang ingin Anda debug.

    Tab Ringkasan akan ditampilkan.

  4. Klik tab Debug di kanan atas halaman:

    Tab

    Tampilan Debug menampilkan:

    Tampilan debug dengan panel Mulai sesi debug, Sesi debug terbaru, dan Kirim permintaan

  5. Di panel Mulai sesi debug:
    1. Dari menu drop-down Env, pilih lingkungan + nomor revisi proxy API yang ingin Anda debug.
    2. Contoh berikut menunjukkan panel Mulai sesi debug:

      Memulai panel sesi debug

    3. (Opsional) Dari menu drop-down Filter, pilih filter yang akan diterapkan ke semua transaksi dalam sesi debug yang Anda buat. Setelan defaultnya adalah None, yang menyertakan semua transaksi dalam data debug.

      Untuk informasi tentang cara menggunakan filter, lihat Menggunakan filter dalam sesi debug. Untuk informasi tentang filter bawaan, lihat Menggunakan filter standar.

    4. Klik Mulai Sesi Debug.

      UI Apigee kini menampilkan detail tentang sesi debug saat ini, termasuk ID-nya, di panel Detail debug.

      Meskipun UI membuat sesi debug, Anda masih perlu mengirim permintaan sebelum ada data yang akan dikumpulkan.

      Dari panel Detail debug, Anda dapat melakukan hal berikut:

      Ikon Fungsi Deskripsi
      Ikon download Download Download data debug sesi aktif, yang kemudian dapat Anda lihat secara offline.
      Ikon kembali Kembali Kembali ke panel sebelumnya, tempat Anda dapat memulai sesi debug lain. Sesi debug saat ini akan berlanjut hingga mencapai waktu tunggu atau jumlah transaksi.
      Ikon hapus Hapus Menghapus data sesi debug yang saat ini dipilih. Tindakan ini akan menghapus data sesi, tetapi tidak menghentikan sesi.

      Ada batas waktu tunggu default 10 menit untuk sesi debug yang Anda mulai di UI (berbeda untuk sesi yang dimulai dengan API).

      Jam mulai berjalan segera setelah Anda mengklik Start Debug Session, sehingga Anda dapat memilih untuk menunggu hingga setelah langkah berikutnya sebelum mengklik Start Debug Session untuk memaksimalkan jumlah data yang Anda kumpulkan.

  6. Di panel Kirim Permintaan:
    1. Di kolom URL, masukkan endpoint yang ingin Anda kirimkan permintaan. Jika ingin, tambahkan parameter string kueri ke URL. Anda tidak dapat mengirimkan permintaan selain GET.
      1. Buka Admin > Lingkungan > Grup
      2. URL adalah Nama Host untuk lingkungan masing-masing tempat Anda ingin menjalankan sesi debug.
    2. Panel Kirim Permintaan hanya menampilkan data untuk permintaan berbasis UI. Namun, perlu diperhatikan bahwa debug juga mencatat data untuk permintaan yang tidak dimulai oleh UI.

    3. Klik Kirim.

      Apigee mengirimkan permintaan ke URL yang ditentukan. Setiap kali Anda mengklik Kirim, UI Apigee akan mencatat permintaan dalam panel Detail debug.

      Contoh berikut menunjukkan beberapa permintaan yang berhasil (menghasilkan kode status HTTP 200):

      Menangkap permintaan debug

      Klik Salin untuk menyalin ID debug sebagai referensi atau kueri di masa mendatang.

      Selain itu, UI menampilkan data debug di bagian Peta Transaksi dan Detail Fase pada panel Kirim Permintaan, dan mengisi bagian Endpoint Proxy, Header Permintaan, Konten Permintaan, dan Properti, seperti yang ditunjukkan pada contoh berikut:

      Menangkap permintaan debug

      Untuk mengetahui informasi selengkapnya tentang fase, peta transaksi, dan bagian lain dari tampilan Send Requests, lihat Cara membaca debug.

    Sesi debug kini aktif dan mencatat data tentang semua permintaan (kecuali jika difilter). Sesi akan tetap aktif hingga waktu tunggu tercapai atau jumlah permintaan yang dicatat dalam sesi terlampaui.

  7. Anda dapat membuat sesi debug dalam jumlah berapa pun di UI. Untuk mengetahui informasi selengkapnya, lihat Memulai sesi debug lain.

Untuk membuat sesi debug menggunakan API, buat permintaan POST ke resource berikut:

https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions

Secara opsional, Anda dapat:

  • Tetapkan durasi sesi debug (dalam detik) dengan meneruskan properti timeout sebagai parameter kueri atau dalam isi permintaan. Jika keduanya ditentukan, nilai timeout yang ditentukan dalam isi permintaan akan diprioritaskan.
  • Filter data dalam sesi debug dengan meneruskan properti filter dalam isi permintaan.

Contoh berikut menunjukkan cara membuat sesi debug menggunakan API.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \
      -X POST \
      -H "Authorization: Bearer $TOKEN"
    

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Berikut adalah contoh responsnya:

{
      "name":"56382416-c4ed-4242-6381-591bbf2788cf",
      "validity":300,
      "count":10,
      "tracesize":5120,
      "timeout":"600"
    }

Permintaan berikutnya ke proxy API Anda (hingga durasi sesi atau jumlah maksimum permintaan tercapai) akan dievaluasi dan berpotensi disimpan dalam data sesi debug.

Untuk informasi selengkapnya, lihat Membuat API sesi debug.

Menetapkan durasi sesi debug menggunakan API

Untuk menetapkan durasi sesi debug menggunakan API, sertakan hal berikut sebagai payload dalam permintaan pembuatan sesi debug Anda:

{
      "timeout":"debug_session_length_in_seconds"
    }

Contoh berikut membuat sesi debug yang berdurasi hanya 42 detik:

curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions"
      -X "POST" \
      -H "Authorization: Bearer $TOKEN" \
      -d ' {
        "timeout":"42"
      } '

Anda dapat menetapkan timeout sesi hanya dalam permintaan pembuatan sesi debug; Anda tidak dapat mengubah durasi sesi setelah membuat sesi.

Nilai default timeout adalah 300 (5 menit). Nilai maksimumnya adalah 600 detik (10 menit).

Menyalin URL proxy

URL proxy digunakan untuk mengirim permintaan ke proxy API Anda.

Untuk menemukan dan menyalin URL proxy:

  1. Di panel Sesi debug, kolom URL, klik Salin.
  2. Jika Sesi debug tidak terbuka:
    1. Di konsol Google Cloud, buka Management > Environments > Environment Groups.
    2. URL adalah Nama Host untuk lingkungan masing-masing tempat Anda ingin menjalankan sesi debug. Pilih, lalu salin.

Untuk memilih URL proxy yang berbeda:

  1. Di panel Debug session, kolom URL, klik Edit.
  2. Lakukan perubahan yang diinginkan, lalu klik Perbarui.
  3. Jika Sesi debug tidak terbuka:
    1. Temukan URL proxy.
    2. Klik Lainnya, lalu klik Edit.
    3. Lakukan perubahan yang diinginkan, lalu klik Perbarui.

Untuk menemukan dan menyalin URL proxy:

  1. Di konsol Google Cloud, buka Management > Environments > Environment Groups
  2. URL adalah Nama Host untuk lingkungan masing-masing tempat Anda ingin menjalankan sesi debug. Pilih, lalu salin.

Untuk mengedit URL proxy:

  1. Temukan URL proxy.
  2. Klik Lainnya, lalu klik Edit.
  3. Lakukan perubahan yang diinginkan, lalu klik Perbarui.

Untuk menemukan dan menyalin URL endpoint:

  1. Di UI Apigee, buka Admin > Environments > Groups. Anda akan dialihkan ke konsol Google Cloud, halaman Management > Environments > Environment Groups.
  2. URL adalah Nama Host untuk lingkungan masing-masing yang ingin Anda gunakan untuk menjalankan sesi debug. Pilih, lalu salin.

Untuk mengedit URL target:

  1. Temukan URL endpoint.
  2. Klik Lainnya, lalu klik Edit.
  3. Lakukan perubahan yang diinginkan, lalu klik Perbarui.

Memulai sesi debug lain di UI

Anda dapat membuat sesi debug dalam jumlah berapa pun di UI.

Selama sesi debug aktif, Anda dapat memulai sesi lain di UI Apigee. Untuk melakukannya, klik Tutup di panel Sesi debug:

Klik untuk melihat gambar yang lebih besar Tutup dan kembali ke panel Mulai sesi debug

UI akan kembali ke panel Mulai sesi debug, tempat Anda dapat memulai sesi debug baru.

Selama sesi debug aktif, Anda dapat memulai sesi lain di UI Apigee. Untuk melakukannya, klik ikon panah kembali () di panel Detail debug:

Panah kembali yang mengembalikan Anda ke panel Mulai sesi debug

UI akan kembali ke panel Mulai sesi debug, tempat Anda dapat memulai sesi debug baru.

Kapan sesi debug berakhir?

Anda tidak dapat menghentikan sesi proses debug yang aktif. Namun, Anda dapat menghapus data sesi aktif, seperti yang dijelaskan dalam Menghapus data sesi debug.

Saat Anda membuat sesi debug, dua properti menentukan kapan sesi tersebut berakhir:

  • timeout: Durasi waktu Anda mengumpulkan data selama sesi. Durasi default bergantung pada cara Anda memulai sesi (melalui UI atau API). Nilai maksimumnya adalah 600 detik (atau 10 menit).
  • count: Jumlah maksimum permintaan yang dicatat dalam satu sesi per Message Processor. Karena jumlah Pemroses Pesan di sebagian besar cluster bersifat variabel, efek dari jumlah tersebut dapat tidak dapat diprediksi. Apigee tidak merekomendasikan penyesuaian setelan ini.

Saat waktu tunggu atau jumlah tercapai, sesi debug untuk Pemroses Pesan tersebut akan berakhir.

Istilah berikut digunakan untuk menjelaskan status sesi debug:

  • sesi aktif adalah sesi debug yang belum mencapai waktu tunggu atau melampaui jumlahnya. Sesi aktif masih merekam data permintaan untuk permintaan yang tidak difilter.
  • sesi yang selesai adalah sesi debug yang telah mencapai waktu tunggu atau melebihi jumlahnya; sesi yang selesai tidak lagi mencatat data tentang permintaan baru dan datanya dihapus dalam waktu 24 jam sejak sesi berakhir.

Cara membaca sesi debug

Bagian ini memberikan ringkasan tentang sesi debug.

Lihat juga:

Alat Debug memiliki dua bagian utama, panel transaksi dan detail fase:

  • Panel transaksi menggunakan ikon untuk menandai setiap langkah penting yang terjadi selama transaksi proxy API, termasuk eksekusi kebijakan, langkah bersyarat, dan transisi. Arahkan kursor ke ikon untuk melihat informasi ringkasan. Langkah alur permintaan muncul di sepanjang bagian atas peta transaksi dan langkah alur respons di sepanjang bagian bawah.
  • Panel detail fase mencantumkan informasi tentang pemrosesan internal proxy, termasuk variabel yang ditetapkan atau dibaca, header permintaan dan respons, dan banyak lagi. Klik ikon mana pun untuk melihat detail fase untuk langkah tersebut.

Versi alat debug ini menggunakan diagram Gantt untuk menampilkan langkah-langkah dalam permintaan dan respons.

Alat debug memiliki dua bagian utama, peta transaksi dan detail fase:

  • Peta transaksi menggunakan ikon untuk menandai setiap langkah penting yang terjadi selama transaksi proxy API, termasuk eksekusi kebijakan, langkah bersyarat, dan transisi. Arahkan kursor ke ikon untuk melihat informasi ringkasan. Langkah alur permintaan muncul di bagian atas peta transaksi dan langkah alur respons di bagian bawah.
  • Bagian detail fase pada alat ini mencantumkan informasi tentang pemrosesan internal proxy, termasuk variabel yang ditetapkan atau dibaca, header permintaan dan respons, dan banyak lagi. Klik ikon mana pun untuk melihat detail fase untuk langkah tersebut.

Panel transaksi

Panel transaksi menampilkan langkah-langkah dalam permintaan dan respons.

Berikut adalah contoh panel transaksi alat debug dengan segmen pemrosesan proxy utama yang diberi label:

Klik untuk melihat gambar yang lebih besar Diagram debug yang menunjukkan Mulai permintaan proxy untuk memulai permintaan target untuk memulai respons target
              untuk memulai respons proxy untuk memulai alur klien pasca-proxy

Untuk melihat detail transaksi (permintaan dan respons) di tampilan Debug, klik baris untuk transaksi guna menampilkan diagram Gantt di panel sebelah kanan yang menunjukkan langkah-langkah dalam permintaan dan respons.

Diagram Gantt langkah-langkah transaksi di panel kanan.

Sumbu horizontal diagram menunjukkan waktu terjadinya setiap langkah, yang diukur dalam milidetik. Setiap langkah diwakili oleh persegi panjang yang membentang dari waktu mulai hingga waktu berakhir langkah.

Anda dapat melangkahi sesi debug menggunakan tombol Back dan Next di kanan bawah panel debug. Klik:

  • Kembali untuk memindahkan baris yang dipilih ke langkah sebelumnya dalam diagram.
  • Berikutnya untuk memindahkan baris yang dipilih ke langkah berikutnya dalam diagram.

Dalam contoh yang ditampilkan di atas, diagram menampilkan dua kebijakan yang dijalankan dalam respons:

  • ResponsePayload
  • Menambahkan CORS

Anda dapat mengklik salah satu langkah ini untuk melihat detailnya. Misalnya, jika mengklik kebijakan Tambahkan CORS, Anda akan melihat detail seperti yang ditampilkan di bawah ini di samping diagram Gantt.

Tambahkan detail kebijakan CORS.

Jika kemudian Anda memutuskan untuk mengubah sesuatu dalam konfigurasi kebijakan, Anda dapat mengklik Develop untuk beralih ke tampilan Develop, tempat Anda akan melihat dua kebijakan yang sama di Response PostFlow.

Melihat tab Develop sehubungan dengan sesi debug.

Berikut adalah contoh peta alat debug dengan segmen pemrosesan proxy utama yang diberi label:

Peta transaksi alat debug

Diagram debug yang menunjukkan Mulai permintaan proxy untuk memulai permintaan target untuk memulai respons target
            untuk memulai respons proxy untuk memulai alur klien pasca-proxy

Legenda panel transaksi

Berikut ini penjelasan ikon di panel transaksi:

Bagian ini menjelaskan ikon di panel transaksi:

Ikon kebijakan

Setiap jenis kebijakan memiliki ikon unik. Ikon ini memungkinkan Anda melihat tempat kebijakan dijalankan dalam urutan yang benar dan apakah kebijakan tersebut berhasil atau tidak. Anda dapat mengklik ikon kebijakan untuk melihat hasil eksekusinya dan apakah hasil tersebut diharapkan atau tidak. Misalnya, Anda dapat melihat apakah pesan diubah dengan benar atau apakah pesan di-cache.

Kebijakan standar melengkapi API Anda untuk mengontrol traffic, meningkatkan performa, menerapkan keamanan, dan meningkatkan utilitas API, tanpa mengharuskan Anda menulis kode atau mengubah layanan backend.

Kebijakan yang dapat diperluas memungkinkan Anda menambahkan logika kustom ke proxy API. Anda dapat menggunakan kebijakan ini untuk menambahkan fungsi yang tidak disediakan oleh kebijakan standar.

Lihat Ringkasan referensi kebijakan untuk informasi selengkapnya tentang kebijakan dan kategori.

Untuk memfilter tabel:

  • Pilih satu jenis kebijakan dan/atau satu kategori kebijakan.
  • Klik header kolom Name untuk mengurutkan tabel berdasarkan nama kebijakan.
  • Ketik kata kunci untuk menelusuri nama kebijakan.

Jenis kebijakan

Kategori kebijakan

Ikon Nama Jenis Kategori
kunci Kebijakan AccessControl Standar Keamanan
cloud_done Kebijakan AccessEntity Dapat Diperluas Mediasi
account_tree Kebijakan AsserCondition Standar Mediasi
edit_square Kebijakan AssignMessage Dapat Diperluas Mediasi
keamanan Kebijakan BasicAuthentication Dapat Diperluas Keamanan
connect_without_contact Kebijakan CORS Standar Keamanan
stacked_line_chart Kebijakan DataCapture Dapat Diperluas Ekstensi
kunci Kebijakan DecodeJWS Dapat Diperluas Keamanan
kunci Kebijakan DecodeJWT Standar Keamanan
kunci sandi Kebijakan DeleteOAuthV2Info Dapat Diperluas Keamanan
display_external_input Kebijakan ExternalCallout Standar Ekstensi
login Kebijakan ExtractVariables Dapat Diperluas Mediasi
flowsheet Kebijakan FlowCallout Dapat Diperluas Ekstensi
kunci Kebijakan GenerateJWS Dapat Diperluas Keamanan
kunci Kebijakan GenerateJWT Dapat Diperluas Keamanan
kunci Kebijakan GenerateSamlAssertion Dapat Diperluas Keamanan
kunci sandi Kebijakan GetOAuthV2Info Dapat Diperluas Keamanan
Ikon kebijakan GraphQL Kebijakan GraphQL Standar Mediasi
kunci Kebijakan HMAC Standar Keamanan
sync_alt Kebijakan HTTPModifier Standar Mediasi
automation Kebijakan IntegrationCallout Dapat Diperluas Ekstensi
di-cache Kebijakan InvalidateCache Dapat Diperluas Pengelolaan traffic
Ikon kebijakan JavaCallout Kebijakan JavaCallout Dapat Diperluas Ekstensi
Ikon kebijakan JavaScript Kebijakan JavaScript Dapat Diperluas Ekstensi
keamanan Kebijakan JSONThreatProtection Dapat Diperluas Keamanan
sync_alt Kebijakan JSONtoXML Standar Mediasi
account_tree Kebijakan KeyValueMapOperations Dapat Diperluas Mediasi
bar_chart_4_bars Kebijakan kuota Dapat Diperluas Pengelolaan traffic
di-cache Kebijakan LookupCache Dapat Diperluas Pengelolaan traffic
add_notes Kebijakan MessageLogging Dapat Diperluas Ekstensi
sync_alt Kebijakan MonetizationLimitsCheck Dapat Diperluas Mediasi
cloud_done Kebijakan OASValidation Standar Mediasi
kunci sandi Kebijakan OAuthV2 Dapat Diperluas Keamanan
manage_search Kebijakan ParseDialogflowRequest Dapat Diperluas Alur dialog
di-cache Kebijakan PopulateCache Dapat Diperluas Pengelolaan traffic
chat_paste_go Kebijakan PublishMessage Standar Ekstensi
Ikon kebijakan PythonScript Kebijakan PythonScript Dapat Diperluas Ekstensi
laporan Kebijakan RaiseFault Standar Mediasi
sync_alt Kebijakan ReadPropertySet Standar Mediasi
keamanan Kebijakan RegularExpressionProtection Dapat Diperluas Keamanan
mempartisi ulang Kebijakan ResetQuota Dapat Diperluas Pengelolaan traffic
di-cache Kebijakan ResponseCache Dapat Diperluas Pengelolaan traffic
kunci sandi Kebijakan RevokeOAuthV2 Dapat Diperluas Keamanan
integration_instructions Kebijakan ServiceCallout Dapat Diperluas Ekstensi
chat_add_on Kebijakan SetDialogflowResponse Dapat Diperluas Alur dialog
automation Kebijakan SetIntegrationRequest Dapat Diperluas Ekstensi
kunci sandi Kebijakan SetOAuthV2Info Dapat Diperluas Keamanan
cloud_done Kebijakan SOAPMessageValidation Standar Mediasi
emergency_home Kebijakan SpikeArrest Standar Pengelolaan traffic
waterfall_chart Kebijakan TraceCapture Dapat Diperluas Ekstensi
kunci Kebijakan ValidateSamlAssertion Dapat Diperluas Keamanan
key Kebijakan VerifyAPIKey Dapat Diperluas Keamanan
kunci sandi Kebijakan VerifyIAM Dapat Diperluas Keamanan
kunci Kebijakan VerifyJWS Dapat Diperluas Keamanan
kunci Kebijakan VerifyJWT Standar Keamanan
keamanan Kebijakan XMLThreatProtection Dapat Diperluas Keamanan
sync_alt Kebijakan XMLtoJSON Standar Mediasi
cloud_done Kebijakan XSLTransform Dapat Diperluas Mediasi

Ikon lainnya

Tabel berikut menjelaskan intent ikon lain yang akan Anda lihat di panel transaksi. Ikon ini menandai setiap langkah pemrosesan penting di seluruh alur proxy.

Untuk memfilter tabel:

  • Pilih satu jenis ikon.
  • Klik header kolom Nama untuk mengurutkan tabel berdasarkan nama ikon.
  • Ketik kata kunci untuk menelusuri nama ikon.

Jenis ikon

Ikon Nama Jenis Deskripsi
ikon kondisi benar Alur kondisional benar Transaksi standar

Alur kondisional yang bernilai benar (seperti pernyataan if yang bernilai true). Untuk pengantar alur kondisional, lihat Alur kondisional.

Perhatikan bahwa beberapa kondisi dibuat oleh Apigee. Misalnya, berikut adalah ekspresi yang digunakan Apigee untuk memeriksa apakah error terjadi di ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

ikon kondisi salah Alur kondisional salah Transaksi standar

Alur kondisional yang bernilai salah (false). Untuk pengantar tentang alur bersyarat, lihat Alur bersyarat.

Perhatikan bahwa beberapa kondisi dibuat oleh Apigee. Misalnya, berikut adalah ekspresi yang digunakan Apigee untuk memeriksa apakah error terjadi di TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

monitor Aplikasi klien Transaksi standar Aplikasi klien yang mengirimkan permintaan ke ProxyEndpoint proxy API.
bar_chart Data yang diambil analisis Apigee Transaksi standar Menunjukkan bahwa tindakan Analytics telah terjadi di latar belakang.
ikon dilewati Dilewati Status langkah Muncul di ikon kebijakan saat kebijakan tidak dieksekusi karena kondisi langkah dievaluasi menjadi salah (false). Lihat Kondisi dengan variabel alur) untuk mengetahui informasi selengkapnya.
done_all Eksekusi alur Transaksi standar Menandai awal atau akhir eksekusi alur, yang menunjukkan jangka waktu segmen alur yang berbeda, untuk menandai batas alur secara visual dan menunjukkan urutan eksekusi alur.
circle Endpoint transisi Transaksi standar Lingkaran menandai endpoint transisi dalam alur proxy. Fungsi ini ada saat permintaan masuk dari klien, saat permintaan dikirim ke target, saat respons kembali dari target, dan saat respons kembali ke klien.
ikon error Error Status langkah Muncul di ikon kebijakan saat kondisi langkah kebijakan bernilai salah (lihat Kondisi dengan variabel alur), atau di ikon kebijakan RaiseFault setiap kali kebijakan RaiseFault dieksekusi.
ikon info alur Info alur Transaksi standar Merepresentasikan informasi kontekstual tentang eksekusi proxy API, yang bervariasi bergantung pada titik dalam alur. Hal ini mencakup detail tentang konfigurasi proxy, status eksekusi saat ini (misalnya, PreFlow, PostFlow, hook alur), detail eksekusi kebijakan, dan variabel yang diisi selama eksekusi kebijakan, untuk menunjukkan status proxy tertentu pada saat itu.
location_on Layanan backend Transaksi standar Layanan backend yang menerima permintaan. Target backend yang dipanggil oleh proxy API.
ikon nonaktif Nonaktif Status langkah Muncul di ikon kebijakan saat kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API.
commit Pemrosesan alur Transaksi standar Menunjukkan pemrosesan aktif dalam alur, yang mewakili periode saat kebijakan dan logika alur dieksekusi.
stat_0 Segmen alur Transaksi standar

Berlian menunjukkan awal segmen alur dalam alur proxy API. Segmen alur adalah: permintaan ProxyEndpoint, permintaan TargetEndpoint, respons TargetEndpoint, dan respons ProxyEndpoint. Segmen mencakup PreFlow, Alur Kondisional, dan PostFlow.

Lihat Aliran bersyarat untuk mengetahui informasi selengkapnya.

Versi ini menggunakan diagram Gantt untuk menampilkan langkah-langkah dalam permintaan dan respons; tidak ada legenda yang diberikan.

Tabel berikut menjelaskan intent ikon yang akan Anda lihat di peta transaksi. Ikon ini menandai setiap langkah pemrosesan yang penting di seluruh alur proxy.

Ikon peta transaksi

ikon aplikasi klien Aplikasi klien yang mengirimkan permintaan ke ProxyEndpoint proxy API.
ikon endpoint transisi Lingkaran menandai endpoint transisi dalam alur proxy. Fungsi ini ada saat permintaan masuk dari klien, saat permintaan dikirim ke target, saat respons kembali dari target, dan saat respons kembali ke klien.
ikon segmen alur

Batang tinggi menunjukkan awal segmen alur dalam alur proxy API. Segmen alur adalah: permintaan ProxyEndpoint, permintaan TargetEndpoint, respons TargetEndpoint, dan respons ProxyEndpoint. Segmen mencakup PreFlow, Alur Kondisional, dan PostFlow.

Lihat Mengonfigurasi alur untuk mengetahui informasi selengkapnya.

ikon analisis

Menunjukkan bahwa tindakan Analytics telah terjadi di latar belakang.

ikon kondisi benar

Alur kondisional yang bernilai benar. Untuk pengantar alur kondisional, lihat Mengonfigurasi alur.

Perhatikan bahwa beberapa kondisi dibuat oleh Apigee. Misalnya, berikut adalah ekspresi yang digunakan Apigee untuk memeriksa apakah error terjadi di ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))
ikon kondisi salah

Alur kondisional yang bernilai salah (false). Untuk pengantar alur kondisional, lihat Mengonfigurasi alur.

Perhatikan bahwa beberapa kondisi dibuat oleh Apigee. Misalnya, berikut adalah ekspresi yang digunakan Apigee untuk memeriksa apakah error terjadi di TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

ikon xml to json

ikon kuota

Kebijakan. Setiap jenis kebijakan memiliki ikon unik. Ini adalah kebijakan AssignMessage. Ikon ini memungkinkan Anda melihat tempat kebijakan dijalankan dalam urutan yang benar dan apakah kebijakan tersebut berhasil atau tidak. Anda dapat mengklik ikon kebijakan untuk melihat hasil eksekusinya dan apakah hasil tersebut diharapkan atau tidak. Misalnya, Anda dapat melihat apakah pesan telah diubah dengan benar atau apakah pesan sedang di-cache.

Kebijakan yang dieksekusi dengan benar ditunjukkan dengan jelas oleh tanda centang. Jika terjadi error, tanda seru merah akan ditampilkan pada ikon.

ikon server Target backend yang dipanggil oleh proxy API.
ikon milidetik Linimasa menunjukkan berapa lama (dalam milidetik) waktu pemrosesan yang diperlukan untuk menyelesaikan. Membandingkan segmen waktu yang berlalu akan membantu Anda mengisolasi kebijakan yang memerlukan waktu terlama untuk dieksekusi dan memperlambat panggilan API Anda.
ikon epsilon Epsilon menunjukkan rentang waktu yang lebih kecil dari milidetik.
ikon nonaktif

Dinonaktifkan. Muncul di ikon kebijakan saat kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API.

ikon error Error. Muncul di ikon kebijakan saat kondisi Langkah Kebijakan bernilai salah (lihat Variabel dan kondisi alur), atau di ikon kebijakan RaiseFault setiap kali kebijakan RaiseFault dieksekusi.
ikon dilewati Dilewati. Muncul di ikon kebijakan saat kebijakan tidak dieksekusi karena kondisi langkah dievaluasi menjadi salah (false). Lihat Variabel dan kondisi alur untuk mengetahui informasi selengkapnya.

Panel detail fase

Panel detail fase memberi tahu Anda tentang status proxy pada setiap langkah pemrosesan.

Panel detail fase memberi tahu Anda banyak hal tentang status proxy pada setiap langkah pemrosesan. Berikut beberapa detail yang diberikan. Klik ikon apa pun di alat debug untuk melihat detail langkah yang dipilih, atau gunakan tombol > Berikutnya atau < Kembali untuk berpindah dari satu langkah ke langkah lainnya.

Tabel berikut menjelaskan detail yang diberikan di panel detail fase.

Detail Fase Deskripsi
Variabel

Mencantumkan variabel alur yang dibaca dan ditetapkan nilainya oleh kebijakan. Lihat juga Menggunakan variabel alur.

Header Permintaan Mencantumkan header permintaan HTTP.
Meminta Konten Menampilkan isi permintaan HTTP.
Properti Properti mewakili status internal proxy API. Kolom ini tidak ditampilkan secara default.
Endpoint Target Menunjukkan TargetEndpoint mana yang dipilih untuk dieksekusi.
Header Respons Mencantumkan header respons HTTP.
Konten Tanggapan Menampilkan isi respons HTTP.

Klik langkah-langkah dalam diagram Gantt untuk melihat detail fase atau ikuti sesi debug menggunakan tombol > Berikutnya atau < Kembali.

Bagian Detail Fase dari alat ini memberi tahu Anda banyak hal tentang status proxy pada setiap langkah pemrosesan. Berikut adalah beberapa detail yang diberikan di Detail Fase. Klik ikon apa pun di alat debug untuk melihat detail langkah yang dipilih, atau gunakan tombol Berikutnya/Kembali untuk berpindah dari satu langkah ke langkah lainnya.

Detail Fase Deskripsi
Endpoint Proxy Menunjukkan alur ProxyEndpoint yang dipilih untuk dieksekusi. Proxy API dapat memiliki beberapa endpoint proxy bernama.
Variabel

Mencantumkan variabel alur yang dibaca dan diberi nilai oleh kebijakan. Lihat juga Menggunakan variabel alur.

Catatan:

  • Tanda sama dengan (=) menunjukkan nilai yang ditetapkan ke variabel.
  • Tanda sama dengan (≠) yang dicoret menunjukkan bahwa variabel tidak dapat diberi nilai karena bersifat hanya baca atau terjadi error dalam eksekusi kebijakan.
  • Kolom kosong menunjukkan bahwa nilai variabel telah dibaca.
Header Permintaan Mencantumkan header permintaan HTTP.
Meminta Konten Menampilkan isi permintaan HTTP.
Properti Properti mewakili status internal proxy API. Kolom ini tidak ditampilkan secara default.
Endpoint Target Menunjukkan TargetEndpoint mana yang dipilih untuk dieksekusi.
Header Respons Mencantumkan header respons HTTP.
Konten Tanggapan Menampilkan isi respons HTTP.
PostClientFlow Menampilkan informasi tentang PostClientFlow, yang dieksekusi setelah permintaan ditampilkan ke aplikasi klien yang meminta. Hanya kebijakan MessageLogging yang dapat dilampirkan ke PostClientFlow. PostClientFlow saat ini digunakan terutama untuk mengukur interval waktu antara stempel waktu awal dan akhir untuk pesan respons.

Linimasa

Linimasa menunjukkan waktu yang diperlukan (dalam milidetik) untuk menyelesaikan waktu pemrosesan. Membandingkan segmen waktu yang berlalu akan membantu Anda mengisolasi kebijakan yang memerlukan waktu terlama untuk dieksekusi dan memperlambat panggilan API Anda.

Epsilon menunjukkan rentang waktu yang lebih kecil dari milidetik.

Klik untuk melihat gambar yang lebih besar Linimasa di UI Debug v2
Klik untuk melihat gambar yang lebih besar Linimasa di UI Debug v1
Klik untuk melihat gambar yang lebih besar linimasa di UI Klasik

Memperluas dan menciutkan grup

Bagian ini menjelaskan cara meluaskan dan menciutkan grup di Panel transaksi.

Langkah-langkah transaksi, untuk permintaan dan respons, dikelompokkan berdasarkan cara dikonfigurasi sebelumnya di tab Develop; menurut alur bersama. Misalnya: pra-proxy, pasca-proxy, pra-target, dan pasca-target.

Setiap pengelompokan menampilkan kebijakan, kondisi, alur bersama, dan informasi alur yang relevan dengan jelas.

Aliran bersama dikelompokkan dan diciutkan secara default.

Tindakan berikut tersedia di panel Transaksi:

Item Nama Deskripsi
meluaskan semua penggeser
<img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" />
Luaskan semua
Ciutkan semua
Luaskan atau ciutkan semua grup.
ikon luaskan grup
ikon grup ciutkan
Luaskan
Ciutkan
Luaskan atau ciutkan grup.

Lihat juga:

Memperluas dan menciutkan grup tidak tersedia di versi ini.

Memperluas dan menciutkan grup tidak tersedia di versi ini.

Penelusuran memungkinkan Anda menemukan kata atau frasa dalam permintaan atau respons.

Penelusuran memungkinkan Anda menemukan kata atau frasa dalam permintaan atau respons.

Perhatikan hal berikut:

  • Penelusuran tidak peka huruf besar/kecil
  • Penelusuran berlaku untuk satu transaksi; yaitu, penelusuran tidak dilakukan di semua transaksi dalam seluruh sesi debug.
  • Penelusuran memperluas bagian yang diciutkan, tetapi tidak menampilkan informasi pada node yang difilter oleh pilihan View Options.

Untuk menelusuri:

  1. Ketik teks di kotak penelusuran.
  2. Tekan Enter.

    Hasil penelusuran ditandai di panel Transaksi dan di panel Detail Fase.

  3. Klik keyboard_arrow_up Back atau keyboard_arrow_down Next untuk berpindah ke langkah berikutnya atau sebelumnya.
Klik untuk melihat gambar yang lebih besar Hasil penelusuran di UI Debug v2

Penelusuran tidak tersedia dalam versi ini.

Penelusuran tidak tersedia dalam versi ini.

Zoom

Zoom memungkinkan Anda mengontrol tampilan panel Transaksi.

Zoom mengontrol tampilan panel Transaksi sebagai berikut:

Klik untuk melihat gambar yang lebih besar Kontrol zoom Debug v2
Ikon Deskripsi
100% Tingkat zoom saat ini. Setelan defaultnya adalah 100%.
fit_screen Paskan dengan layar
zoom_in Perbesar
zoom_out Perkecil
youtube_searched_for Mereset zoom

Zoom tidak tersedia dalam versi ini.

Zoom tidak tersedia dalam versi ini.

Proses debug dengan alat debug

Debug memungkinkan Anda melihat banyak detail internal tentang proxy API. Contoh:

  • Anda dapat melihat sekilas kebijakan mana yang dieksekusi dengan benar atau gagal.
  • Misalnya, Anda melihat melalui salah satu dasbor Analytics bahwa salah satu API Anda mengalami penurunan performa yang tidak biasa. Sekarang, Anda dapat menggunakan Debug untuk membantu mengidentifikasi tempat terjadinya bottleneck. Debug memberikan waktu, dalam milidetik, yang diperlukan untuk menyelesaikan setiap langkah pemrosesan. Jika menemukan satu langkah yang memerlukan waktu terlalu lama, Anda dapat mengambil tindakan perbaikan.
  • Anda dapat memeriksa header yang dikirim ke backend, melihat variabel yang ditetapkan oleh kebijakan, dan sebagainya.
  • Dengan memverifikasi jalur dasar, Anda dapat memastikan bahwa kebijakan merutekan pesan ke server yang benar.

Memfilter data dalam sesi debug

Saat membuat sesi debug, Anda dapat menambahkan filter ke sesi tersebut sehingga Apigee hanya menampilkan data yang Anda inginkan. Filter adalah pernyataan kondisional yang dievaluasi Apigee terhadap pesan permintaan dan respons untuk menentukan apakah data debugnya harus disertakan dalam sesi debug. Misalnya, Anda dapat memfilter semua permintaan dengan kode respons HTTP yang kurang dari 599 atau membandingkan nilai dalam permintaan dengan variabel kustom.

Perhatikan hal berikut:

  • Permintaan yang tidak disertakan dalam sesi debug karena difilter tidak dihitung dalam jumlah maksimum transaksi dalam sesi debug.
  • Apigee tidak mendukung penambahan filter dalam string kueri.
  • Anda tidak dapat menambahkan filter ke sesi debug setelah sesi dimulai. Untuk menambahkan filter, Anda harus membuat sesi debug.

Menggunakan filter

Gunakan filter saat membuat sesi debug menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.

Saat membuat sesi debug di UI, di menu drop-down Filters, Anda dapat memilih filter standar untuk diterapkan di panel Start a debug session atau memilih Custom Filter dan membuat filter Anda sendiri dengan sintaksis filter.

Saat membuat sesi debug di UI, di menu drop-down Filters, Anda dapat memilih filter standar untuk diterapkan di panel Start a debug session atau memilih Custom Filter dan membuat filter Anda sendiri dengan sintaksis filter.

Untuk membuat sesi debug dengan filter menggunakan API, sertakan hal berikut sebagai payload dalam permintaan pembuatan sesi debug:

{
  "filter":"filter_body"
}

Untuk informasi tentang cara membuat filter, lihat Sintaksis filter.

Contoh berikut membuat sesi debug yang hanya menyertakan transaksi dengan header A sama dengan 42 dan header B sama dengan 43, atau kode errornya adalah ExpectedEOF:

curl -H "Authorization: Bearer $TOKEN" -X "POST"
  https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions
  -d ' {
    "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'"
  } '

Anda hanya dapat menentukan filter dalam permintaan pembuatan sesi debug; Anda tidak dapat menambahkan filter ke sesi debug yang ada, dan Anda tidak dapat menghapus filter dari sesi debug yang aktif.

Filter sintaksis

Filter mendukung sintaksis yang sama dengan yang digunakan oleh kondisi Apigee, seperti yang dijelaskan dalam Referensi kondisi. Hal ini mencakup:

Selain itu, filter dapat mengakses semua variabel alur yang dijelaskan dalam Referensi variabel alur serta variabel kustom. Contoh berikut hanya menunjukkan beberapa kemungkinan variabel flow yang dapat Anda gunakan dalam filter:

# Response codes:
  response.status.code <= 599
  response.status.code >=301 && response.status.code <=420

# Requests/responses:
  request.verb == "GET"
  request.header.A == 'B' || request.queryparam.X == 'Y'

# Query parameters:
  request.queryparam.myparam == 'fish'
  (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z'

# Faults:
  fault.code != 'messaging.runtime.RouteFailed'
  fault.name == 'IPDeniedAccess'

Untuk informasi tentang cara menggunakan variabel kustom, lihat Cara menggunakan atribut kustom di Apigee di Komunitas Apigee.

Filter UI standar

UI Apigee menyediakan serangkaian filter umum sehingga Anda tidak perlu menulis filter kustom Anda sendiri. Filter standar dirangkum dalam tabel berikut.

Nama Filter Deskripsi
Response Time Greater Than

Memeriksa masalah latensi jika:

  • target.duration adalah latensi target, atau jumlah waktu, dalam milidetik, yang diperlukan permintaan untuk dikirim ke dan diterima dari target (dihitung sebagai perbedaan antara target.received.end.timestamp dan target.sent.start.timestamp)
  • client.duration adalah latensi klien, atau jumlah waktu, dalam milidetik, yang diperlukan permintaan untuk dikirim ke dan diterima dari klien (dihitung sebagai perbedaan antara client.received.end.timestamp dan client.sent.start.timestamp)

Contoh:

target.duration > 420 && client.duration > 1000

Untuk informasi selengkapnya, lihat client dan target di Referensi variabel alur.

Response Code

Memeriksa apakah kode respons HTTP cocok dengan nilai yang ditentukan; misalnya:

response.status.code <= 599
Header

Memeriksa apakah header permintaan yang ditentukan sama dengan nilai yang ditentukan; misalnya:

request.header.cache-control.1 == "16544"
Path

Memeriksa apakah permintaan cocok dengan jalur yang ditentukan. Anda dapat menggunakan pencocokan karakter pengganti dalam nilai; misalnya:

request.path == /myproxy/customer/4*
Query Param

Memeriksa apakah parameter kueri permintaan yang ditentukan sama dengan nilai yang ditentukan; misalnya:

request.queryparam.lang == "language:en-us"
Custom

Memungkinkan Anda menyisipkan ekspresi Anda sendiri. Anda dapat menggunakan objek apa pun dalam Referensi variabel alur dan sintaksis dalam Referensi kondisi. Selain itu, Anda dapat menggunakan variabel kustom.

Untuk mengetahui informasi selengkapnya tentang cara membuat filter kustom, lihat Sintaksis filter.

 

Melihat sesi debug

Apigee menyimpan data sesi debug selama 24 jam. Anda tidak dapat mengonfigurasi nilai ini; setelah 24 jam, data tidak akan tersedia lagi. Sebelum waktu tersebut, Anda dapat melihat sesi debug.

Lihat sesi debug terbaru menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.

Untuk melihat sesi debug menggunakan konsol Google Cloud

  1. Login ke konsol Google Cloud.
  2. Klik Proxy development > API Proxies.

  3. Klik proxy yang ingin Anda debug.
  4. Klik tab Debug.
  5. Sesi debug terbaru menampilkan daftar sesi debug yang tersedia.
  6. Klik link untuk sesi yang ingin Anda lihat.

Untuk melihat sesi debug menggunakan Editor Proxy Baru:

  1. Login ke konsol Google Cloud.
  2. Pilih Pengembangan proxy > Proxy API.

  3. Pilih proxy yang ingin Anda debug.
  4. Klik tab Debug.
  5. Sesi debug terbaru menampilkan daftar sesi debug yang tersedia.
  6. Klik link untuk sesi yang ingin Anda lihat.

Untuk melihat sesi debug menggunakan Editor Proxy Klasik:

  1. Login ke UI Apigee.
  2. Pilih Proxy API dari tampilan utama.
  3. Pilih proxy yang ingin Anda debug.
  4. Klik tab Debug di kanan atas tampilan Deployments.
  5. Di panel Sesi debug terbaru:
    1. Dari menu drop-down Env, pilih lingkungan proxy API yang sesi debug-nya ingin Anda lihat.
    2. Dari menu drop-down Rev, pilih nomor revisi proxy API yang sesi debug-nya ingin Anda lihat.

    UI Apigee menampilkan daftar sesi debug yang tersedia.

  6. Klik link untuk sesi yang ingin Anda lihat.

    UI Apigee memuat sesi debug dan mengisi panel Kirim Permintaan dengan data debug.

Dengan menggunakan API, Anda dapat:

Melihat semua sesi debug menggunakan API

Untuk melihat semua sesi debug terbaru yang ditentukan untuk revisi proxy API di lingkungan, buat permintaan GET ke resource berikut:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions

Secara opsional, Anda dapat menentukan salah satu parameter kueri berikut untuk mengontrol jumlah data yang ditampilkan:

  • pageSize: Jumlah maksimum sesi debug yang akan dicantumkan. Ukuran halaman defaultnya adalah 25.
  • pageToken: Token halaman, yang ditampilkan dari panggilan sebelumnya, yang dapat Anda gunakan untuk mengambil halaman berikutnya.

Contoh berikut menunjukkan cara melihat sesi debug untuk revisi 1 proxy helloworld API di lingkungan test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Responsnya mencakup objek sessions yang berisi daftar sesi debug yang sedang aktif, seperti yang ditunjukkan dalam contoh berikut:

{
"sessions": [
{
"id": "a423ac73-0902-4cfa-4242-87a353a84d87",
"timestamp_ms": 1566330186000
},
{
"id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a",
"timestamp_ms": 1566330286000
}
]
}

Hanya sesi debug yang berisi setidaknya satu transaksi yang disertakan dalam respons; sesi debug yang tidak memiliki transaksi apa pun tidak disertakan dalam daftar ini.

Untuk informasi selengkapnya, lihat List Debug sessions API.

Melihat semua transaksi untuk sesi debug menggunakan API

Untuk melihat daftar transaksi untuk sesi debug, berikan permintaan GET ke resource berikut:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

Dengan debugsession adalah ID sesi debug yang ditampilkan saat Anda melihat sesi debug.

Contoh berikut menunjukkan cara melihat transaksi untuk sesi debug untuk revisi 1 helloworld API di lingkungan test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Responsnya mencakup array ID transaksi, seperti yang ditunjukkan dalam contoh berikut:

[
"myorg-test-ver-5qxdb-64",
"myorg-test-ver-5qxdb-65",
"myorg-test-ver-5qxdb-66",
"myorg-test-ver-5qxdb-67",
"myorg-test-ver-5qxdb-68",
"myorg-test-ver-5qxdb-69",
"myorg-test-ver-5qxdb-70",
"myorg-test-ver-5qxdb-71",
"myorg-test-ver-5qxdb-72"
]

Untuk mengetahui informasi selengkapnya, lihat API data sesi debug daftar.

Melihat data transaksi untuk sesi debug menggunakan API

Untuk melihat data transaksi untuk sesi debug, berikan permintaan GET ke resource berikut:

https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}

Dengan debugsession adalah ID sesi debug yang ditampilkan saat Anda melihat sesi debug dan transactionId adalah ID transaksi yang ditampilkan saat Anda Melihat daftar transaksi untuk sesi debug.

Data transaksi yang disimpan selama sesi debug diformat dalam JSON. Anda dapat memuat data ini di alat Debug Offline.

Contoh berikut menunjukkan cara mendownload data transaksi untuk sesi debug untuk revisi 1 helloworld API di lingkungan test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \
-X GET \
-H "Authorization: Bearer $TOKEN"

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Respons terdiri dari payload JSON yang berisi data untuk transaksi yang ditentukan, seperti yang dijelaskan dalam Mendownload struktur data.

Data debug berisi semua informasi tentang permintaan dan respons untuk setiap bagian alur dalam format JSON eksklusif. Anda dapat menyimpan data ini dan menggunakannya nanti di alat Debug Offline.

Jika tidak ada permintaan yang ditambahkan ke sesi sebelum berakhir, respons akan terlihat seperti berikut:

[]

Untuk informasi selengkapnya, lihat Mendapatkan API data sesi debug.

Memilih opsi tampilan di UI

Bagian ini menjelaskan cara memilih opsi tampilan untuk memfilter apa yang ditampilkan di UI.

Untuk memilih opsi tampilan sesi debug, pilih atau hapus opsi dari panel View options. Opsi tampilan ini dipertahankan di seluruh sesi debug untuk setiap pengguna.

Klik untuk melihat gambar yang lebih besar melihat daftar opsi
Opsi Deskripsi
Menampilkan kebijakan yang dinonaktifkan Menampilkan kebijakan yang dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API.
Menampilkan kebijakan yang dilewati Menampilkan kebijakan yang dilewati. Kebijakan yang dilewati terjadi saat kebijakan tidak dieksekusi karena kondisi langkah dievaluasi menjadi salah (false). Lihat Kondisi dengan variabel alur untuk mengetahui informasi selengkapnya.
Menampilkan semua FlowInfo Mewakili transisi dalam segmen alur.
Menampilkan semua kondisi alur Merepresentasikan kondisi yang dievaluasi untuk setiap alur.

Untuk memilih opsi tampilan sesi debug, pilih atau hapus opsi dari panel View options:

melihat daftar opsi

Opsi Deskripsi
Menampilkan Kebijakan yang Dinonaktifkan Menampilkan kebijakan yang dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API.
Menampilkan Fase yang Dilewati Menampilkan fase yang dilewati. Fase yang dilewati terjadi saat kebijakan tidak dieksekusi karena kondisi langkah dievaluasi menjadi salah. Lihat Kondisi dengan variabel alur untuk mengetahui informasi selengkapnya.
Menampilkan semua FlowInfo Mewakili transisi dalam segmen alur.
Membandingkan Fase yang Dipilih Secara Otomatis Membandingkan fase yang dipilih dengan fase sebelumnya. Nonaktifkan opsi ini untuk hanya melihat fase yang dipilih.
Menampilkan Variabel Menampilkan atau menyembunyikan variabel yang dibaca dan/atau diberi nilai.
Tampilkan Properti Properti mewakili status internal proxy API. (Disembunyikan secara default.)

Membagikan sesi debug

Anda dapat membagikan sesi debug kepada pengguna lain yang memiliki akses ke organisasi Anda dan izin yang diperlukan. Untuk melakukannya, cukup kirimkan URL yang ditampilkan di browser saat Anda melihat sesi debug. Link hanya valid selama 24 jam setelah sesi debug dibuat.

Mendownload data sesi debug

Anda dapat mendownload file hasil debug mentah untuk ditonton secara offline. File yang didownload menampilkan detail lengkap sesi debug termasuk konten semua header, variabel, dan kebijakan.

Data sesi debug tersedia untuk didownload atau dilihat di UI hanya selama 24 jam. Setelah titik tersebut, Apigee akan menghapus data sesi.

Untuk melihat data sesi debug yang didownload, gunakan Alat Debug Offline.

Untuk mendownload sesi debug saat ini di konsol Google Cloud, klik Download di tampilan Debug.

Klik untuk melihat gambar yang lebih besar Mendownload sesi debug

Untuk mendownload sesi debug saat ini di Editor Proxy baru, klik Download Session di panel sebelah kiri tampilan Debug.

Download sesi debug.

Perhatikan bahwa sesi debug akan dihapus dalam waktu 24 jam setelah selesai, jadi jika Anda ingin melihat sesi debug setelah waktu tersebut, Anda harus mendownloadnya sebelum waktu tersebut.

Untuk mendownload data sesi debug saat ini menggunakan Editor Proxy klasik:

  • Sesi aktif: Klik ikon Download ( Ikon download ) di panel Debug details.
  • Sesi sebelumnya: Klik nama sesi di panel Sesi debug terbaru, seperti yang dijelaskan di Melihat sesi debug. Kemudian, klik Ikon download di panel Debug details.

Untuk melihat ID semua transaksi untuk sesi debug saat ini menggunakan Apigee API, masukkan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data

dengan SESSION_ID adalah ID untuk sesi debug yang ingin Anda download.

Lihat Mencantumkan ID transaksi dari sesi debug.

Untuk mendapatkan data debug untuk transaksi menggunakan Apigee API, masukkan perintah berikut:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID

Mendownload struktur data

Struktur download data sesi debug berbeda untuk UI Apigee dan Apigee API.

Saat Anda mendownload data menggunakan UI Apigee, struktur data:

  • Mencakup semua transaksi di seluruh sesi
  • Menyimpan transaksi dalam array Messages
  • Menyertakan metadata tentang sesi (sebagai objek DebugSession)

Saat Anda mendownload data menggunakan UI Apigee, struktur data:

  • Mencakup semua transaksi di seluruh sesi
  • Menyimpan transaksi dalam array Messages
  • Menyertakan metadata tentang sesi (sebagai objek DebugSession)

Anda tidak dapat menggunakan Apigee API untuk melihat seluruh data sesi sekaligus; Anda hanya dapat menggunakan API untuk melihat data transaksi individual, seperti yang dijelaskan dalam Melihat sesi debug.

Contoh:

{
"completed": true,
"point": [
  ...
...
}

Mendownload contoh data

Contoh berikut menyoroti objek metadata DebugSession dalam data yang didownload. Objek ini diikuti oleh array Messages yang berisi transaksi dalam sesi.

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "Paused"
        },
        {
          "id": "Resumed"
        },
        {
          "id": "StateChange",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "To",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "From",
                    "value": "REQ_START"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            },
            {
              "ActionResult": "RequestMessage",
              "headers": [
                {
                  "name": "accept",
                  "value": "*/*"
                },
                {
                  "name": "accept-encoding",
                  "value": "gzip,gzip,deflate,br"
                },
                {
                  "name": "content-length",
                  "value": "0"
                },
                {
                  "name": "host",
                  "value": "myorg.example.domain.net"
                },
                {
                  "name": "user-agent",
                  "value": "Google-Apigee"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "d4ee579206759662"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "adc1e171777c237dd4ee579206759662"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "66.102.8.98"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "54e05cba-4242-4490-4242-60c45c156f90"
                }
              ],
              "uRI": "/myproxy",
              "verb": "GET"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "environment.name",
                    "value": "prod"
                  },
                  {
                    "name": "environment.qualifiedname",
                    "value": "myorg__prod"
                  },
                  {
                    "name": "environment.orgname",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "organization.name",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "apiproxy.qualifiedname",
                    "value": "myproxy__1"
                  },
                  {
                    "name": "apiproxy.basepath",
                    "value": "/"
                  },
                  {
                    "name": "apiproxy.revision",
                    "value": "1"
                  },
                  {
                    "name": "apiproxy.name",
                    "value": "myproxy"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        ...
      ...
    }
  ]
}

Jika sesi debug tidak menyertakan permintaan apa pun, array Message akan kosong, seperti yang ditunjukkan pada contoh berikut:

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
"Messages": []
}

Menghapus data untuk sesi debug

Hapus data untuk sesi debug menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.

Untuk menghapus sesi debug di konsol Google Cloud:

  1. Di tab Debug, klik baris untuk sesi yang ingin Anda hapus.
  2. Di panel Debug session, klik Delete.
Klik untuk melihat gambar yang lebih besar Menghapus sesi debug

Untuk menghapus sesi debug di Editor Proxy baru:

  1. Pilih baris untuk sesi yang ingin dihapus.
  2. Klik menu tiga titik di akhir baris, lalu pilih Hapus.

Klik Ikon hapus di panel Detail debug untuk sesi debug.

Untuk menghapus semua data sesi debug menggunakan API, buat permintaan DELETE ke resource berikut:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

Dengan debugsession adalah ID sesi debug yang ditampilkan saat Anda melihat sesi debug.

Contoh berikut menunjukkan cara menghapus data sesi debug untuk revisi 1 helloworld API di lingkungan test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

Dengan $TOKEN ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk informasi tentang opsi curl yang digunakan dalam contoh ini, lihat Menggunakan curl. Untuk deskripsi variabel lingkungan yang digunakan, lihat Menetapkan variabel lingkungan untuk permintaan Apigee API.

Jika berhasil, isi respons akan kosong.

Data sesi debug hanya dipertahankan selama 24 jam. Jika Anda tidak menghapusnya secara eksplisit sebelum waktu tersebut, Apigee akan menghapusnya untuk Anda.