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(7mo ago)011MITPHPPHP &gt;=7.4

Since Jan 13Pushed 7mo agoCompare

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

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

26

—

LowBetter than 40% of packages

Maintenance64

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

217d 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

[codeigniter4/appstarter

CodeIgniter4 starter app

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

API for OpenTelemetry PHP.

2044.7M351](/packages/open-telemetry-api)[abydahana/aksara

Aksara is a modern, developer-friendly framework and CMS built on CodeIgniter 4, featuring rapid CRUD development, modular architecture, smart routing, flexible access control, API integration, and an AI assistant to make content management faster and smarter.

1141.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

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

PHPackages © 2026

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