- جمعه 25 خرداد 1397 ساعت 13:45
- 3.1.9
- در حال تکمیل
- فعال
کلاس Profiler نتایج بنچمارک (benchmark)، کوئریهایی که اجرا کردهاید و مقادیر آرایه $_POST
را در پایین صفحات نشان میدهد. این اطلاعات میتوانند در حین توسعه به منظور کمک به دیباگ و بهینهسازی استفاده شوند.
تعریف اولیه کلاس
مهم
این کلاس نیاز به تعریف ندارد. اگر پروفایلینگ فعال باشد، این کلاس به صورت خودکار توسط لایبرری Output لود میشود. نحوه فعالسازی پروفایلر در ادامه نشان داده شده است.
فعالسازی پروفایلر
برای فعالسازی پروفایلر، خط زیر را در جایی داخل متد کنترلر خود قرار دهید:
$this->output->enable_profiler(TRUE);
اگر این قابلیت فعال باشد، یک رپورت تولید خواهد شد و در پایین صفحات نمایش داده خواهد شد.
برای غیرفعال کردن پروفایلر، از دستور زیر استفاده کنید:
$this->output->enable_profiler(FALSE);
تنظیمات پوینتهای بنچمارک
به منظور اینکه پروفایلر، دادههای بنچمارک را کامپایل کرده و نمایش دهد، باید مارک پوینتها (mark points) را با استفاده از سینتکس مشخصی نامگذاری کنید.
اطلاعات بیشتر درباره تنظیمات پوینتهای بنچمارک را در صفحه لایبرری بنچمارک مطالعه کنید.
فعالسازی و غیرفعالسازی بخشهای مختلف پروفایلر
هر بخش از دادههای پروفایلر، با TRUE
یا FALSE
قرار دادن مقدار اندیس متناظری در آرایه config
میتواند فعال یا غیرفعال شود. این کار به دو روش قابل انجام است. در روش اول میتوانید با تغییر مقادیر پیشفرض فایل config در application/config/profiler.php این کار را انجام دهید.
مثال:
$config['config'] = FALSE;
$config['queries'] = FALSE;
با فراخوانی متد set_profiler_sections()
از لایبرری Output در کنترلر خود، میتوانید مقادیر فایل config و مقادیر پیشفرض را بازنویسی کنید.
$sections = array(
'config' => TRUE,
'queries' => TRUE
);
$this->output->set_profiler_sections($sections);
بخشهای در دسترس و کلیدهای آرایهای که برای دسترسی به آنها استفاده میشود، در جدول زیر توضیح داده شده است.
کلید | توضیح | مقدار پیشفرض |
---|---|---|
benchmarks | زمان سپری شده برای پوینتهای بنچمارک و زمان کلی اجرا | TRUE |
config | آرایه کانفیگ کدایگنایتر | TRUE |
controller_info | کلاس و متد کنترلر فراخوانی شده در پاسخ ریکوئست | TRUE |
get | هر داده ارسال شدهای با متد GET به ریکوئست | TRUE |
http_headers | هدرهای HTTP برای ریکوئست جاری | TRUE |
memory_usage | مقدار مموری مصرف شده توسط ریکوئست جاری، برحسب بایت | TRUE |
post | هر داده ارسال شدهای با متد POST به ریکوئست | TRUE |
queries | لیست تمامی کوئریهای اجرا شده و زمان اجرای آنها | TRUE |
uri_string | URI ریکوئست جاری | TRUE |
session_data | دادههای ذخیره شده در سشن جاری | TRUE |
query_toggle_count | تعداد کوئریها که بعد از آن، بلاک کوئری به صورت پیشفرض مخفی میشود. | 25 |
توجه
غیرفعالسازی save_queries در کانفیگ دیتابیس، قابلیت پروفایلینگ برای کوئریهای دیتابیس غیرفعال میشود و تنظیمات کلید queries در جدول بالا، هیچ فایده و کارایی ندارد. در صورت تمایل میتوانید با $this->db->save_queries = TRUE;
این تنظیمات را بازنویسی کنید. بدون این تنظیمات، قادر به مشاهده کوئریها یا مقدار بازگشتی فانکشن last_queries هلپر <database/helpers> نخواهید بود.
سایر پستهای داکیومنت
- به کدایگنایتر خوش آمدید
- نصب
- بررسی اجمالی
- شروع به استفاده از کدایگنایتر
- کدایگنایتر در یک نگاه
- فیچرهای کدایگنایتر
- فلوچارت اپلیکیشن
- مدل ویو کنترلر
- اهداف طراحی و معماری
- خودآموز
- مشارکت در کدایگنایتر
- نوشتن مستندات کدایگنایتر در صف ترجمه
- گواهی مبدأ توسعه دهنده 1.1 در صف ترجمه
- مباحث کلی
- URLها در کدایگنایتر
- کنترلرها
- نامهای رزرو شده
- ویوها
- مدلها
- هلپرفانکشنها
- استفاده از لایبرریهای کدایگنایتر
- ساخت لایبرری
- استفاده از درایورهای کدایگنایتر
- ساخت درایور
- ساخت کلاسهای هسته سیستم
- ساخت کلاسهای کمکی
- هوکها - توسعه هسته فریمورک
- بارگذاری خودکار ریسورسها
- فانکشنهای عمومی
- فانکشنهای سازگاری
- مسیریابی URI
- هندل کردن خطاها
- کش کردن صفحات وب
- ارزیابی و تجزیه و تحلیل عملکرد اپلیکیشن
- اجرای کدایگنایتر به وسیله خط فرمان
- مدیریت چندین اپلیکیشن
- هندل کردن محیطهای چندگانه
- سینتکس جایگزین PHP برای فایلهای ویو
- Security در صف ترجمه
- راهنمای کدنویسی در PHP
- لایبرریها در صف ترجمه
- کلاس بنچمارک
- درایور کش در صف ترجمه
- Calendaring Class در صف ترجمه
- Shopping Cart Class در صف ترجمه
- Config Class در صف ترجمه
- Email Class در صف ترجمه
- Encrypt Class در صف ترجمه
- Encryption Library در صف ترجمه
- File Uploading Class در صف ترجمه
- Form Validation در صف ترجمه
- FTP Class در صف ترجمه
- Image Manipulation Class در صف ترجمه
- Image Manipulation Class در صف ترجمه
- Javascript Class در صف ترجمه
- کلاس زبان
- Loader Class در صف ترجمه
- کلاس مایگریشن
- Output Class در صف ترجمه
- Pagination Class در صف ترجمه
- Template Parser Class در صف ترجمه
- Security Class در صف ترجمه
- Session Library در صف ترجمه
- HTML Table Class در صف ترجمه
- Trackback Class در صف ترجمه
- کلاس تایپوگرافی در صف ترجمه
- Unit Testing Class در صف ترجمه
- URI Class در صف ترجمه
- User Agent Class در صف ترجمه
- XML-RPC and XML-RPC Server Classes در صف ترجمه
- کلاس انکود کردن آرشیو Zip در صف ترجمه
- رفرنس دیتابیس در صف ترجمه
- شروع سریع دیتابیس: کد نمونه
- پیکربندی دیتابیس در صف ترجمه
- Connecting to your Database در صف ترجمه
- Queries در صف ترجمه
- Generating Query Results در صف ترجمه
- Query Helper Methods در صف ترجمه
- Query Builder Class در صف ترجمه
- Transactions در صف ترجمه
- Database Metadata در صف ترجمه
- فراخوانی سفارشی فانکشن
- Database Caching Class در صف ترجمه
- Database Forge Class در صف ترجمه
- Database Utility Class در صف ترجمه
- DB Driver Reference در صف ترجمه
- هلپرفانکشنها
- هلپرفانکشن Array
- هلپرفانکشن CAPTCHA در صف ترجمه
- هلپرفانکشن Cookie
- Date Helper در صف ترجمه
- هلپرفانکشن Directory
- Download Helper در صف ترجمه
- Email Helper در صف ترجمه
- File Helper در صف ترجمه
- هلپرفانکشن Form در صف ترجمه
- HTML Helper در صف ترجمه
- Inflector Helper در صف ترجمه
- هلپرفانکشن Language
- هلپرفانکشن Number
- Path Helper در صف ترجمه
- Security Helper در صف ترجمه
- Smiley Helper در صف ترجمه
- هلپرفانکشن String
- Text Helper در صف ترجمه
- Typography Helper در صف ترجمه
- URL Helper در صف ترجمه
- XML Helper در صف ترجمه