KingxTech සමාගමේ K‑XpertAI AI කේත උදව්කරු පසුබැසීමේ Node/Express සේවාවක්, Google Cloud Run මත ධාවනය වන අතර, බොහෝ API මාර්ග 18 ක් දෝෂ වාර්තා නොකිරීම නිසා Sentry Dashboard හි කිසිදු දෝෂයක් නොපෙනී තිබුණා.
මෙම සේවාව Claude, Gemini, GPT වැනි විවිධ AI මාදිලි සපයන්නන් සමඟ සම්බන්ධ කරමින්, ගෙවීම්, ක්රෙඩිට්, චැට් ඉතිහාසය, GitHub පූෂ්/ආයාත, ව්යාපෘති ගොනු ආදිය කළමනාකරණය කරයි. නමුත් Sentry හි DSN සකස් කර තිබුණද, පද්ධතියේ බොහෝ මාර්ග දෝෂයක් සිදු වූ විට Sentry.captureException() ක්රියා නොකරන ලදී. ඒ නිසා දෝෂයන් console.error() වලට පමණක් යවා, පාරිභෝගිකයාට සාමාන්ය JSON ප්රතිචාරයක් ලබා දුන්නාත්, Sentry හි කිසිදු සලකුණක් නොපෙන්වා.
ගැටළුවේ මූලික හේතුව කෙලින්ම කියනවා නම්, 19 මාර්ග අතරේ එක් මාර්ගයක් පමණක් Sentry සමඟ සම්බන්ධ වූ අතර, අනෙකුත් 18 මාර්ග සියල්ලම දෝෂයන් stdout වෙත ලොග් කරමින්, Sentry වෙත යවා නොමැති වීමයි. මෙය “නොකැමති දෝෂ” ලෙස හැඳින්වේ – යෙදුම ක්රියාත්මක වුවත්, වැරදි සිදු වූ අවස්ථා පාලකයන්ට නොපෙනේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
සිංහල සංවර්ධකයින්, කාර්ය මණ්ඩලය සහ ව්යාපාරිකයින් සඳහා මෙම අත්දැකීමේ වැදගත්කම මෙසේය:
- දෝෂ නිරීක්ෂණය නිවැරදිව සිදු නොවීම, පාරිභෝගික අත්දැකීම් අඩු කරයි.
- Sentry වැනි Observability මෙවලම් නිවැරදිව භාවිතා කිරීම, සේවාවේ විශ්වාසනීයතාවය වැඩි කරයි.
- Cloud Run වැනි serverless පරිසරයන්හි flush කිරීම අත්යවශ්ය – එය නොකළහොත් ඉන්ස්ටෑන්ස් එක අච්චු වෙලා දෝෂ රිප්රොට් අස්ථානගත වේ.
- ඉදිරියේදී ශ්රී ලංකාවේ startups සහ IT සමාගම්, මේ වගේ සරල centralised error‑handling strategy එකක් අනුගමනය කරමින්, සංවර්ධන කාලය හා පිරිවැය ඉතිරි කර ගත හැක.
ඉතා කෙටි කාලයක් තුළ, සංවර්ධකයින් 13 මාර්ගයක් සඳහා පවතින handleFsError() helper එකට Sentry instrumentation එක එක්කලහ. ඉතිරි 5 මාර්ග සඳහා නව reportError() helper එකක් නිර්මාණය කර, සෑම catch block එකක්ම ඒක භාවිතා කරන ලෙස සකස් කළා. ඒ අනුව, සියලුම දෝෂයන් Sentry වෙත යවා, Cloud Run හි CPU freeze වෙන කලත් await Sentry.flush(2000) මඟින් රිප්රොට් සම්පූර්ණ කරයි.
අවසන් වශයෙන්, සර්වර් ආරම්භයේ [sentry] initialized / [sentry] disabled — SENTRY_DSN not set ලෙස ලොග් එකක් එක් කර, Deploy එකකදී Sentry DSN සකස් වී ඇතිද නැද්ද කියා තේරුම් ගත හැකි වුණා.
මෙම සිද්ධියෙන් අපිට මතක ඇතුව, “ඇප් එක ක්රියා කරනවා” කියන වාක්යය පමණක් සාර්ථකත්වයක් නොව, “දෝෂය කොහේද?” කියා පාලකයන්ට දැනගැනීමේ හැකියාවත් ඉතා වැදගත් බවයි.