intaro/pinba-bundle

收集并发送 Doctrine 查询、Twig 渲染和 Redis 请求的执行时间作为 pinba 服务器上的 pinba 计时器

安装次数: 482,613

依赖关系: 1

建议者: 0

安全性: 0

星星: 22

关注者: 10

分支: 15

开放问题: 3

类型:symfony-bundle

2.4.1 2024-06-18 16:03 UTC

README

CI

关于

PinbaBundle 是用于 pinba 的 Symfony 扩展包。

Important! Include this bundle only in `prod` environment.

它收集并发送 Doctrine 查询、Twig 渲染和 Redis 请求的执行时间到 pinba 服务器。您可以在 Intaro Pinboard 中实时查看收集的指标。输出示例

Pinba timers in Intaro Pinboard

此外,PinbaBundle 将 pinba 的 script_name 变量更改为 request_uri 的值,否则 pinba 将为请求发送 app.phpscript_name

安装

PinbaBundle 需要 Symfony 4.4 或更高版本。

composer.json 文件中要求该包

{
    "require": {
        "intaro/pinba-bundle": "^2.0",
    }
}

重要!prod 环境中注册该包

// app/AppKernel.php

public function registerBundles()
{
    $bundles = [
        //...
    ];

    if ('prod' === $this->environment) {
        $bundles[] = new Intaro\PinbaBundle\IntaroPinbaBundle();
    }

    //...
}

安装包

$ composer update intaro/pinba-bundle

用法

配置 script_name

PinbaBundle 自动配置 pinba 的 script_name 变量。

收集 Twig 指标

PinbaBundle 自动收集 Twig 渲染的指标。

收集 Doctrine 指标

编辑 app/config/config_prod.yml 并添加以下行

doctrine:
    dbal:
        logging: true

不用担心。此配置启用了 pinba 日志记录器,它只收集查询执行时间,但不记录日志。

开发

运行测试

安装依赖

make vendor

运行 php-cs-fixer, phpstan 和 phpunit

make check