定制 iqlearning/pulse 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

iqlearning/pulse

最新稳定版本:v0.3.4

Composer 安装命令:

composer require iqlearning/pulse

包简介

Code Igniter 4 package for monitoring application health and performance. Porting from Laravel to Code Igniter 4 framework. Kudos to Laravel community for the original package.

README 文档

README

CodeIgniter 4 package for monitoring application health and performance. This is a port of Laravel Pulse to the CodeIgniter 4 framework.

Requirements

  • PHP 7.4+
  • CodeIgniter 4.0+

Installation

  1. Install via Composer:

    composer require iqlearning/pulse
  2. Run Migrations:

    Run the migrations to create the necessary tables (pulse_entries, pulse_values, pulse_aggregates).

    php spark migrate -n Iqlearning\Pulse

Configuration

1. Routes

Add the Pulse routes to your app/Config/Routes.php file (or a specific route group).

// app/Config/Routes.php

$routes->group('pulse', ['namespace' => 'CodeIgniter\Controllers'], function($routes) {
    $routes->get('/', 'PulseController::index');
    $routes->get('check', 'PulseController::check'); // For Scheduled Tasks / Cron
    $routes->get('stats', 'PulseController::stats'); // Dashboard Data
});

Note: Make sure the namespace matches where PulseController is located (currently CodeIgniter\Controllers).

2. Filters (Middleware)

To record request times and system stats during requests, enable the filter. The package registers the pulse alias automatically.

Add it to your app/Config/Filters.php:

public $globals = [
    'before' => [
        // ...
    ],
    'after' => [
        'pulse' => ['except' => ['pulse/*']], // Exclude pulse own routes
        // ...
    ],
];

3. Environment Variables

You can configure the data retention policy in your .env file:

# Data retention in days (default: 1)
pulse.metricsTTL = 1

Usage

Dashboard

Visit /pulse in your browser to view the dashboard.

Scheduled Recording

To capture system stats (CPU, Memory) and perform cleanup of old data, you should set up a cron job or scheduled task to call the check endpoint periodically (e.g., every minute).

Via crontab:

* * * * * /path/to/php /path/to/project/public/index.php pulse/check

Or via URL:

* * * * * curl http://your-domain.com/pulse/check

Monitoring Features

  • System Stats: CPU and Memory usage monitoring (Server support: Windows via wmic, limited Linux support).
  • Slow Requests: Tracks requests taking longer than 1 second.
  • Slow Queries: Tracks database queries taking longer than 50ms.
  • Exceptions: Logs application exceptions with stack traces.
  • Request Duration: detailed breakdown of request performance.

License

MIT License.

统计信息

  • 总下载量: 11
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固