Mengaudit permintaan dan tanggapan Klien Jetty

Saya memiliki persyaratan untuk menghitung transaksi dermaga dan mengukur waktu yang diperlukan untuk memproses permintaan dan mendapatkan kembali respons menggunakan JMX untuk sistem pemantauan kami.

Saya menggunakan Jetty 8.1.7 dan sepertinya saya tidak dapat menemukan cara yang tepat untuk melakukan ini. Saya pada dasarnya perlu mengidentifikasi kapan permintaan dikirim (karena pendekatan Jetty Async ini dipicu dari thread A) dan kapan respons selesai (saat oncompleteResponse dilakukan di thread lain).

Saya biasanya menggunakan ThreadLocal untuk keadaan seperti itu di area lain. Saya memerlukan fungsi serupa, tetapi jelas ini tidak akan berfungsi di sini.

Ada ide bagaimana cara mengatasinya?


person YaOg    schedule 16.01.2013    source sumber


Jawaban (1)


Untuk menggunakan permintaan async jetty, pada dasarnya Anda harus membuat subkelas ContentExchange dan mengganti metodenya. Jadi, Anda dapat menambahkan kolom tambahan ke dalamnya yang berisi stempel waktu kapan permintaan dikirim, dan menggunakannya nanti dalam metode onResponseComplete() untuk mengukur waktu pemrosesan. Jika Anda perlu mengetahui waktu kapan permintaan Anda benar-benar dikirim ke server dan bukan kapan permintaan itu dibuat, Anda dapat mengganti metode onRequestCommit() dan onRequestComplete().

person Andrew Sokolov    schedule 22.02.2013