phalcon: Profiling分析 profilter / Plugin结合,dispatcher调度控制器 监听sql执行日志
个人觉得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执行日志相关推荐
- phalcon: eventManager事件管理(结合dispatcher调度控制器)制作简单的acl
制作简单的acl, dispatcher(专门用来加载或调度或跳转到相应的url地址即XXXcontroller的调度器或控制器,能够在controller执行前对controller进行停止跳转等) ...
- 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包
浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...
- ②、iOS-RAC-核心类分析-RACPassthroughSubscriber订阅者-RACScheduler调度者-RACDisposable销毁者-RACObseve监听者-RACSubject
iOS RAC系列 ①.iOS-RAC的开发用法-底层分析以及总结 ②.iOS-RAC-核心类分析-RACPassthroughSubscriber订阅者-RACScheduler调度者-RACDis ...
- mysql如何分析sql执行效率和进行效率优化
[0]如何分析mysql中sql执行较慢的问题 步骤1.观察,至少跑一天,看看生产的慢sql情况: 步骤2.开启慢查询日志,设置阈值,比如超过5秒钟就是慢sql, 并将它抓取出来: 步骤3.expla ...
- mybatis一个方法执行多条sql_精尽MyBatis源码分析——SQL执行过程之Executor!
MyBatis的SQL执行过程 在前面一系列的文档中,我已经分析了 MyBatis 的基础支持层以及整个的初始化过程,此时 MyBatis 已经处于就绪状态了,等待使用者发号施令了 那么接下来我们来看 ...
- 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 ...
- 《Linux内核分析》 第八节 进程的切换和一般的执行过程
张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 第八 ...
- [pig4cloud框架源码分析] 03 - MyBatis中的sql语句日志打印
文章目录 导读 pig4cloud框架配置 Mybatis Log Plugin 插件开启方式 插件说明 [TODO]源码分析 拦截器方案实现sql日志查看 参考资料 导读 使用MyBatis开发过程 ...
- Android中Preference的使用以及监听事件分析
...
最新文章
- android relativelayout 点击事件,Android Relativelayout点击背景行为
- 超融合与传统架构真正的区别在哪?
- Redis的过期机制
- python数据应用场景_python应用场景
- pyautogui的两天坑moveto图像识别
- 华为 MATE7 调试 LOCAT 日志不输出问题
- Amazing!在线浏览 Stata Journal 单篇论文 (2001-2019)
- PicGo+Gitee(码云)搭建个人博客的免费图床
- Linux提示 /usr/bin/ld:cannot find-lxxx 系列解决方法
- 我们的管理:创新产品研发管理
- python画简单花的代码_Python竟能画这么漂亮的花,帅呆了(代码分享)
- 图片 滚动 放大缩小 旋转
- 利用VML标记语言画图、动画制作
- QML Tumbler使用介绍
- c 语言头文件seqlsit,2020-10-24 RNAseq 从fq开始分析全流程
- 收支科目不为零_期间损益结转余额为零能结账吗
- 使自己一整天精力充沛的12个秘诀
- 行车记录仪 - 碰撞检测
- 树莓派的系统安装及分辨率设置
- Transition飞行汽车来了,采用电力驱动且可陆空两用
热门文章
- OpenMV(五)--STM32实现人脸识别
- CVPR2013一些论文集合供下载(visual tracking相关)
- base-64 字符串中的无效字符。_查找字符串中连续不重复最长字符串和长度的方法...
- html表格怎么设置浮动,html – 表格布局和浮动左和引导网格
- 6-2 有序数组的插入 (20分)
- Javascript异步操作的异常处理
- 【转载】图片 CSS:怎样才能 “响应式 + 固定宽高比例”?
- 天天爱跑步——树上差分
- Spring Boot log4j多环境日志级别的控制
- jQuery学习笔记(五)