CPU profiling
- Node.js kursu
- İleri seviye
- Ders 16/83
- 5 dk
CPU profiling ve flame graph öğrenirsin.
CPU profiling
CPU profilleme, uygulamanın zamanını hangi fonksiyonlarda harcadığını bulmaktır. Node.js, V8 motorunun yerleşik profiler'ını kullanır. İki yol vardır: --cpu-prof bayrağı ile başlatmak, veya inspector modülü ile çalışma zamanında profilleme.
inspector modülü Chrome DevTools Protocol'e erişim sağlar. new Session() ile bir oturum açar, profiler'ı başlatır, durdurur ve sonucu alırsın. Bu, üretimde (production) darboğaz bulmak için güçlü bir araçtır.
PerformanceObserver
PerformanceObserver, perf_hooks modülünde bir sınıftır. Performans girdilerini (PerformanceEntry) canlı olarak yakalar. new PerformanceObserver(cb) ile oluşturup .observe() ile başlatırsın.
Örneğin performance.mark("start") ve performance.mark("end") koyup, aradaki süreyi performance.measure("label", "start", "end") ile ölçersin. Observer bu ölçümleri yakalar ve callback'e geçirir. Bu, W3C standardına uygun bildirimsel bir ölçüm yöntemidir.
Uygulama PerformanceObserver türünü yaz
PerformanceObserver sınıfını perf_hooks'den içe aktar. typeof PerformanceObserver sonucunu yaz.
Başlangıç kodu
// modülü içe aktar, gözlemciyi al
// türünü yazÖrnek çözüm
const { PerformanceObserver } = require("perf_hooks");
console.log(typeof PerformanceObserver);Beklenen çıktı
function
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 CPU profilleme için hangi yerleşik modül kullanılır?
- fs
- url
- path
- inspector Doğru cevap
Açıklama: inspector modülü Chrome DevTools Protocol'e erişim sağlar.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
inspector |
Profilleme |
Session |
Bağlantı |
PerformanceObserver |
Ölçüm yakalar |
profiler |
CPU profili |
3 Modül adını tamamla
const { Session } = require("____")
const { Session } = require("inspector")
Açıklama: inspector modülü require("inspector") ile yüklenir.