PHPackages                             telexorg/telex-apm - 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. telexorg/telex-apm

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

telexorg/telex-apm
==================

A simple APM package for Laravel.

089PHP

Since Nov 22Pushed 1y ago6 watchersCompare

[ Source](https://github.com/hngprojects/telex_php_apm)[ Packagist](https://packagist.org/packages/telexorg/telex-apm)[ RSS](/packages/telexorg-telex-apm/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Telex Laravel APM
-----------------

[](#telex-laravel-apm)

```
# Telex APM

**Telex APM** is a simple, installable Laravel package designed to monitor and collect application performance metrics. The package collects data on each backend request and sends these metrics to a specified webhook URL. The package is intended to be easily integrated into any Laravel application.

## Features

- Middleware to collect backend metrics for each request.
- Send collected metrics to a configurable webhook URL.
- Easy installation via Composer.
- Configurable via Laravel's standard configuration file system.

## Requirements

- PHP 7.4 or higher
- Laravel 8.x or higher
- `pdo_sqlite` (if using SQLite for testing purposes)

## Installation

To install the package in your Laravel project, follow these steps:

### 1. Install via Composer

Run the following command in your Laravel project root directory:

```bash
composer require telexorg/telex-apm
```

### 2. Publish the Configuration

[](#2-publish-the-configuration)

After installing the package, you need to publish the configuration file:

```
php artisan vendor:publish --tag=config
```

This will create a `config/apm.php` file where you can configure the webhook URL.

### 3. Configure the Webhook URL

[](#3-configure-the-webhook-url)

Open the `config/apm.php` file and set your webhook URL:

```
return [
    'webhook_url' => 'https://example.com/your-default-webhook-endpoint', // Replace with your actual URL
    '404_errors' => 'https://example.com/your-404-errors-webhook-endpoint', // Replace with your actual URL
    '500_errors' => 'https://example.com/your-500-errors-webhook-endpoint', // Replace with your actual URL
    'app_name' => 'your_app_name', // Replace with your actual app_name
];
```

Usage
-----

[](#usage)

Once installed, paste this code in `App/Exceptions/Handler.php` in your laravel app,

```
public function report(Throwable $exception){
    app('laravel_telex_apm')->handle($exception);
}
```

This authomatically tracks all errors in your laravel app.

### Collected Metrics

[](#collected-metrics)

The following metrics are collected for each request:

- HTTP Method (GET, POST, etc.)
- Request URL
- Response Status Code
- Request Duration
- Request Headers
- Timestamp
- Stack Trace
- Request Message

Testing
-------

[](#testing)

To ensure the package is working correctly, you can run your Laravel project in development mode and make a few requests. The metrics collected should be sent to the configured webhook URL.

If you're encountering any errors, you can check Laravel's log files located in `storage/logs/laravel.log`.

Development
-----------

[](#development)

If you want to contribute to the package or modify it:

### 1. Clone the Repository

[](#1-clone-the-repository)

Clone the package repository locally:

```
git clone https://github.com/yourusername/telex-apm.git
cd telex-apm
```

### 2. Install Dependencies

[](#2-install-dependencies)

Install dependencies using Composer:

```
composer install
```

### 3. Run Tests

[](#3-run-tests)

You can run tests to ensure everything is working:

```
vendor/bin/phpunit
```

Deployment
----------

[](#deployment)

To make the package public on Packagist, follow these steps:

1. Ensure you have a Packagist account.
2. Log in to [Packagist](https://packagist.org/) and submit your package's repository URL.
3. Use `composer.json` to maintain the package metadata.

Contributing
------------

[](#contributing)

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Issues
------

[](#issues)

If you encounter any issues, please feel free to [open an issue](https://github.com/yourusername/telex-apm/issues) on GitHub.

License
-------

[](#license)

This package is open-source software licensed under the [MIT license](https://opensource.org/licenses/MIT).

Contact
-------

[](#contact)

For more information or support, please reach out to:

- **Email:** [ganiujamiu03@gmail.com](mailto:youremail@example.com)
- **GitHub:** [Ganiu Jamiu](https://github.com/muh-jamiu)
- **Email:** [micahshallom@gmail.com](mailto:youremail@example.com)
- **GitHub:** [Micah Shallom](https://github.com/Micah-Shallom)

```

### Replace Placeholders
- Replace `"https://github.com/yourusername/telex-apm.git"` with the actual URL of your GitHub repository.
- Update `youremail@example.com` and other placeholder URLs with actual contact information.
- Update the Packagist URL once your package is published.

This `README.md` provides a clear guide for users to install, configure, and use your package, along with instructions for contributing and development. Let me know if you need any additional details or sections!

```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity18

Early-stage or recently created project

 Bus Factor1

Top contributor holds 83.3% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d3ad02288250d9b424f03efc6a06a9b89afcfad438087c454335743672e46398?d=identicon)[Micah-Shallom](/maintainers/Micah-Shallom)

![](https://www.gravatar.com/avatar/dd93b6c43fb2f988c53e6352e23d0eae34d5f4bd5c880f3d68320aff0d0c7d02?d=identicon)[jamiu](/maintainers/jamiu)

---

Top Contributors

[![muh-jamiu](https://avatars.githubusercontent.com/u/105175567?v=4)](https://github.com/muh-jamiu "muh-jamiu (15 commits)")[![Micah-Shallom](https://avatars.githubusercontent.com/u/64049432?v=4)](https://github.com/Micah-Shallom "Micah-Shallom (2 commits)")[![uloamaka](https://avatars.githubusercontent.com/u/124861912?v=4)](https://github.com/uloamaka "uloamaka (1 commits)")

### Embed Badge

![Health badge](/badges/telexorg-telex-apm/health.svg)

```
[![Health](https://phpackages.com/badges/telexorg-telex-apm/health.svg)](https://phpackages.com/packages/telexorg-telex-apm)
```

###  Alternatives

[psr/log

Common interface for logging libraries

10.4k1.2B9.1k](/packages/psr-log)[itsgoingd/clockwork

php dev tools in your browser

5.9k27.6M93](/packages/itsgoingd-clockwork)[graylog2/gelf-php

A php implementation to send log-messages to a GELF compatible backend like Graylog2.

41838.2M137](/packages/graylog2-gelf-php)[bugsnag/bugsnag-psr-logger

Official Bugsnag PHP PSR Logger.

32132.5M2](/packages/bugsnag-bugsnag-psr-logger)[consolidation/log

Improved Psr-3 / Psr\\Log logger based on Symfony Console components.

15462.2M7](/packages/consolidation-log)[datadog/php-datadogstatsd

An extremely simple PHP datadogstatsd client

19124.6M15](/packages/datadog-php-datadogstatsd)

PHPackages © 2026

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