ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Node.js හි Event Loop Freeze සොයාගැනීමට නව Watchdog N-API ඇඩෝන් එක

Node.js හි Event Loop Freeze සොයාගැනීමට නව Watchdog N-API ඇඩෝන් එක

Node.js යෙදුම් කිහිපයක් ක්‍රියාත්මක වන අතර, Kubernetes පරීක්ෂණය හරිත, /health 200 ලැබෙයි, CPU බර නොවේ – නමුත් පරිශීලකයන්ට ඉල්ලීම් කාලය ඉක්මවා යනවා. මෙවැනි අවස්ථා බොහෝ වෙලාවේ event loop freeze නිසා වේ.

Event loop freeze කියන්නේ, සින්ක්‍රෝනස් හා බර වැඩක් (උදාහරණයක් ලෙස විශාල JSON.parse, අසාමාන්‍ය රෙග් එක්ස්ප්‍රෙෂන්, සින්ක්‍රෝනස් crypto/compress) ත්‍රෙඩ් එක ග්‍රහණය කරලා, timers, HTTP, DB callbacks සියල්ලටත් ප්‍රතික්‍රියා කාලය අඩු වේ. එම නිසා health endpoint එකත් ප්‍රතිචාර නොදෙයි.

Node.js හි monitorEventLoopDelay() වැනි උපකරණ මාර්ගගත මොනිටරින් සඳහා හොඳයි, නමුත් loop එක බඳුනේ පසු පමණක් ලොග් ලියයි. එම නිසා සංවර්ධකයින්ට “freeze” වෙලා ඇති බවක් තත්කාලිකව දැන ගැනීමට අඩුයි.

JS‑AK කණ්ඩායම විසින් @js-ak/watchdog නමැති නව N‑API ඇඩෝන් එක නිර්මාණය කර ඇත. මෙය C++ හි වෙනත් ත්‍රෙඩ් එකක මොනිටරය කරයි, එමනිසා JavaScript event loop එක බඳුනේද, එය stderr හෝ ගොනුවට JSON ආකාරයේ ලොග් ලිවීමට හැකියාව ඇත.

ඇඩෝන් එකේ ප්‍රධාන විශේෂතා:

  • freeze සහ recovered සිදුවීම් සඳහා කස්ටම් හෝකාරය
  • freezeThresholdMs (උදා: 1000 ms) සකස් කිරීමේ හැකියාව
  • logTarget – stderr, file, හෝ දෙකම
  • විකල්ප RSS/CPU සහ stack sample එකතු කිරීම

භාවිතය ඉතා සරළයි. npm install @js-ak/watchdog කර, පහත කේතය ඇතුළත් කර පමණක් පාලනය කළ හැකිය:

const watchdog = require("@js-ak/watchdog");
watchdog.on("freeze", e => console.log(e.event, e.duration_ms));
watchdog.on("recovered", e => console.log("back after", e.duration_ms, "ms"));
watchdog.start({ freezeThresholdMs: 1000, logTarget: "stderr", source: "payments-api" });

Node 22+ සඳහා පෙර-නිර්මාණ binaries ලබා ගත හැකි අතර, MIT බලපත්‍රයකින් නිකුත් කර ඇත. ගිට්හබ් රිපොසිටරිය github.com/JS-AK/watchdog හි ඇත.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බොහෝ startups, fintech හා e‑commerce සමාගම් Node.js භාවිතා කරයි. Event loop freeze නිසා සේවා අත්හිටුවීම ගනුදෙනු අහිමි වීමට, පාරිභෝගික විශ්වාසය අඩුවීමට හේතුවක් වේ. Watchdog ඇඩෝන් එක මෙවැනි අවස්ථා ප්‍රාථමිකව හඳුනාගෙන, ලොග් එකෙන්ම හේතුව විශ්ලේෂණය කිරීමට ඉඩ සලසයි. එම නිසා දේශීය සංවර්ධකයින්ට production පරිසරයේ real‑time මොනිටරින් කර ගැනීම පහසු වේ, ඉගෙනුම් අවස්ථා වැඩිවේ, හා ව්‍යාපාරික පරිසරයේ downtime අඩුවේ.

ඉතින්, Node.js යෙදුම් නිරන්තරයෙන් සෞඛ්‍යවත් බව තහවුරු කරගැනීමට, Watchdog වැනි නව මෙවලම් භාවිතා කිරීම අත්‍යවශ්‍යය.

ඔබේ ප්‍රොජෙක්ට් එකේ event loop freeze ගැටළුවක් තිබේ නම්, දැන්ම @js-ak/watchdog එකත් සමඟ පරීක්ෂා කර බලන්න.

💡 ඔබේ Node.js සේවාව දැන්ම Watchdog සමඟ මොනිටර කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Node.js #EventLoop #Watchdog #Performance #SriLanka