PHPackages                             iqlearning/pulse - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. iqlearning/pulse

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

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.

v0.3.4(5mo ago)011MITPHPPHP &gt;=7.4

Since Jan 13Pushed 5mo agoCompare

[ Source](https://github.com/iqlearning/ci-pulse)[ Packagist](https://packagist.org/packages/iqlearning/pulse)[ RSS](/packages/iqlearning-pulse/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

CI Pulse
========

[](#ci-pulse)

CodeIgniter 4 package for monitoring application health and performance. This is a port of [Laravel Pulse](https://pulse.laravel.com/) to the CodeIgniter 4 framework.

Requirements
------------

[](#requirements)

- PHP 7.4+
- CodeIgniter 4.0+

Installation
------------

[](#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
-------------

[](#configuration)

### 1. Routes

[](#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)

[](#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

[](#3-environment-variables)

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

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

Usage
-----

[](#usage)

### Dashboard

[](#dashboard)

Visit `/pulse` in your browser to view the dashboard.

### Scheduled Recording

[](#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
-------------------

[](#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
-------

[](#license)

MIT License.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance70

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

172d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/253889891?v=4)[iqlearning](/maintainers/iqlearning)[@iqlearning](https://github.com/iqlearning)

---

Top Contributors

[![iqlearning](https://avatars.githubusercontent.com/u/253889891?v=4)](https://github.com/iqlearning "iqlearning (15 commits)")

### Embed Badge

![Health badge](/badges/iqlearning-pulse/health.svg)

```
[![Health](https://phpackages.com/badges/iqlearning-pulse/health.svg)](https://phpackages.com/packages/iqlearning-pulse)
```

###  Alternatives

[psr/log

Common interface for logging libraries

10.4k1.2B11.5k](/packages/psr-log)[codeigniter4/appstarter

CodeIgniter4 starter app

1791.8M](/packages/codeigniter4-appstarter)[open-telemetry/api

API for OpenTelemetry PHP.

1941.5M276](/packages/open-telemetry-api)[abydahana/aksara

Aksara is a CodeIgniter based CRUD Toolkit you can use to build complex applications become shorter, secure and more reliable just in a few lines of code. Serving both CMS or Framework, produce both HEADLESS (RESTful API) or TRADITIONAL (Browser Based), just by writing single controller. Yet it's reusable, scalable and ready to use!

1111.2k](/packages/abydahana-aksara)[maniaba/asset-connect

AssetConnect is a file management library for CodeIgniter 4 that allows you to associate files with any entity in your application

1015.3k](/packages/maniaba-asset-connect)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
