C# Academy · Pelajaran

Mengumpulkan Metrik

Catat penghitung, pengukur, dan histogram.

Pelajaran 3 dari 413 langkah

Mengumpulkan Metrik adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 4 pelajaran total.

Mengapa Metrik

Metrik adalah pengukuran numerik yang diagregasikan dari waktu ke waktu. Metrik mendukung dasbor dan peringatan: laju permintaan, jumlah kesalahan, latensi, kedalaman antrean. Berbeda dari catatan, metrik tetap hemat biaya pada volume tinggi karena diagregasikan.

API Meter

.NET menghasilkan metrik melalui System.Diagnostics.Metrics. Anda membuat sebuah Meter, lalu menggunakannya untuk membuat instrumen seperti penghitung dan histogram.

using System.Diagnostics.Metrics;

private static readonly Meter Meter = new("Checkout.Orders");

Penghitung

Penghitung adalah nilai yang hanya bertambah, cocok untuk menghitung peristiwa seperti pesanan yang ditempatkan atau kesalahan. Anda memanggil Add untuk menaikkan nilainya.

private static readonly Counter<long> OrdersPlaced =
    Meter.CreateCounter<long>("orders.placed");

OrdersPlaced.Add(1);

Dimensi Penghitung

Tambahkan label untuk membagi penghitung berdasarkan dimensi, seperti status atau wilayah, sehingga Anda dapat mengagregasikan dan memfilter data di sistem tujuan.

OrdersPlaced.Add(1,
    new KeyValuePair<string, object>("status", "completed"),
    new KeyValuePair<string, object>("region", "eu"));

Histogram

Histogram mencatat distribusi nilai, ideal untuk latensi atau ukuran muatan. Sistem tujuan menghitung persentil (p50, p95, p99) dari sampel yang dicatat.

private static readonly Histogram<double> OrderDuration =
    Meter.CreateHistogram<double>("order.duration", "ms");

OrderDuration.Record(elapsedMs);

UpDownCounters

UpDownCounter dapat bertambah atau berkurang, sehingga cocok untuk nilai seperti koneksi aktif atau item yang sedang berada dalam antrean.

private static readonly UpDownCounter<long> ActiveOrders =
    Meter.CreateUpDownCounter<long>("orders.active");

ActiveOrders.Add(1);   // started
ActiveOrders.Add(-1);  // finished

Instrumen yang Dapat Diamati

Instrumen yang dapat diamati dibaca sesuai kebutuhan melalui panggilan balik, cocok untuk pengukur seperti memori saat ini atau ukuran tembolok yang diambil sampelnya, bukan dinaikkan nilainya.

Meter.CreateObservableGauge("cache.size",
    () => _cache.Count);

Mendaftarkan Meter

Sama seperti pada pelacakan, OTel hanya mengumpulkan meter yang Anda daftarkan. Gunakan AddMeter dengan nama meter Anda.

builder.Services.AddOpenTelemetry()
    .WithMetrics(metrics => metrics
        .AddMeter("Checkout.Orders"));

Metrik Bawaan

Paket instrumentasi menyediakan metrik siap pakai untuk ASP.NET Core (durasi permintaan, permintaan aktif) dan lingkungan eksekusi (GC, kumpulan utas), sehingga langsung memberikan wawasan operasional.

metrics
    .AddAspNetCoreInstrumentation()
    .AddRuntimeInstrumentation();

Memilih Instrumen yang Tepat

Pilih berdasarkan perilaku: hitungan monoton (penghitung), nilai yang naik dan turun (UpDownCounter), distribusi (histogram), atau nilai saat ini yang diambil sampelnya (pengukur yang dapat diamati). Pilihan yang tepat membuat dasbor dan peringatan mudah dibuat.

Kendalikan Kardinalitas

Setiap kombinasi label yang unik membuat deret waktu terpisah. Label dengan kardinalitas tinggi (seperti ID pengguna) dapat membuat penyimpanan dan biaya melonjak. Gunakan dimensi yang terbatas dan berkardinalitas rendah, seperti status atau wilayah.

Pemeriksaan Singkat

Uji pengumpulan metrik.

Ringkasan

Metrik mengagregasikan pengukuran numerik dengan biaya rendah. API Meter membuat instrumen: penghitung (monoton), UpDownCounter (naik dan turun), histogram (distribusi untuk persentil), dan pengukur yang dapat diamati (diambil sampelnya). Label menambahkan dimensi, tetapi perhatikan kardinalitasnya. Daftarkan meter dengan AddMeter dan tambahkan instrumentasi bawaan ASP.NET Core serta lingkungan eksekusi untuk memperoleh wawasan secara langsung.

Gratis untuk memulai

Belajar C# dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
93
Pelajaran
346

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengumpulkan Metrik” gratis?

Ya — teks lengkap “Mengumpulkan Metrik” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengumpulkan Metrik”?

Catat penghitung, pengukur, dan histogram. Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C# Academy?

Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Mengumpulkan Metrik” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?

Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Tiga Pilar Observabilitas
  2. Pelacakan Terdistribusi
  3. Mengumpulkan Metrik
  4. Mengekspor ke Backend
← Kembali ke C# Academy