worksome/horizon-telemetry

用于 Laravel Horizon 和队列的 Opentelemetry 实现

v0.7.0 2024-07-25 10:48 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Static Analysis Action Status Total Downloads

此包通过使用 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