CodeBlanks Logo Icon CodeBlanks

traceAnalyzer

tsc --generateTrace ile performans izini öğrenirsin.

tsc --generateTrace nedir?

tsc --generateTrace <dizin>, tür denetimi sırasındaki olayları bir dizine JSON dosyaları olarak yazar. Her olay bir tür çözümleme adımını ve süresini içerir; böylece en pahalı türleri görebilirsin.

tsc --generateTrace ./trace
// ./trace/trace.json üretilir

Çıktı, @typescript/analyze-trace ile incelenir.

İz analizi

İz dizinindeki trace.json, her olay için type, duration ve args alanlarını içerir. @typescript/analyze-trace paketi, en pahalı türleri ve en uzun olayları listeler. En sık karşılaşılan checkType olayları genelde darboğazı işaret eder.

{
  "type": "checkType",
  "duration": 12,
  "args": { "type": "Deep" }
}

Süre milisaniye cinsindendir.

Uygulama İz özeti çıkar

Bir parseTraceSummary fonksiyonu yaz: olay dizisindeki checkType türündeki olayları say ve sürelerini topla. { count, total } nesnesini döndür. checkType(5), checkType(10), other(2) olayları için count ve total'u virgülle yazdır.

Başlangıç kodu

index.ts
// iz olaylarını özetle
// tür denetimi olaylarını say
// sürelerini topla
// sayı ve toplamı yazdır

Örnek çözüm

index.ts
function parseTraceSummary(events: { type: string; duration: number }[]): { count: number; total: number } {
  let count = 0;
  let total = 0;
  for (const e of events) {
    if (e.type === "checkType") {
      count++;
      total += e.duration;
    }
  }
  return { count, total };
}

const events = [
  { type: "checkType", duration: 5 },
  { type: "checkType", duration: 10 },
  { type: "other", duration: 2 }
];
const result = parseTraceSummary(events);
console.log(result.count + ", " + result.total);

Beklenen çıktı

2, 15

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 --generateTrace ne üretir?

  • Bildirim dosyası
  • Derlenmiş JavaScript dosyası
  • Source map dosyası
  • Olay JSON dosyaları içeren bir dizin Doğru cevap

Açıklama: generateTrace, tür denetimi olaylarını bir dizine JSON olarak yazar; JavaScript, source map ve bildirim farklı seçeneklerin çıktılarıdır.

2 İz bayrağı

Soru
tsc ____ ./trace
Cevap
tsc --generateTrace ./trace

Açıklama: İz üretmek için --generateTrace kullanılır; --trace, --profile ve --perf geçerli tsc bayrakları değildir.

3 İzleme parçaları

Kavram Anlamı
--generateTrace iz dizini üretir
trace.json olay kayıtları
checkType tür denetimi olayı
duration olay süresi

Uzman bölümündeki tüm dersler