宣布 Laravel Pulse - Laravel 应用的新性能监控工具

发布日期:作者:

Laravel Pulse 是一款全新的免费开源性能监控和洞察工具,适用于 Laravel 应用程序。它由 Laravel 核心团队的 Jess Archer 在 Laracon AU 2023 上宣布。

什么是 Laravel Pulse?

Laravel Pulse 为您的 Laravel 应用程序提供 **性能数据聚合视图**。它跟踪以下指标:

  • 系统统计信息(CPU、内存、存储使用情况)
  • 应用程序使用情况(请求、慢速路由、作业等)
  • 队列吞吐量
  • 慢速作业
  • 慢速查询
  • 异常
  • 缓存命中率/未命中率
  • 传出请求时间

Pulse 是专门为 Laravel 设计的,它了解所有核心组件,例如队列、事件、邮件、通知、缓存等等。

它收集显示有用见解所需的最少数据量。数据保存在本地,因此您可以完全控制。

Laravel Pulse 是 **自托管的**,并且可以在 Laravel 运行的任何地方使用 - VPS、Laravel Forge、Vapor 等等。它具有响应式 UI,并提供浅色和深色模式。

最棒的是,它是完全 **免费和开源的**!感谢 Taylor Otwell 使这一切成为可能。

Pulse 与 Telescope 的比较

有些人可能想知道 Pulse 与 Laravel Telescope(另一个 Laravel 调试工具)相比如何。

Telescope 非常适合 **本地开发**,因为它记录了大量请求数据,例如所有查询和事件。但这种高度的细节使其不太适合生产环境。

Laravel Pulse 提供 **高级聚合数据**,因此它轻巧且适合生产环境。它不会取代错误跟踪器,而是很好地补充了它们。

交互式现场演示

Laracon AU 上,Jess Archer 使用观众的手机对 Laravel Pulse 进行了交互式现场演示!

观众充当一家名为 Acme Airlines 的虚拟航空公司的航班管理员。他们可以执行以下操作:

  • 销售机票
  • 提高价格
  • 延误航班
  • 取消航班

同时,Jess 展示了 Laravel Pulse 如何在仪表盘上实时跟踪这些操作。

以下是部分亮点回顾

应用程序使用情况

**应用程序使用情况** 卡片显示

  • 按请求数排名的热门用户
  • 按慢速端点排名的热门用户
  • 按排队作业排名的热门用户

这可以深入了解谁在使用您的应用程序以及他们遇到的任何性能问题。

慢速路由

**慢速路由** 卡片显示超过配置阈值(默认值为 1 秒)的任何应用程序路由。

它显示路由名称和操作方法,以便您可以准确找出慢速代码。

慢速作业

**慢速作业** 卡片类似,显示超过阈值的排队作业。它显示作业类名称和位置。

重试的失败作业会每次递增计数,因此您可以发现有问题的作业。

慢速查询

**慢速查询** 卡片显示超过阈值的查询。它仅显示没有绑定项的 SQL,因此它

  • 混淆 PII
  • 将相同的查询聚合到一个结果中
  • 显示查询发生的代码文件位置

您可以选择禁用位置以进一步聚合结果。

异常

**异常** 卡片跟踪抛出的异常,包括位置、计数和最后一次出现。

您还可以按最近的异常排序。

缓存

**缓存** 卡片跟踪缓存密钥的使用情况,以及缓存的命中率和未命中率。

它不会对您的密钥进行任何假设,但允许您重新组合和汇总收集的数据,如果您需要更通用的数据视图。

传出请求

Laravel 的 HTTP 客户端使用情况在 **传出请求** 中跟踪。您可以看到您的应用程序进行的慢速外部请求。

演示使用配置文件中的正则表达式将唯一的 URL 压缩成一个通用的域名,类似于缓存数据。

自定义您的仪表盘

Pulse blade 文件可以发布和自定义。例如,您可以

  • 切换全宽模式
  • 调整列数
  • 设置卡片跨度和位置
  • 将卡片拆分成单独的部分

您还可以创建自己的自定义卡片来显示特定于业务的指标。演示包含一个“航班”卡片,显示售出的机票、收入、延误和最热门的销售人员。

性能注意事项

Pulse 收集最少的数据,并且可以处理繁重的生产工作负载。Larave Forge 为 **每天 200 万个请求** 运行它,无需任何采样。

默认情况下,Pulse 在发送响应后将请求数据保存到您的数据库。一些扩展选项

  • 使用专用 Pulse 数据库
  • 使用 Redis 摄取进行排队,并在请求循环之外保存
  • 在单独的服务器上运行 Pulse
  • 为高流量启用采样
  • 创建自定义数据驱动程序

何时可以使用 Pulse?

Laravel Pulse 预计将在下周左右发布。它将通过 `composer require` 提供。请关注官方发布!

结论

Laravel Pulse 为您提供 Laravel 应用程序的性能和使用情况的简单见解。它的可定制性和最小的开销使其成为任何 Laravel 项目的出色开源补充。

感谢整个 Laravel 团队为社区提供了另一个出色的免费工具!

Michael Dyrynda photo

父亲、Laravel 新闻播客联合主持人和 Laracon AU 组织者。

Cube

Laravel 新闻通讯

加入 40,000 多位其他开发者,不错过任何新的技巧、教程等等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成功能和对本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

没有妥协

Joel 和 Aaron,来自“No Compromises”播客的两位经验丰富的开发者,现已可以为您的 Laravel 项目聘用。 ⬧ 固定价格 $7500/月。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

没有妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版 Laravel 版本?即时、自动化的 Laravel 升级和代码现代化,让您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

每月只需 $2500,即可为您的项目配备经验丰富的 Laravel 开发人员,拥有 4-6 年的经验。获得 160 小时的专业知识和无风险的 15 天试用期。立即安排通话!

Bacancy
Lucky Media logo

Lucky Media

现在就试试 Lucky - Laravel 开发的理想选择,拥有超过十年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

Laravel 的电子商务。一个开源包,将现代无头电子商务功能的强大功能带到 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动套件

SaaSykit 是一个 Laravel SaaS 启动套件,它包含运行现代 SaaS 所需的所有功能。付款、漂亮的结账、管理面板、用户仪表板、身份验证、就绪组件、统计信息、博客、文档等等。

SaaSykit: Laravel SaaS 启动套件
Rector logo

Rector

您在无缝 Laravel 升级、降低成本和加速创新方面的合作伙伴,帮助成功公司。

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的零依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

在您的 Laravel 应用程序中添加 Swagger UI

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel Prompts 构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包在您的 Laravel 应用程序中添加评论

阅读文章