Mengaitkan metrik dan trace menggunakan contoh

Dokumen ini menjelaskan contoh, yang merupakan contoh titik data yang dilampirkan ke titik data metrik. Salah satu penggunaan contoh adalah menyimpan link ke trace, yang memungkinkan Anda menghubungkan metrik dan data trace. Dokumen ini juga menjelaskan cara menggunakan OpenTelemetry untuk membuat contoh.

Tentang contoh

Contoh adalah cara untuk mengaitkan data arbitrer dengan data metrik. Anda dapat menggunakannya untuk melampirkan data non-metrik ke pengukuran. Salah satu penggunaan contoh adalah mengaitkan data {i>trace<i} dengan data metrik. Dalam Cloud Monitoring, contoh dapat disertakan ke data metrik yang memiliki jenis nilai Distribution. Metrik bernilai distribusi mengumpulkan banyak pengukuran dan mengelompokkannya ke dalam bucket. Setiap "titik" adalah histogram, yang merupakan array yang mencantumkan jumlah bucket. Pengukuran yang sebenarnya tidak dipertahankan, hanya bucket yang dihitung. Untuk informasi selengkapnya, lihat Tentang metrik bernilai distribusi.

Saat titik data metrik ditulis, array objek Exemplar dapat dilampirkan ke data tersebut. Contoh, jika digunakan, akan menyertakan informasi yang berguna ke data metrik. Misalnya, saat OpenTelemetry menulis contoh, contoh akan melampirkan link ke rentang rekaman aktivitas saat ini.

Data histogram biasanya ditampilkan menggunakan peta panas. Jika sebuah "titik" berisi contoh, Cloud Monitoring akan menganotasi peta panas dengan titik:

  • Untuk melihat informasi ringkasan tentang titik metrik, aktifkan tooltip untuk anotasi.
  • Untuk mengakses rekaman aktivitas, pilih anotasi.

Misalnya, aplikasi contoh yang dijelaskan dalam Membuat trace dan metrik dengan Go menggunakan OpenTelemetry untuk menulis data metrik, data trace, dan contoh. Screenshot berikut menampilkan nilai metrik prometheus/http_server_duration_milliseconds/histogram setelah beberapa eksekusi aplikasi:

Contoh peta panas yang menampilkan beberapa contoh.

Screenshot sebelumnya menampilkan beberapa contoh. Tooltip untuk satu contoh diperluas, dan menampilkan tanggal, nama trace, persentil, dan nilai latensi.

Saat anotasi dipilih, trace yang ditautkan dalam contoh akan ditampilkan:

Contoh detail rekaman aktivitas untuk sebuah contoh.

Jika informasi yang ditampilkan tidak cukup mendetail, Anda dapat memilih View in Trace, yang akan membuka halaman Trace Explorer. Di halaman tersebut, Anda dapat melihat atribut trace dan mengakses link ke entri log.

Cara mengaktifkan contoh OpenTelemetry

Seperti yang diilustrasikan dalam contoh sebelumnya, Anda dapat mengonfigurasi OpenTelemetry untuk menulis contoh yang menghubungkan span trace saat ini ke pengukuran metrik. Namun, agar contoh ditulis, Anda harus melakukan hal berikut:

  1. Konfigurasi metrik OpenTelemetry dan SDK trace.
  2. Untuk menyertakan contoh pada instrumentasi kustom, pastikan metrik dicatat dalam span, dan Anda meneruskan konteks dari span dengan pengukuran metrik.

    Misalnya, fungsi computeSubrequests mengikuti panduan sebelumnya. Fungsi subRequestsHistogram.Record dipanggil setelah tracer.Start dan sebelum span.End, yang ditangguhkan. Perhatikan juga bahwa konteks, ctx, diteruskan dari tracer.Start ke fungsi Record:

    func computeSubrequests(r *http.Request, subRequests int) error {
    	// Add custom span representing the work done for the subrequests
    	ctx, span := tracer.Start(r.Context(), "subrequests")
    	defer span.End()
    
    	// Make specified number of http requests to the /single endpoint.
    	for i := 0; i < subRequests; i++ {
    		if err := callSingle(ctx); err != nil {
    			return err
    		}
    	}
    	// record number of sub-requests made
    	subRequestsHistogram.Record(ctx, int64(subRequests))
    	return nil
    }
    

    Untuk mengetahui informasi selengkapnya tentang contoh ini, lihat Menambahkan pelacakan dan metrik kustom ke aplikasi Anda.

Langkah selanjutnya