در این مقاله به نکاتی در مورد Trace کردن کدهای PHP با ابزار Retrace خواهیم پرداخت. trace باگها در کد PHP میتواند بسیار زمانبر باشد. برای یافتن سریع باگها در برنامه PHP میتوانید از ابزارهای Tracing PHP استفاده کنید. بدینمنظور Stackify دو ابزار تحت عنوان Retrace و Prefix ارائه میکند که میتوان از آنها برای trace آنچه در یک درخواست وب (web request) یا یک تراکنش (transaction) صورت میپذیرد؛ استفاده کرد.
ابزار Retrace یک راهحل بسیار مقرون بهصرفه برای نظارت بر کارایی برنامههاست که امکان centralized logging، ردیابی خطاها، متریکهای برنامه، پروفایل کردن کد Code Profiling و رصد اجرای برنامه شما را فراهم میکند.
نصب ابزار Retrace
برای شروع، باید مطمئن شوید که Retrace را بر روی سرور خود نصب کردهاید. اگر در حال حاضر از آن استفاده نمیکنید، بهتر است نسخه آزمایشی رایگان ثبت نام کرده و آنرا امتحان کنید.
اگر Retrace بر روی سرور شما نصب شدهاست، لازم است تا افزونه PHP را فعال کنید تا بتوانید از قابلیتهای این ابزار برای Tracing PHP استفاده کنید. نصب آن تنها به چند دقیقه زمان نیاز دارد. میتوانید این راهنما را مطالعه کنید تا چگونگی نصب Retrace برای PHP را بیاموزید.
Code Profiling و Code tracing خودکار
ابزار Retrace بهگونهای طراحی شدهاست تا متدهای اصلی در کد شما را بهصورت خودکار trace کند که شامل فریمورکهای استاندارد برنامه و وابستگیهایش است. میدانیم که یافتن و رفع باگها در یک application ، امری پیچیده و خستهکننده است. ابزار Retrace برنامه Profiling سادهای را پیشنهاد میکند که بسیار مطمئن است و قادر است خطاهای کد را شناسایی کند.
برخی از فریم ورکهایی که توسط Retrace پشتیبانی میشود:
Laravel, Zend, CodeIgniter
Eloquent, PDO, MySQL, MongoDB
Curl, SOAP, Memcache, Predis
WordPress, Magento, Drupal
راهنمای کاملی از فریمورکهایی که Retrace آنها را پشتیبانی میکند. مثالی از PHP profiling trace که توسط Retrace جمعآوری شدهاست:
ابزار Retrace میتواند به شما در بهبود عملکرد برنامهتان کمک کند.
مشاهده Php trace
ابزار Retrace امکان نظارت بر عملکرد برنامه را مهیا میکند که اهمیت کد شما را پر رنگتر میکند. در تصویر ارائه شده، Retrace این امکان را برای شما فراهم میکند تا عملکرد برنامه را بهصورت سریع ببینید. شما میتوانید trace PHP ویژه شناسایی شده، توسط PHP پروفایلر را ببینید.
PHP tracing + logging
ترکیبی از Retrace code profiling و لاگهای برنامهی شما، عیبیابی مشکلات پیچیده را بسیار سادهتر میکند. با کمک این ابزار میتوانید از فریمورکهای Monolog یا Log4php برای ارسال تمامی لاگهای برنامهتان به Retrace استفاده کنید. تنظیمات ویژهای برای پلاگینهای هر فریمورک وجود دارد که ممکن است مورد استفاده قرار گیرد و در صفحه Stackify GitHub یافت میشود.
با ابزار Retrace، لاگهای شما در داشبورد App برای برنامه Php قابل مشاهده است. Retrace امکان trace پیشرفته خطاها و centralized logging را فراهم میآورد. در عکس زیر نمونهای از نمایشگر Retrace log ارائه شدهاست.
Retrace تمامی کوئریهای SQL، که بههمراه کد شما اجرا میشود را رصد میکند. این شامل تمامی SQL statement ها، سرور پایگاهداده و تعداد رکوردهای متاثر است.
Retrace، داشبوردهایی را برای نشان دادن عملکرد تمامی SQL query ها ایجاد میکند. در بخش نمایشگر Php trace، شما میتوانید queryهای مجزای SQL را ببینید که برای درخواست وب خوانده شدهاند.
Trace خطاهای Php
ابزار Retrace میتواند بهصورت خودکار exception های ایجاد شده در کدتان را، جمعآوری کند. این کار بهسادگی منجر به شناسایی خطاهایی می شود که بر روی کاربر شما یا عملکرد سیستم شما تاثیر میگذارد.
شما میتوانید خطاها را از طریق فریمورک logging مثل Monolog به Retrace گزارش کنید. توانایی دیدن تمامی خطاها در کدها، trace برنامههای Php را تسهیل میکند.
خطاها ممکن است برای یک برنامه مشخص، یا تمامی برنامهها مشاهده شوند. ابزار Retrace بهویژه برای یافتن خطاهای جدید که دقیقاً پس از استقرار نرمافزارتان بهوقوع میپیوندند؛ مفید است.
تصویر زیر یک نمونه نمایش جزئیات خطا در Retrace است. شما میتوانید URL ,full stack trace ,headers و دیگر اطلاعات مهم را ببینید که اطلاعات بیشتری در خصوص خطایی که رخ داده است؛ ارائه میکند.
نتیجه گیری
ابزارTracing PHP برای پیداکردن سریع باگها و راههایی برای بهبود کد برنامهی شما، بسیار مفید هستند. Retrace ابزاری قدرتمند برای رصد عملکرد برنامههای Php از بالا تا پایین و تا سطح کد است. در این مقاله سعی شد نکاتی را در مورد Trace کردن کدهای Php با ابزار Retrace شرح دهیم که برای برنامهنویسان Php بسیار مفید است.
سینداد یعنی هدیهی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.
سینداد یعنی هدیهی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی
است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار
در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که
سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.