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

Go යෙදුම්වල Traces vs Logs: සාමාන්‍ය වැරදි 4ක් සහ ඒවාට පිළියම

Go යෙදුම්වල Traces vs Logs: සාමාන්‍ය වැරදි 4ක් සහ ඒවාට පිළියම

Go භාෂාවෙන් ලියන මෘදුකාංගවල දෝෂ හඳුනා ගැනීමේදී ලොග් සහ මැට්‍රික්ස් පමණක් නොව, Traces (පථ) භාවිතා කිරීමත් දැන් අත්‍යවශ්‍ය වේ. නමුත් Traces සකස් කිරීමේදී කුඩා වැරදි හතක් නිසා පූර්ණ පථ ගසක් (trace tree) හරහා සම්බන්ධතා අහිමි විය හැක. මේ ලිපියෙහි ලේඛකයා තම පළපුරුද්දෙන් හතරක්ම වැරදි අත්විඳිමින් ඉගෙනගත් අත්දැකීම් පෙන්වයි.

Logs සහ Metrics වඩාත් ප්‍රතිපත්තිමය වන අතර, කුමක් ලොග් කරන්නේ, කුමක් ගණනට ඇතුළත් කරනවා යනවා පෙරනිමිති කරගෙන ක්‍රියා කරයි. අනාගතයේ නොපැහැදිලි වූ ගැටළුවක් සිදු වූ විට, නව ලොග් එකක් එකතු කර නැවත දළදා මාරු කිරීමක් කළ යුතු වේ. Traces එය වෙනස් කරයි: පද්ධතියේ ක්‍රියාකාරකම් ග්‍රැෆ් එකක් ලෙස සටහන් කර, පසුකාලීනව අතුරුදන් වූ ප්‍රශ්නවලට පිළිතුරු සපයයි. ඒ නිසා “කොහොමද මේ කාර්යය නැවත ක්‍රියාත්මක වුනා?” වැනි ප්‍රශ්නවලට කේත වෙනස් කිරීමකින් තොරව පිළිතුරක් ලැබේ.

Trace, Span, Span Event, Wide Event, Context යන පදයන්ගේ අර්ථය පැහැදිලි කරගැනීම වැදගත්. Trace එකක් යනු එකම trace_id සමඟ ඇති සියළු Span එකතුවයි. Span එකක් පථයේ නෝඩ් එකකි; ඒක ආරම්භය, අවසන්ය, ගුණාංග සහ පියාඹුම (parent) අඩංගු වේ. Context (Go හි context.Context) එකම Span එකේ පියාඹුම සමඟ සම්බන්ධ කරයි; ඒකයි පරම්පරා සම්බන්ධතාවය නිර්මාණය කරන එකම මාර්ගය.

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

ශ්‍රී ලංකාවේ තාක්ෂණික විශ්වවිද්‍යාල සිසුන්, ස්ථානයේම සොෆ්ට්වේයාර් සංවර්ධකයින්, සහ තොරතුරු තාක්ෂණ ව්‍යාපාර සඳහා මේ දැනුම ගුණාත්මක වශයෙන් ප්‍රයෝජනවත් වේ:

  • විශ්වවිද්‍යාල සිසුන් – Tracing සංකල්පය අධ්‍යයනය කිරීමෙන්, මූලික Observability හැකියාවන් ඉගෙන ගැනීමට, කාර්යය දෝෂ හඳුනා ගැනීමට සහ ප්‍රොඩක්ට් කාර්යක්ෂමතාව වැඩි කිරීමට හැකියාව ලැබේ.
  • දෙවන පාර්ශව සංවර්ධකයින් – OpenTelemetry වැනි ලාභ්‍ය නොවන (open‑source) මෙවලම් භාවිතා කරමින්, නිෂ්පාදන පද්ධතිවල පථ ගස නිවැරදිව සකස් කිරීමේ වැරදි වලින් බේරා ගත හැකිය.
  • ව්‍යාපාර – Traces මඟින් සේවා අන්තර්කාර්ය සම්බන්ධතා, කාර්ය පටිපාටිය, සහ ප්‍රතිචාර වේගය මැන ගැනීමට හැකි වීම නිසා, පාරිභෝගික අත්දැකීම උසස් කර, පද්ධති පරීක්ෂණය සහ පාරිභෝගික සේවා වගකීම ඉක්මනින් කරයි.

මෙම ලිපියේ පෙන්වා දුන් හතරේ වැරදි වන්නේ: (1) Tracer එක සැකසීමට පෙර Span එකක් ආරම්භ කිරීම, (2) Context එක ප්‍රවාහකය (propagator) සකස් නොකිරීම, (3) වැරදි පියාඹුම (parent) සම්බන්ධ කිරීම, (4) Span එක නිසි ලෙස අවසන් නොකිරීම. එක් එක් වැරදි නිවැරදි කිරීමේ ක්‍රමය සරල: OpenTelemetry provider එක පළමුව සකස් කර, propagator එක සකස් කර, context එක නිවැරදිව පවරා, Span අවසන් කිරීම අමතක නොකරන්න.

ඉතින්, Go යෙදුම්වල Traces හඳුනා ගැනීමේදී මෙම සරල නීති අනුගමනය කරලා, ඔබේ පද්ධතියේ දෝෂ හඳුනා ගැනීමේ කාලය අඩු කර, වැඩි කාර්යක්ෂමතාවක් ලබා ගන්න.

💡 ඔබේ Go යෙදුම්වල Traces නිවැරදිව සකස් කර, දෝෂ හඳුනා ගැනීමේ කාලය කෙටි කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Go #Tracing #OpenTelemetry #Programming #Observability