আমরা এ ধরনের সমস্যা অনুসন্ধান করি
- যোগাযোগ বিচ্ছিন্নতা, যা কেবল মাঝে মাঝে ঘটে
- অপ্রত্যাশিতভাবে বন্ধ হয়ে যাওয়া, যা কেবল বহু ঘণ্টা চলার পরেই দেখা দেয়
- যন্ত্রপাতির সঙ্গে সংযোগের সমস্যা, যা পুনরুৎপাদন করা কঠিন
- মেমরি বা হ্যান্ডেল লিক এবং থ্রেড সংখ্যার বৃদ্ধি
- লগের অভাবে যে সমস্যার কারণ অনুসরণ করা যায় না
সাধারণত ঠিকঠাক চললেও কেবল কদাচিৎ দেখা দেওয়া বাগের ক্ষেত্রে, পৃথকীকরণের কৌশলটিই মৌলিক গুরুত্বপূর্ণ।
আমরা কীভাবে অনুসন্ধান করি
- প্রথমে অ্যাপ্লিকেশনের অভ্যন্তরীণ কারণগুলিকে যোগাযোগ, যন্ত্রপাতি ও অপারেটিং সিস্টেম-সংক্রান্ত কারণ থেকে আলাদা করি।
- এরপর পর্যবেক্ষণযোগ্য তথ্যের পরিধি বাড়াই: লগ, মেট্রিক, প্যাকেট, হ্যান্ডেলের সংখ্যা, এক্সসেপশনের পথ ইত্যাদি।
- এই ডেটার সাহায্যে পুনরুৎপাদনের শর্ত সংকুচিত করি এবং কারণ ও পুনরাবৃত্তি এড়ানোর ব্যবস্থা — দুটিই গুছিয়ে উপস্থাপন করি।
যে ক্ষেত্রগুলিতে আমরা বিশেষভাবে সাহায্য করতে পারি
- TCP বা সকেটভিত্তিক যোগাযোগে বিচ্ছিন্নতা ও বিলম্ব
- ইন্ডাস্ট্রিয়াল ক্যামেরা ও পেরিফেরাল ডিভাইসের সঙ্গে যোগাযোগের অস্বাভাবিকতা
- COM বা ActiveX ব্যবহারকারী বিদ্যমান সফটওয়্যারের অস্থিরতা
- কেবল দীর্ঘ সময় চলার পরেই দেখা দেওয়া লিক ও রিসোর্স নিঃশেষ হওয়া
- অস্বাভাবিক পরিস্থিতির টেস্ট বা উপযুক্ত লগ ডিজাইনের অভাবে কঠিন হয়ে পড়া অনুসন্ধান
এই সেবাটি উপযোগী, যদি
- কারণটি অ্যাপ্লিকেশনে না যোগাযোগে — তা এখনও জানা না থাকে
- পুনরুৎপাদনে কয়েক ঘণ্টা থেকে কয়েক সপ্তাহ পর্যন্ত সময় লাগে
- লগ থাকলেও কার্যকারণ সম্পর্ক স্থাপন করা না যায়
- সফটওয়্যার সংস্কারের আগে কী পর্যবেক্ষণ করা উচিত তা নির্ধারণ করতে চান
পুনরাবৃত্তি প্রতিরোধসহ সহায়তা
কারণ খুঁজে পাওয়ার সঙ্গে সঙ্গেই অনুসন্ধান শেষ হওয়া উচিত নয়। পরবর্তী সমস্যাটি আরও আগে শনাক্ত ও অনুসরণ করার উপযোগী করে সিস্টেমটি রেখে যাওয়া গুরুত্বপূর্ণ।
তাই প্রয়োজন হলে আমরা এ ধরনের বিষয়েও কাজ করি:
- লগে অন্তর্ভুক্ত ডেটার পর্যালোচনা
- সেশন ও অপারেশন অনুযায়ী কনটেক্সট সংযোজন
- অস্বাভাবিক পরিস্থিতির জন্য টেস্ট ভিত্তি প্রস্তুত করা
- রিসোর্সের লাইফসাইকেল অনুসরণ করার উপযোগী করে কোড গুছিয়ে তোলা