Mengaitkan metrik dan trace menggunakan contoh

Dokumen ini menjelaskan contoh, yang merupakan contoh titik data yang dilampirkan titik data metrik. Salah satu kegunaan contoh adalah untuk menyimpan tautan ke jejak, 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 menggunakan untuk melampirkan data non-metrik ke pengukuran. Salah satu penggunaan contoh adalah mengaitkan data {i>trace<i} dengan data metrik. Dalam Cloud Monitoring, contoh bisa dilampirkan ke data metrik yang memiliki Distribution jenis nilai. Metrik bernilai distribusi mengumpulkan banyak pengukuran dan pengelompokan mereka ke dalam bucket. Setiap "titik" adalah histogram, yang merupakan array yang mencantumkan jumlah bucket. Pengukuran sebenarnya tidak dipertahankan, hanya bucket yang dihitung. Untuk informasi selengkapnya, lihat Tentang metrik bernilai distribusi.

Saat titik data metrik ditulis, array Exemplar yang dapat dilampirkan pada data tersebut. Jika digunakan, melampirkan informasi yang berguna pada data metrik. Misalnya, ketika OpenTelemetry menulis contoh, contoh itu melampirkan tautan ke rentang rekaman aktivitas.

Data histogram biasanya ditampilkan menggunakan peta panas. Saat "titik" berisi contoh, Cloud Monitoring 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 di Membuat trace dan metrik dengan Go menggunakan OpenTelemetry untuk menulis data metrik, {i>trace data<i}, dan contoh. Screenshot berikut menampilkan nilai prometheus/http_server_duration_milliseconds/histogram metrik setelahnya 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 detail, 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 mengkonfigurasi OpenTelemetry untuk menulis contoh yang menghubungkan span trace saat ini dengan pengukuran metrik. Namun, agar contoh bisa ditulis, Anda harus melakukan berikut ini:

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

    Misalnya, fungsi computeSubrequests mengikuti panduan. 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 informasi selengkapnya tentang contoh ini, lihat Tambahkan trace dan metrik kustom ke aplikasi Anda.

Langkah selanjutnya