个人觉得profilter 跟 logger 功能差不多,logger的功能在于写入,profilter功能在于sql后及时显示分析。都是对sql执行的的分析:一个是写入log文件,一个是直接在页面展示。

下面看例子,

public/index.php:

$di->set('profiler', function(){return new \Phalcon\Db\Profiler();}, true);$di['db'] = function() use($di){       //profile$eventManager = new \Phalcon\Events\Manager();$profiler = new ProfilerEManger();$eventManager->attach('db', $profiler);$db = new DbAdapter(array("host"     => "localhost","username" => "root","password" => "","dbname"   => "demo","charset"  => "utf8"));$db->setEventsManager($eventManager);return $db;};

  

app\plugins\ProfilerEManger.php

use \Phalcon\Mvc\User\Plugin;class ProfilerEManger extends Plugin {public function beforeQuery(){// var_dump($this->db->getSqlStatement());exit;$this->profiler->startProfile($this->db->getSqlStatement());}public function afterQuery(){$this->profiler->stopProfile();}}

  

ProfilerController.php
class ProfilerController extends \Phalcon\Mvc\Controller {public function indexAction(){$users = array();$use = \Users::findFirst("id = 1");if($use){$users = $use->toArray();}var_dump($users);$profile = $this->profiler->getLastProfile();var_dump($profile);}}

  


phalcon: Profiling分析 profilter / Plugin结合,dispatcher调度控制器 监听sql执行日志相关推荐

  1. phalcon: eventManager事件管理(结合dispatcher调度控制器)制作简单的acl

    制作简单的acl, dispatcher(专门用来加载或调度或跳转到相应的url地址即XXXcontroller的调度器或控制器,能够在controller执行前对controller进行停止跳转等) ...

  2. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

  3. ②、iOS-RAC-核心类分析-RACPassthroughSubscriber订阅者-RACScheduler调度者-RACDisposable销毁者-RACObseve监听者-RACSubject

    iOS RAC系列 ①.iOS-RAC的开发用法-底层分析以及总结 ②.iOS-RAC-核心类分析-RACPassthroughSubscriber订阅者-RACScheduler调度者-RACDis ...

  4. mysql如何分析sql执行效率和进行效率优化

    [0]如何分析mysql中sql执行较慢的问题 步骤1.观察,至少跑一天,看看生产的慢sql情况: 步骤2.开启慢查询日志,设置阈值,比如超过5秒钟就是慢sql, 并将它抓取出来: 步骤3.expla ...

  5. mybatis一个方法执行多条sql_精尽MyBatis源码分析——SQL执行过程之Executor!

    MyBatis的SQL执行过程 在前面一系列的文档中,我已经分析了 MyBatis 的基础支持层以及整个的初始化过程,此时 MyBatis 已经处于就绪状态了,等待使用者发号施令了 那么接下来我们来看 ...

  6. MySQL 进阶 索引 -- SQL性能分析(SQL执行频率:查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次、慢查询日志、 profile详情、explain)

    文章目录 1. SQL性能分析 1.1 SQL执行频率(可以查看当前数据库SQL的访问频次) 1.2 慢查询日志(可以记录用时较长的SQL) 1.2.1 开启慢查询日志 1.2.2 慢查询日志测试 1 ...

  7. 《Linux内核分析》 第八节 进程的切换和一般的执行过程

    张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 第八 ...

  8. [pig4cloud框架源码分析] 03 - MyBatis中的sql语句日志打印

    文章目录 导读 pig4cloud框架配置 Mybatis Log Plugin 插件开启方式 插件说明 [TODO]源码分析 拦截器方案实现sql日志查看 参考资料 导读 使用MyBatis开发过程 ...

  9. Android中Preference的使用以及监听事件分析

                                                                                                        ...

最新文章

  1. android relativelayout 点击事件,Android Relativelayout点击背景行为
  2. 超融合与传统架构真正的区别在哪?
  3. Redis的过期机制
  4. python数据应用场景_python应用场景
  5. pyautogui的两天坑moveto图像识别
  6. 华为 MATE7 调试 LOCAT 日志不输出问题
  7. Amazing!在线浏览 Stata Journal 单篇论文 (2001-2019)
  8. PicGo+Gitee(码云)搭建个人博客的免费图床
  9. Linux提示 /usr/bin/ld:cannot find-lxxx 系列解决方法
  10. 我们的管理:创新产品研发管理
  11. python画简单花的代码_Python竟能画这么漂亮的花,帅呆了(代码分享)
  12. 图片 滚动 放大缩小 旋转
  13. 利用VML标记语言画图、动画制作
  14. QML Tumbler使用介绍
  15. c 语言头文件seqlsit,2020-10-24 RNAseq 从fq开始分析全流程
  16. 收支科目不为零_期间损益结转余额为零能结账吗
  17. 使自己一整天精力充沛的12个秘诀
  18. 行车记录仪 - 碰撞检测
  19. 树莓派的系统安装及分辨率设置
  20. Transition飞行汽车来了,采用电力驱动且可陆空两用

热门文章

  1. OpenMV(五)--STM32实现人脸识别
  2. CVPR2013一些论文集合供下载(visual tracking相关)
  3. base-64 字符串中的无效字符。_查找字符串中连续不重复最长字符串和长度的方法...
  4. html表格怎么设置浮动,html – 表格布局和浮动左和引导网格
  5. 6-2 有序数组的插入 (20分)
  6. Javascript异步操作的异常处理
  7. 【转载】图片 CSS:怎样才能 “响应式 + 固定宽高比例”?
  8. 天天爱跑步——树上差分
  9. Spring Boot log4j多环境日志级别的控制
  10. jQuery学习笔记(五)