搭了个 Laravel Pulse 在线 demo,欢迎体验

在线体验 Pulse 面板: pulse-demo.xuchunyang.cn/pulse

写了 Laravel Pulse 在线 demo,欢迎体验

下午试了试 Laravel Pulse 面板,顺便用 Forge 部署到了线上,为了能有东西监控,针对性地加了:

  • eloquent 数据库 (「用户管理」、「电影列表」)
  • 队列 (「测试 Queue 任务」)
  • 缓存 (「用户登录」)
  • 服务器端发起 http 请求 (「抓取网站 SEO」)

监听 Event 事件

Pulse 面板主要通过监听各种 Event 事件,获得各种数据。安装 Pulse 后,会发现增加了很多监听:

➜  pulse-demo git:(main) artisan event:list | grep -i -B 1 pulse
  Illuminate\Auth\Events\Logout .......................................
  ⇂ Closure at: /vendor/laravel/pulse/src/PulseServiceProvider.php:120
--
  Illuminate\Cache\Events\CacheHit ....................................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Cache\Events\CacheMissed .................................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Database\Events\QueryExecuted ............................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Queue\Events\JobFailed ...................................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Queue\Events\JobProcessed ................................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Queue\Events\JobProcessing ...............................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Queue\Events\JobQueued ...................................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
--
  Illuminate\Queue\Events\JobReleasedAfterException ...................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
  Illuminate\Queue\Events\Looping .....................................
  ⇂ Closure at: /vendor/laravel/pulse/src/PulseServiceProvider.php:129
  Illuminate\Queue\Events\WorkerStopping ..............................
  ⇂ Closure at: /vendor/laravel/pulse/src/PulseServiceProvider.php:129
  Laravel\Octane\Events\RequestReceived ...............................
  ⇂ Closure at: /vendor/laravel/pulse/src/PulseServiceProvider.php:152
--
  Laravel\Octane\Events\TaskReceived ..................................
  ⇂ Closure at: /vendor/laravel/pulse/src/PulseServiceProvider.php:152
  Laravel\Octane\Events\TickReceived ..................................
  ⇂ Closure at: /vendor/laravel/pulse/src/PulseServiceProvider.php:152
  Laravel\Pulse\Events\ExceptionReported ..............................
  ⇂ Closure at: /vendor/laravel/pulse/src/Recorders/Exceptions.php:40
  Laravel\Pulse\Events\SharedBeat .....................................
  ⇂ Closure at: /vendor/laravel/pulse/src/Pulse.php:123
➜  pulse-demo git:(main)

默认的采样率相当于是 100%,比如所有的 CacheHit 事件都会被一一记录,对于某些应用估计会影响性能,但我还没了解过自定义采样率。

服务器状态其实跟 Laravel 没多少关系,它也是单独实现的,在 Forge 上会让你开启一个 pulse:check 的后台 daemon,定期更新服务器信息。

搭了 Laravel Pulse 一个在线 demo,欢迎体验

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 10

主题发表之后,提示成功了,但是怎么找不到,自己的用户中心也没有,导致我以为没发表成功,又写了一遍,这才明白怎么回事儿。

1年前 评论

触发敏感词了,我给你审核了

1年前 评论
小李世界 (作者) 1年前
xuchunyang (楼主) 1年前

我开了公共访问,所以没有登录也能查看 Pulse 面板。Livewire 的作者在 Twitter 上表示,也在使用,我看下了 livewire.laravel.com/pulse 确实有,但是咱们看不到。

Twitter 上一些牛人也开发/在计划一些 Pulse 扩展,比如集成 Oh Dear,N+1 问题等,官网上的定制截图显示的是一个代码部署的集成,Forge 有 API 估计方便集成。这些都不是大的项目,相当于一个小插件,估计折腾起来不难,但需要会 Livewire,我还不会。

1年前 评论
CodingHePing

这是干嘛用的?

1年前 评论
xuchunyang (楼主) 1年前
CodingHePing (作者) 1年前

给 artisan about 命令做了一个卡片,直接把的 artisan about 命令的 JSON 结果渲染到了网页,用到了 Livewire 组件,会每 5s 刷新一次

file

1年前 评论
nff93

Laravel 的生态真是没有对手

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!