Skip to content

7.监控数据访问

awencheong edited this page Oct 15, 2016 · 4 revisions

监控数据访问

开发的时候,有时候我们需要查看一下项目所有执行的sql语句,这时候可以使用监控类。

<?php
class  UserController
{
    public function info()
    {
        $db = new Mysql();
        $db = Io("db0", $db);
        $data = $db->table("user")->query();
        ...
    }
}
<?php
//只监控table = "user" 的query() 函数, 包括输入输出
Io("db0")->table("user")
         ->query()
         ->watch()
         ->to("/path/of/monitor/user.log");

//监控所有 query() 函数, 只监控输入(即sql)
Io("db0")->query()
         ->watchInput()
         ->to("/path/of/monitor/all.log");

或者我们希望能够直观地看到Io中所有函数调用的耗时情况:

<?php
//监控所有挂载在Io中的数据接口的耗时, 将数据生成到指定目录下
AllIo()->watchCost()
       ->toMonitorPage()
curl "http://localhost/_monitor.html"

即可像下图一样直观地查看到所有的数据接口访问耗时

    !!!请补充图片!!!
Clone this wiki locally