generateTrace în TypeScript

tsconfig: diagnosticare TypeScript 4.1

Scrie fișiere pentru analiza detaliată a performanței: urmă de evenimente și lista tipurilor, sau un profil CPU V8.

Sintaxă
tsc --generateTrace urme
tsc --generateCpuProfile profil.cpuprofile

Ce face generateTrace

--generateTrace <director> scrie în directorul dat trace.json (ce a făcut tsc și cât a durat, pe fișiere și pe expresii) și types.json (tipurile create). trace.json se deschide în chrome://tracing, în Perfetto sau cu pachetul @typescript/analyze-trace, care arată direct punctele lente (de exemplu un tip generic foarte complicat).

--generateCpuProfile <fișier> scrie un profil CPU în formatul V8 (implicit profile.cpuprofile), care se deschide în tab-ul „Performance” din Chrome DevTools sau în VS Code. Ambele sunt pentru depanarea performanței compilatorului, nu pentru uzul zilnic.

Parametri

Parametru Descriere
--generateTrace dir Directorul pentru trace.json și types.json.
--generateCpuProfile fisier Fișierul profilului CPU. Implicit profile.cpuprofile.

Exemple

Exemplul 1: Fișierele generate

Ambele comenzi compilează normal proiectul și scriu în plus fișierele de analiză (profilul este JSON, aici sunt afișate primele caractere).

npx tsc --generateTrace urme

Rezultat (tsc 5.9)

$ npx tsc --generateTrace urme && ls urme
trace.json
types.json

$ npx tsc --generateCpuProfile profil.cpuprofile && head -c 120 profil.cpuprofile
{"nodes":[{"id":1,"callFrame":{"functionName":"(root)","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCo

Greșeli frecvente

  • Să adaugi aceste fișiere în git. Sunt mari și utile doar pentru o analiză; pune directorul în .gitignore.

Comenzi înrudite

  • diagnostics: Afișează după compilare statistici: câte fișiere, rânduri și tipuri, memoria folosită și timpul fiecărei etape.
  • incremental: Salvează informații despre ultima compilare într-un fișier .tsbuildinfo, ca următoarea compilare să refacă doar ce s-a schimbat.
  • skipLibCheck: Nu mai verifică erorile din fișierele .d.ts (ale pachetelor și ale proiectului); compilarea devine mai rapidă.