kanti/server-timing

显示数据库和HTTP调用的时序(发送到Sentry)

安装次数: 17,009

依赖: 0

建议者: 0

安全: 0

星标: 11

关注者: 2

分支: 1

开放问题: 2

类型:typo3-cms-extension

1.11.4 2024-09-20 14:20 UTC

README

Server-Timing

安装

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调用使用官方TYPO3 RequestFactoryGuzzleClientFactory,则进行度量

如果度量键有超过4个条目,它们将合并成一个包含计数的总时间,并保留3个最长的条目

Sentry 跟踪

如果您启用了Sentry(不同的扩展,例如 pluswerk/sentrynetworkteam/sentry-client),则可以激活跟踪。

  • sentry_sample_rate
    • 如果为空 ,则保留sentry扩展设置的设置。
    • 如果设置为数字,例如 0.1,则将跟踪sentry中10%的所有请求。
  • sentry_cli_sample_rate
    • 类似于 sentry_sample_rate,但此设置适用于 typo3 二进制文件的cli调用
  • stop_watch_limit 用于长时间运行的进程,如果遇到内存问题,您可以降低此设置。(默认:100_000)
  • 您可以通过添加具有任何值的Cookie XDEBUG_TRACE 来强制请求的跟踪。
    Tracing

测量自己的时序

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?)

想要的

  • 功能测试

想要拥有的?

  • 视图助手