PHPackages                             xelent/xelentwatch - 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. xelent/xelentwatch

ActiveLaravel-package

xelent/xelentwatch
==================

Xelentwatch - Self-hosted telemetry client for Laravel applications

v1.0.0(2mo ago)02MITPHPPHP ^8.1

Since Mar 3Pushed 2mo agoCompare

[ Source](https://github.com/xelentsolutions/xelent-watch-package)[ Packagist](https://packagist.org/packages/xelent/xelentwatch)[ RSS](/packages/xelent-xelentwatch/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (2)Used By (0)

Xelentwatch Client Package
==========================

[](#xelentwatch-client-package)

Self-hosted telemetry client for Laravel applications. This package sends telemetry data to the Xelentwatch TCP Server.

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

[](#installation)

### Via Composer

[](#via-composer)

```
composer require xelent/xelentwatch
```

### Manual Installation

[](#manual-installation)

Add the package to your `composer.json`:

```
{
  "require": {
    "xelent/xelentwatch": "^1.0"
  }
}
```

Then run:

```
composer update
```

Configuration
-------------

[](#configuration)

### Publish Configuration

[](#publish-configuration)

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

### Environment Variables

[](#environment-variables)

Add these to your `.env` file:

```
XELENTWATCH_ENABLED=true
XELENTWATCH_TOKEN=your-app-token-here
XELENTWATCH_PROJECT_NAME=your-app-name
XELENTWATCH_ENVIRONMENT=production
XELENTWATCH_INGEST_URI=127.0.0.1:2407
```

### Configuration File

[](#configuration-file)

The published configuration file (`config/xelentwatch.php`) contains all available options:

```
return [
    'enabled' => env('XELENTWATCH_ENABLED', true),
    'token' => env('XELENTWATCH_TOKEN'),
    'project_name' => env('XELENTWATCH_PROJECT_NAME', env('APP_NAME', 'default')),
    'environment' => env('XELENTWATCH_ENVIRONMENT', 'production'),

    'sampling' => [
        'requests' => env('XELENTWATCH_REQUEST_SAMPLE_RATE', 1.0),
        'commands' => env('XELENTWATCH_COMMAND_SAMPLE_RATE', 1.0),
        'exceptions' => env('XELENTWATCH_EXCEPTION_SAMPLE_RATE', 1.0),
        'scheduled_tasks' => env('XELENTWATCH_SCHEDULED_TASK_SAMPLE_RATE', 1.0),
    ],

    'ingest' => [
        'uri' => env('XELENTWATCH_INGEST_URI', '127.0.0.1:2407'),
        'timeout' => env('XELENTWATCH_INGEST_TIMEOUT', 0.5),
        'connection_timeout' => env('XELENTWATCH_INGEST_CONNECTION_TIMEOUT', 0.5),
        'event_buffer' => env('XELENTWATCH_INGEST_EVENT_BUFFER', 500),
    ],
];
```

Usage
-----

[](#usage)

### Automatic Telemetry

[](#automatic-telemetry)

Once installed and configured, the package automatically captures:

- HTTP requests
- Console commands
- Exceptions
- Database queries
- Cache events
- Mail notifications
- Queue jobs
- Scheduled tasks

### Manual Telemetry Control

[](#manual-telemetry-control)

Use the Artisan commands to control telemetry:

```
# Start telemetry agent
php artisan xelentwatch:agent start

# Check agent status
php artisan xelentwatch:agent status

# Pause telemetry
php artisan xelentwatch:agent pause

# Resume telemetry
php artisan xelentwatch:agent resume

# Stop telemetry
php artisan xelentwatch:agent stop
```

### Using the Facade

[](#using-the-facade)

```
use Laravel\Xelentwatch\Facades\Xelentwatch;

// Check if telemetry is enabled
if (Xelentwatch::isEnabled()) {
    // Custom telemetry logic
}
```

Sampling
--------

[](#sampling)

Control the sampling rate for different event types:

```
# Sample 100% of requests (default)
XELENTWATCH_REQUEST_SAMPLE_RATE=1.0

# Sample 10% of requests (high-traffic apps)
XELENTWATCH_REQUEST_SAMPLE_RATE=0.1

# Sample 100% of exceptions (always capture errors)
XELENTWATCH_EXCEPTION_SAMPLE_RATE=1.0
```

Filtering
---------

[](#filtering)

Ignore specific event types:

```
XELENTWATCH_IGNORE_CACHE_EVENTS=false
XELENTWATCH_IGNORE_MAIL=false
XELENTWATCH_IGNORE_NOTIFICATIONS=false
XELENTWATCH_IGNORE_OUTGOING_REQUESTS=false
XELENTWATCH_IGNORE_QUERIES=false
```

Logging
-------

[](#logging)

The package logs to `storage/logs/xelentwatch/`:

FileDescription`agent.log`Agent activity`ingest.log`Ingest operations`error.log`ErrorsConfigure logging:

```
XELENTWATCH_LOGGING_ENABLED=true
XELENTWATCH_LOGGING_LEVEL=info
```

Multi-App Setup
---------------

[](#multi-app-setup)

To use with multiple Laravel applications:

1. Install this package in each application
2. Configure unique tokens for each app
3. Point all apps to the same TCP server

```
# App 1 (.env)
XELENTWATCH_TOKEN=app1-token-here
XELENTWATCH_PROJECT_NAME=app1
XELENTWATCH_INGEST_URI=127.0.0.1:2407

# App 2 (.env)
XELENTWATCH_TOKEN=app2-token-here
XELENTWATCH_PROJECT_NAME=app2
XELENTWATCH_INGEST_URI=127.0.0.1:2407
```

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

[](#requirements)

- PHP 8.1+
- Laravel 10.0+ or 11.0+
- ext-sockets
- ext-json

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance86

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

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

69d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5e8f0577ac66222280ea02205671b89dec869c6fd3dcf5c688bef815a2237e5b?d=identicon)[XelentAbrar](/maintainers/XelentAbrar)

![](https://www.gravatar.com/avatar/d29ea90b85ad119eb9f0b6c373d4f54ececd7d411ce5efdf5cf9037599597729?d=identicon)[xelent-moneeb](/maintainers/xelent-moneeb)

---

Top Contributors

[![moneebdhariwal](https://avatars.githubusercontent.com/u/12840861?v=4)](https://github.com/moneebdhariwal "moneebdhariwal (1 commits)")[![XelentAbrar](https://avatars.githubusercontent.com/u/77741189?v=4)](https://github.com/XelentAbrar "XelentAbrar (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/xelent-xelentwatch/health.svg)

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

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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