逐行分析 Python 函数耗时的性能剖析工具,可定位函数中每一行代码的执行时间。
- Star
- 5,947
- Fork
- 332
- 未关闭 Issue
- 39
- 最近提交
- 2个月前
这是什么?
Clockwork 是一款面向 PHP 的开发调试工具,可以在运行时观察应用的执行情况。它会收集 HTTP 请求、Artisan 命令、队列任务和测试中的请求数据、性能指标、日志、数据库查询、缓存与 Redis 命令、触发的事件以及渲染的视图。
本仓库是 Clockwork 的服务端组件,通过 Composer 安装,在应用运行时采集数据。采集到的数据可以通过内置的 `/clockwork` 页面、Chrome 或 Firefox 浏览器扩展,或客户端工具栏查看。采集范围可以限定为按需采集、仅记录 4xx/5xx 错误、仅记录慢请求,也可以用自定义闭包过滤请求。
开发者可以用 `clock()` 辅助函数记录任意变量,该函数返回第一个参数,便于内联调试。时间线 API 可以标记代码段并查看其耗时。
核心功能
- 01收集请求、数据库与缓存查询、Redis 命令、日志、事件、任务和视图等数据。
- 02支持 HTTP 请求、Artisan 命令、队列任务和测试。
- 03可通过内置页面、浏览器扩展或工具栏查看数据。
- 04提供按需采集、仅错误、仅慢请求等可配置的采集模式。
- 05使用 clock() 辅助函数输出变量,使用时间线 API 标记代码耗时。
- 06可检测重复的 N+1 数据库查询,并记录调用栈。
适用场景
- 在开发阶段排查 Laravel 应用的数据库查询和性能问题。
- 在没有浏览器调试器的情况下,检查移动端或前端发出的 API 请求。
- 分析队列任务和 Artisan 命令的耗时分布。
- 在排查 PHP 代码缺陷时,内联输出变量内容。
快速上手
- 1
使用 Composer 安装库
composer require itsgoingd/clockwork - 2
发布配置文件以启用更多功能(Laravel)
php artisan vendor:publish --provider="Clockwork\Support\Laravel\ClockworkServiceProvider" - 3
在应用中打开 /clockwork 路由查看收集的数据
使用前须知
- 默认情况下,Clockwork 仅在调试模式下启用。
- 本仓库仅为服务端组件;查看数据还需要浏览器扩展或内置的 /clockwork 界面。
- 其功能在 Laravel 应用中支持最完善。
收录于专题
标签
常见问题
- clockwork 是什么?
- 一款 PHP 开发调试工具,在浏览器中展示请求、数据库查询、日志、时间线等运行时信息,主要用于 Laravel 应用。 Clockwork 是一款面向 PHP 的开发调试工具,可以在运行时观察应用的执行情况。它会收集 HTTP 请求、Artisan 命令、队列任务和测试中的请求数据、性能指标、日志、数据库查询、缓存与 Redis 命令、触发的事件以及渲染的视图。
- clockwork 可以免费使用吗?用的什么许可证?
- clockwork 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- clockwork 还在维护吗?
- 半年内有更新。clockwork 最近一次提交是在 2026年8月29日。
- clockwork 适合用来做什么?
- 在开发阶段排查 Laravel 应用的数据库查询和性能问题。 在没有浏览器调试器的情况下,检查移动端或前端发出的 API 请求。 分析队列任务和 Artisan 命令的耗时分布。 在排查 PHP 代码缺陷时,内联输出变量内容。
- clockwork 怎么安装和运行?
- 使用 Composer 安装库: composer require itsgoingd/clockwork 发布配置文件以启用更多功能(Laravel): php artisan vendor:publish --provider="Clockwork\Support\Laravel\ClockworkServiceProvider" 在应用中打开 /clockwork 路由查看收集的数据
- 在哪里获取 clockwork?
- 源代码和安装说明在 GitHub 上:https://github.com/itsgoingd/clockwork
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3252+2 本周143PythonOther维护活跃更新于 19天前
一款低开销的 Python 追踪工具,将代码执行过程记录并以交互式时间线可视化。
7775+6 本周480PythonApache-2.0更新于 上个月
一款 Python 程序采样性能分析器,无需修改代码或重启程序即可附加到运行中的进程。
1.6万+12 本周560RustMIT更新于 16小时前
面向 Python 的内存分析器,可追踪 Python 代码、原生扩展及解释器自身的内存分配,并生成多种报告。
1.5万+12 本周486PythonApache-2.0维护活跃更新于 3天前
用于可视化和分析 profile.proto 格式性能剖析数据的命令行与 Web 工具。
9323686GoApache-2.0维护活跃更新于 前天
为 Django 提供可配置面板,在浏览器中展示每次请求与响应的调试信息。
8379+1 本周1122PythonBSD-3-Clause更新于 4天前