جعبه سیاه هواپیما اطلاعات پرواز را ثبت میکند تا هنگام بروز حادثه، بررسی اتفاقها فقط بر حدسوگمان متکی نباشد. سنتری نیز نقش مشابهی در اپلیکیشن دارد: اطلاعات مربوط به خطاها و عملکرد برنامه را جمعآوری میکند و برای بررسی در اختیار تیم توسعه قرار میدهد.
سنتری برای انجام این کار از یک کتابخانه کوچک به نام کیت توسعه نرمافزار (Software Development Kit یا SDK) استفاده میکند. SDK داخل اپلیکیشن قرار میگیرد و بر اساس تنظیمات شما، رخدادهای مرتبط با خطا و عملکرد را برای سنتری میفرستد.
چرخه کار سنتری
فرایند کار سنتری را میتوان در چند مرحله خلاصه کرد:
-
SDK را به اپلیکیشن اضافه میکنید. برای هر زبان یا فریمورک، SDK مخصوصی وجود دارد. بهتر است SDK در مراحل ابتدایی اجرای برنامه راهاندازی شود تا بتواند خطاهای بیشتری را ثبت کند.
-
SDK را با DSN پیکربندی میکنید. نام منبع داده (Data Source Name یا DSN) مشخص میکند اطلاعات جمعآوریشده باید برای کدام پروژه در سنتری ارسال شوند.
-
اپلیکیشن به کار خود ادامه میدهد. SDK بر اساس تنظیمات فعالشده، خطاها و دادههای عملکردی برنامه را جمعآوری میکند.
-
یک خطا یا کندی رخ میدهد. این اتفاق ممکن است یک Exception، درخواست ناموفق، خطای مدیریتنشده یا تراکنشی کند باشد.
-
SDK اطلاعات مرتبط را ثبت میکند. این اطلاعات، بسته به پیکربندی اپلیکیشن، میتوانند شامل پشته فراخوانی (Stack Trace)، مرورگر، سیستمعامل، نسخه اپلیکیشن و رویدادهای منتهی به خطا باشند.
-
اطلاعات در قالب رخداد ارسال میشوند. هر بسته اطلاعاتی که برای سنتری فرستاده میشود، یک رخداد (Event) است. رخدادها میتوانند از نوع خطا (Error) یا تراکنش (Transaction) باشند.
-
سنتری رخدادها را پردازش میکند. خطاهای مشابه در قالب یک Issue گروهبندی میشوند و دادههای عملکردی نیز برای بررسی تراکنشها و گلوگاههای ب رنامه در دسترس قرار میگیرند.
پس از این مراحل، میتوانید اطلاعات ثبتشده را در پنل سنتری بررسی کنید و در صورت نیاز، برای رخدادهای مهم هشدار بسازید.
از Event تا Issue
فرض کنید یک خطای مشخص در صفحه پرداخت برای صدها کاربر رخ دهد. نمایش هر رخداد بهصورت جداگانه، بررسی مشکل را دشوار میکند. سنتری خطاهایی را که در بخشهای مشابه کد رخ دادهاند، شناسایی و در یک Issue گروهبندی میکند.
در نتیجه، بهجای مشاهده صدها گزارش جداگانه، یک Issue میبینید که اطلاعاتی مانند تعداد رخدادها، زمان اولین و آخرین وقوع و جزئیات فنی خطا را در اختیار شما قرار میدهد.
این گروهبندی کمک میکند متوجه شوید با یک مشکل تکرارشونده روبهرو هستید یا چند خطای مستقل رخ دادهاند. همچنین میتوانید Issueها را اولویتبندی، پیگیری یا پس از رفع مشکل بسته کنید.