Menambahkan kode ke aplikasi Anda - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menambahkan kode ke aplikasi Anda

Untuk bekerja dengan CloudWatch Evidently, Anda menambahkan kode ke aplikasi Anda untuk menetapkan variasi ke setiap sesi pengguna, dan untuk mengirim metrik ke Evidently. Anda menggunakan EvaluateFeature operasi CloudWatch Evidently untuk menetapkan variasi ke sesi pengguna, dan Anda menggunakan PutProjectEvents operasi untuk mengirim peristiwa ke Evidently untuk digunakan untuk menghitung metrik untuk peluncuran atau eksperimen Anda.

Saat Anda membuat variasi atau metrik khusus, konsol CloudWatch Evidently menyediakan contoh kode yang perlu Anda tambahkan.

end-to-end Sebagai contoh, lihatTutorial: Pengujian A/B dengan aplikasi sampel Evidently.

Menggunakan EvaluateFeature

Ketika variasi fitur digunakan dalam peluncuran atau percobaan, aplikasi menggunakan EvaluateFeatureoperasi untuk menetapkan setiap sesi pengguna variasi. Penetapan sebuah variasi untuk pengguna adalah sebuah peristiwa evaluasi. Saat Anda memanggil operasi ini, Anda harus memasukkan hal berikut ini:

  • Nama fitur– Wajib. Evidently memproses evaluasi sesuai dengan aturan evaluasi fitur peluncuran atau percobaan, dan memilih sebuah variasi untuk entitas.

  • EntityID– Wajib. Mewakili pengguna yang unik.

  • evaluationContext– Opsional. Objek JSON yang mewakili informasi tambahan tentang seorang pengguna. Evidently akan menggunakan nilai ini untuk mencocokkan pengguna dengan sebuah segmen audiens Anda selama evaluasi-evaluasi fitur, jika Anda telah membuat segmen. Untuk informasi selengkapnya, lihat Gunakan segmen-segmen untuk memfokuskan pada audiens Anda.

    Berikut ini adalah contoh dari sebuah nilai evaluationContext yang dapat Anda kirim ke Evidently.

    { "Browser": "Chrome", "Location": { "Country": "United States", "Zipcode": 98007 } }

Evaluasi lengket

CloudWatch Terbukti menggunakan evaluasi “lengket”. Sebuah konfigurasi tunggal entityId, fitur, konfigurasi fitur, dan evaluationContext selalu menerima penetapan variasi yang sama. Satu-satunya waktu saat penetapan variasi ini berubah adalah ketika ada sebuah entitas yang ditambahkan ke penggantian atau ada lalu lintas percobaan yang dipanggil.

Sebuah konfigurasi fitur mencakup hal-hal berikut:

  • Variasi-variasi fitur

  • Konfigurasi variasi (persentase yang ditetapkan untuk masing-masing variasi) untuk sebuah percobaan yang sedang berjalan untuk fitur ini, jika ada.

  • Konfigurasi variasi untuk sebuah peluncuran yang sedang berjalan untuk fitur ini, jika ada. Konfigurasi variasi ini mencakup penggantian segmen yang sudah ditentukan, jika ada.

Jika alokasi lalu lintas untuk sebuah percobaan dinaikkan, setiap entityId yang sebelumnya ditetapkan ke sebuah kelompok perlakuan percobaan akan terus menerima perlakuan yang sama. Setiap entityId yang sebelumnya ditetapkan ke kelompok kontrol tersebut, dapat ditetapkan ke sebuah kelompok perlakuan percobaan, sesuai dengan konfigurasi variasi yang ditentukan untuk percobaan tersebut.

Jika alokasi lalu lintas dari sebuah percobaan diturunkan, sebuah entityId mungkin akan beralih dari sebuah kelompok perlakuan ke kelompok kontrol, tetapi tidak akan masuk ke sebuah kelompok perlakuan yang berbeda.

Menggunakan PutProjectEvents

Untuk mengkodekan metrik khusus untuk Evidently, Anda menggunakan PutProjectEventsoperasi. Berikut ini adalah sebuah contoh muatan sederhana.

{ "events": [ { "timestamp": {{$timestamp}}, "type": "aws.evidently.custom", "data": "{\"details\": {\"pageLoadTime\": 800.0}, \"userDetails\": {\"userId\": \"test-user\"}}" } ] }

entityIdKey bisa saja menjadi sebuah entityId atau Anda dapat mengganti namanya dengan nama lain, misalnya userId. Dalam peristiwa yang sebenarnya, entityId dapat berupa nama pengguna, ID sesi, dan sebagainya.

"metricDefinition":{ "name": "noFilter", "entityIdKey": "userDetails.userId", //should be consistent with jsonValue in events "data" fields "valueKey": "details.pageLoadTime" },

Untuk memastikan bahwa peristiwa terkait dengan peluncuran atau percobaan yang benar, Anda harus memasukkan entityId yang sama ketika Anda memanggil EvaluateFeature dan PutProjectEvents. Pastikan untuk menelepon PutProjectEvents setelah EvaluateFeature panggilan, jika tidak data dijatuhkan dan tidak akan digunakan oleh CloudWatch Evidently.

Operasi PutProjectEvents tidak memerlukan nama fitur sebagai sebuah parameter input. Dengan cara ini, Anda akan dapat menggunakan satu peristiwa dalam beberapa percobaan. Sebagai contoh, Anda memanggil EvaluateFeature dengan entityId yang diatur ke userDetails.userId. Jika Anda mengeksekusi dua percobaan atau lebih, maka Anda dapat memiliki satu peristiwa dari metrik pemancar sesi yang dimiliki pengguna tersebut untuk masing-masing percobaan itu. Untuk melakukan hal ini, Anda harus memanggil PutProjectEvents sekali untuk masing-masing percobaan, dengan menggunakan entityId yang sama.

Pengaturan waktu

Setelah aplikasi Anda memanggil EvaluateFeature, akan ada periode waktu satu jam di mana peristiwa metrik dari PutProjectEvents dikaitkan berdasarkan evaluasi tersebut. Jika ada lagi peristiwa yang terjadi setelah periode satu jam itu, maka peristiwa tersebut tidak akan dikaitkan.

Namun demikian, jika entityId yang sama digunakan untuk memanggil panggilan EvaluateFeature baru selama jendela waktu satu jam panggilan awal itu, maka hasil EvaluateFeature selanjutnya sekarang akan digunakan sebagai gantinya, dan pengatur waktu satu jam dimulai ulang. Hal ini hanya dapat terjadi dalam keadaan tertentu, seperti ketika lalu lintas percobaan diputar di antara dua tugas, sebagaimana yang dijelaskan dalam uraian yang ada di bagian Evaluasi lengket sebelumnya.

end-to-end Sebagai contoh, lihatTutorial: Pengujian A/B dengan aplikasi sampel Evidently.