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
Saat membuat sesi debug, Anda dapat melihat data permintaan dan respons di UI untuk permintaan yang dibuat di API atau sumber eksternal lainnya.
Buat sesi debug menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.
Editor Proxy Baru
Untuk membuat sesi debug di Editor Proxy baru:
Jika Anda menggunakan UI Apigee di konsol Cloud: Pilih Proxy development > API Proxies.
Jika Anda menggunakan UI Apigee klasik: Pilih Develop > API Proxies dan di panel Proxies, pilih lingkungan untuk proxy yang ingin Anda debug.
Pilih proxy API yang ingin Anda debug. Tindakan ini akan menampilkan tampilan Proxy Editor Ringkasan.
- Klik tab Debug di kiri atas jendela.
- Klik Mulai Sesi Debug di kanan atas panel Debug. Tindakan ini
akan menampilkan dialog Start debug session.
Dalam dialog:
- Pilih Lingkungan tempat Anda ingin menjalankan sesi debug.
- (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.
- Klik Mulai.
UI Apigee kini menampilkan tampilan Sesi debug sedang berlangsung.
Sesi debug mencatat permintaan selama 10 menit setelah Anda membuat sesi. 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.
Catatan: Selama sesi debug aktif, Anda dapat memulai sesi lain di UI Apigee. Untuk melakukannya, cukup klik Mulai Sesi Debug lagi.
Melihat diagram Gantt untuk transaksi
Untuk melihat detail transaksi (permintaan dan respons) di tampilan Debug, klik baris untuk transaksi, seperti yang ditunjukkan pada gambar di atas.
Tindakan ini akan menampilkan diagram Gantt di panel sebelah kanan yang menunjukkan langkah-langkah dalam permintaan dan respons.
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.
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.
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 Anda saat Anda melihat sesi debug. Link hanya valid selama 24 jam setelah sesi debug dibuat.
Mendownload sesi debug
Setelah sesi debug selesai, Anda dapat mendownloadnya agar dapat menganalisisnya nanti di alat Debug Offline. Untuk melakukannya, klik Download Sesi di panel kiri.
Perhatikan bahwa sesi debug dihapus dalam waktu 24 jam setelah selesai, jadi jika Anda ingin melihat sesi debug setelah waktu tersebut, Anda harus mendownloadnya sebelum waktu tersebut.
Saat Anda mendownload sesi debug, nama file download memiliki bentuk 'debug-{session ID}.json', dengan {session id} adalah ID sesi debug. Namun, Anda dapat mengganti nama file jika mau.
Editor Proxy Klasik
Untuk membuat sesi debug di Editor Proxy klasik:
- Login ke UI Apigee.
- Pilih Proxy API dari tampilan utama.
Pilih proxy API yang ingin Anda debug.
Tab Ringkasan akan ditampilkan.
- Klik tab Debug di kanan atas halaman:
Tampilan Debug menampilkan:
- Di panel Mulai sesi debug:
- Dari menu drop-down Env, pilih lingkungan + nomor revisi proxy API yang ingin Anda debug.
- (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.
- 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 Download Download data debug sesi aktif, yang kemudian dapat Anda lihat secara offline. Kembali Kembali ke panel sebelumnya, tempat Anda dapat memulai sesi debug lain. Sesi debug saat ini akan berlanjut hingga mencapai waktu tunggu atau jumlah transaksinya. 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.
Contoh berikut menunjukkan panel Mulai sesi debug:
- Di panel Kirim Permintaan:
- 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
.Cara menemukan URL endpoint
- Buka Admin > Environments > Groups
- URL adalah Nama Host untuk lingkungan masing-masing tempat Anda ingin menjalankan sesi debug.
- 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
):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:
Untuk mengetahui informasi selengkapnya tentang fase, peta transaksi, dan bagian lain dari tampilan Send Requests, lihat Cara membaca debug.
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.
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.
- Di kolom URL, masukkan endpoint yang ingin Anda kirimkan permintaan. Jika ingin, tambahkan parameter string kueri ke URL. Anda tidak dapat mengirimkan permintaan
selain
- Anda dapat membuat sesi debug dalam jumlah berapa pun di UI. Untuk mengetahui informasi selengkapnya, lihat Memulai sesi debug lain.
Memulai sesi debug lain di UI
Selama sesi debug aktif, Anda dapat memulai sesi lain di UI Apigee. Untuk melakukannya, klik ikon panah kembali (
) di panel Debug details: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 debug
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-langkah kondisional, 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.
- 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.
Berikut adalah contoh peta alat debug dengan segmen pemrosesan proxy utama yang diberi label:
Peta transaksi alat debug
Legenda peta transaksi
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
Aplikasi klien yang mengirimkan permintaan ke ProxyEndpoint proxy API. | |
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. | |
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. |
|
Menunjukkan bahwa tindakan Analytics telah terjadi di latar belakang. |
|
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))
|
|
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)))
|
|
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. |
|
Target backend yang dipanggil oleh proxy API. | |
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. | |
Dinonaktifkan. Muncul di ikon kebijakan saat kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API. |
|
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. | |
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. |
Memahami detail fase
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:
|
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. |
Apigee API
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, nilaitimeout
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 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.
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).
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.
UI Apigee Klasik
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.
Apigee API
Untuk membuat sesi debug dengan filter menggunakan API, sertakan hal berikut sebagai payload dalam permintaan pembuatan sesi debug Anda:
{ "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:
- Pengelompokan
- Logika AND (
&&
) dan OR (|"
) - Ekspresi jalur
- Operator dan Operand
- Literal
(
null
,true
, danfalse
)
Selain itu, filter dapat mengakses semua variabel alur yang dijelaskan dalam Referensi variabel alur serta variabel kustom. Contoh berikut hanya menunjukkan beberapa kemungkinan variabel alur 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:
Contoh: target.duration > 420 && client.duration > 1000 Untuk informasi selengkapnya, lihat
|
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.
Editor Proxy Baru
Untuk melihat sesi debug menggunakan Editor Proxy Baru:
Jika Anda menggunakan UI Apigee di konsol Cloud: Pilih Proxy development > API Proxies.
Jika Anda menggunakan UI Apigee klasik: Pilih Develop > API Proxies dan di panel Proxies, pilih lingkungan untuk proxy yang ingin Anda debug.
- Pilih proxy yang ingin Anda debug.
- Klik tab Debug.
- Sesi debug terbaru menampilkan daftar sesi debug yang tersedia.
Klik link untuk sesi yang ingin Anda lihat.
Editor Proxy Klasik
Untuk melihat sesi debug menggunakan Editor Proxy Klasik:
- Login ke UI Apigee.
- Pilih Proxy API dari tampilan utama.
- Pilih proxy yang ingin Anda debug.
- Klik tab Debug di kanan atas tampilan Deployments.
- Di panel Sesi debug terbaru:
- Dari menu drop-down Env, pilih lingkungan proxy API yang sesi debug-nya ingin Anda lihat.
- 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.
Klik link untuk sesi yang ingin Anda lihat.
UI Apigee memuat sesi debug dan mengisi panel Kirim Permintaan dengan data debug.
Memilih opsi tampilan di UI
Di UI Apigee, Anda dapat memilih opsi tampilan untuk sesi debug.
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 | Tampilkan 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.) |
Apigee API
Dengan menggunakan API, Anda dapat:
- Melihat semua sesi debug
- Melihat semua transaksi untuk sesi debug
- Melihat data transaksi untuk sesi debug
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 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 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, responsnya akan terlihat seperti berikut:
[]
Untuk informasi selengkapnya, lihat Mendapatkan API data sesi debug.
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.
Editor Proxy Baru
Untuk mendownload sesi debug saat ini di Editor Proxy baru, klik Download Session di panel sebelah kiri tampilan 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.
Editor Proxy Klasik
Untuk mendownload data sesi debug saat ini menggunakan Editor Proxy klasik:
- Sesi aktif: Klik 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 di panel Debug details.
Apigee API
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.
UI Apigee Klasik
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
)
Apigee API
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 menandai 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.
Editor Proxy Baru
Untuk menghapus sesi debug di Editor Proxy baru:
- Pilih baris untuk sesi yang ingin dihapus.
- Klik menu tiga titik di akhir baris, lalu pilih Hapus.
Editor Proxy Klasik
Klik di panel Detail debug untuk sesi debug.
Apigee API
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 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.
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.