CodeBlanks Logo Icon CodeBlanks

CPU profiling

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

index.js
// modülü içe aktar, gözlemciyi al

// türünü yaz

Örnek çözüm

index.js
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

Soru
const { Session } = require("____")
Cevap
const { Session } = require("inspector")

Açıklama: inspector modülü require("inspector") ile yüklenir.

İleri seviye bölümündeki tüm dersler