تكرار السؤال: …
الإجابة المختصرة
توضح الـ Flamegraphs الوقت الذي يقضيه المعالج في كل دالة من خلال تتبع مكدس الاستدعاءات، حيث تشير القمم العريضة إلى الدوال الأكثر استهلاكاً لوقت الـ CPU.
الشرح
لتحديد سبب وصول استهلاك المعالج إلى 100%، يمكنك تشغيل Node.js مع راية --cpu-prof لتوليد ملف سجل زمني للأداء، أو ربط التطبيق بأداة التشخيص المتقدمة مثل clinic.js. يتم عرض البيانات كرسم بياني ناري؛ يمثل المحور الأفقي النسبة المئوية لإجمالي وقت التنفيذ، ويمثل المحور الرأسي عمق مكدس الدوال، مما يوجهك فوراً للدالة المسؤولة عن البطء.
مثال بالكود
node --cpu-prof --cpu-prof-dir=./profiles app.js # writes *.cpuprofile files
# Open the .cpuprofile in Chrome DevTools → Performance, or build an interactive flamegraph:
npx 0x -- node app.js
# Reading it: the x-axis is time spent (not chronology); wide frames at the top are the hot functions.أخطاء شائعة
- الافتراض بأن بطء التطبيق سببه دوال الـ CPU دون فحص أزمنة انتظار الـ I/O أولاً.