kanti / server-timing
显示数据库和HTTP调用的时序(发送到Sentry)
1.11.4
2024-09-20 14:20 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- composer-runtime-api: ^2.0.0
- typo3/cms-core: ^11.0 || ^12.0 || ^13.0
- typo3/cms-extbase: ^11.0 || ^12.0 || ^13.0
Requires (Dev)
- infection/infection: ^0.26.13 || ^0.27.11
- phpstan/extension-installer: ^1.1
- phpunit/phpunit: ^10 || ^11
- pluswerk/grumphp-config: ^7
- saschaegerer/phpstan-typo3: ^1.10.1
- sentry/sdk: ^3.5
- ssch/typo3-rector: ^2.6.4
- typo3/cms-adminpanel: ^11.0 || ^12.0 || ^13.0
README
安装
composer require kanti/server-timing
目前没有配置项
对于未登录后端的用户,在生产环境中不会显示服务器时序
包含的度量
php
:从PHP调用开始到注册关闭函数console.command
:从控制台命令调用开始middleware.in
:将显示在中间件中准备请求所花费的时间middleware.out
:将显示在中间件中更改响应所花费的时间db
:显示SQL查询mail
:显示发送的邮件(仅限TYPO3 >= 12)dataP
:显示执行的数据处理器extbase
:显示所有Extbase调度,包括原始动作调用中的转发fileProcessing
:显示所有文件处理调用http.client
:如果外部API调用使用官方TYPO3RequestFactory
或GuzzleClientFactory
,则进行度量
如果度量键有超过4个条目,它们将合并成一个包含计数的总时间,并保留3个最长的条目
Sentry 跟踪
如果您启用了Sentry(不同的扩展,例如 pluswerk/sentry
或 networkteam/sentry-client
),则可以激活跟踪。
sentry_sample_rate
- 如果为空
- 如果设置为数字,例如
0.1
,则将跟踪sentry中10%的所有请求。
- 如果为空
sentry_cli_sample_rate
- 类似于
sentry_sample_rate
,但此设置适用于typo3
二进制文件的cli调用
- 类似于
stop_watch_limit
用于长时间运行的进程,如果遇到内存问题,您可以降低此设置。(默认:100_000)- 您可以通过添加具有任何值的Cookie
XDEBUG_TRACE
来强制请求的跟踪。
测量自己的时序
stopWatch
函数(推荐)
$stop = \Kanti\ServerTiming\Utility\TimingUtility::stopWatch('doSomething', 'additional Information'); $result = $this->doSomethingExpensive(); $stop();
start
& stop
函数
这有一些限制,一次只能有一个
doSomething
。
\Kanti\ServerTiming\Utility\TimingUtility::start('doSomething', 'additional Information'); $result = $this->doSomethingExpensive(); \Kanti\ServerTiming\Utility\TimingUtility::end('doSomething');
待办事项列表
todos
- 更多测试
是否需要composer补丁?
- Fluid 渲染(可能的解决方案是XClasses?)
想要的
- 功能测试
想要拥有的?
- 视图助手