worksome / horizon-telemetry
用于 Laravel Horizon 和队列的 Opentelemetry 实现
Requires
- php: ^8.2
- illuminate/contracts: ^10.0 || ^11.0
- laravel/horizon: ^5.22.1
- open-telemetry/api: ^1.0
- worksome/laravel-telemetry: ^0.5
Requires (Dev)
- larastan/larastan: ^2.8
- nunomaduro/collision: ^7.10 || ^8.1
- orchestra/testbench: ^8.15 || ^9.0
- pestphp/pest: ^2.33
- worksome/coding-style: ^2.8
README
此包通过使用 Horizon 添加了对在队列中创建各种矩阵的支持。
此包需要调度器正在运行,因为它正在添加新的计划命令。
安装
您可以通过 composer 安装此包
composer require worksome/horizon-telemetry
用法
度量
CurrentMasterSupervisorsMetric
CurrentMasterSupervisorsMetric
将注册当前的主管理器的数量。
该度量将在名称 horizon_current_master_supervisors
下注册。
此操作的默认计划是每 10 分钟一次 (*/10 * * * *
),要配置此计划,请将 MeterName::CurrentMasterSupervisors->value
添加到您的 telemetry.php
配置文件中的 horizon
键下。
CurrentProcessesMetric
CurrentProcessesMetric
将注册每个队列中的当前进程数量。
这些度量将在名称 horizon_current_processes.<queue_name>
下注册。
此操作的默认计划是每 10 分钟一次 (*/10 * * * *
),要配置此计划,请将 MeterName::CurrentProcesses->value
添加到您的 telemetry.php
配置文件中的 horizon
键下。
CurrentJobsMetric
CurrentJobsMetric
将注册每个队列中的当前作业数量。
这些度量将在名称 horizon_current_jobs.<queue_name>
下注册。
此操作的默认计划是每 10 分钟一次 (*/10 * * * *
),要配置此计划,请将 MeterName::CurrentJobs->value
添加到您的 telemetry.php
配置文件中的 horizon
键下。
事件监听器
FailedJobsListener
FailedJobsListener
监听器将创建一个可观察的计数器,每次作业失败时都会增加。此度量将在名称 horizon_failed_jobs
下注册。
此操作的默认计划是 true
,要禁用此事件监听器,请将 MeterName::FailedJobs->value => false
添加到您的 telemetry.php
配置文件中的 horizon
键下。
ProcessedJobsListener
ProcessedJobsListener
监听器将创建一个可观察的计数器,每次作业处理时都会增加。此度量将在名称 horizon_processed_jobs
下注册。
此操作的默认计划是 true
,要禁用此事件监听器,请将 MeterName::ProcessedJobs->value => false
添加到您的 telemetry.php
配置文件中的 horizon
键下。
ProcessedJobsPeakMemoryUsageListener
ProcessedJobsPeakMemoryUsageListener
监听器将在每次作业处理时创建一个关于峰值内存使用的直方图。此度量将在名称 horizon_processed_jobs_peak_memory_usage
下注册。
实际上注册了两个监听器,次要监听器是 ProcessedJobsPeakMemoryUsagePreparationListener
,它将在作业开始前清理峰值内存使用,因此对于长时间运行的队列工作者,我们得到正确的数字。
此操作的默认计划是 true
,要禁用此事件监听器,请将 MeterName::ProcessedJobsPeakMemoryUsage->value => false
添加到您的 telemetry.php
配置文件中的 horizon
键下。
测试
composer test