PHPackages                             oyhdd/laravel-stats - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. oyhdd/laravel-stats

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

oyhdd/laravel-stats
===================

模调系统

1.1.0(6y ago)558MITPHPPHP &gt;=7.0.0

Since Oct 11Pushed 6y ago1 watchersCompare

[ Source](https://github.com/oyhdd/laravel-stats)[ Packagist](https://packagist.org/packages/oyhdd/laravel-stats)[ RSS](/packages/oyhdd-laravel-stats/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (3)Versions (12)Used By (0)

**基于swoole实现的laravel模调系统扩展包**
=============================

[](#基于swoole实现的laravel模调系统扩展包)

[演示地址](http://121.199.40.77/admin)

- 授权认证： admin / 123456
- 模调系统登录账号： stats / 123456

**一、简介**
--------

[](#一简介)

 一个利用 laravel 与 swoole 实现的模块调用监控系统，可以实时监控各模块和接口的请求情况，包括各接口的请求次数，成功次数，请求耗时，成功率等，从而可以监控系统各模块和接口是否异常，并且可以直观的看出其调用情况，除此之外，还可设置告警功能，包括微信、短信和邮件告警，实时掌控系统接口的调用情况。

**二、演示截图**
----------

[](#二演示截图)

[![](resource/pic1.png)](resource/pic1.png)[![](resource/pic2.png)](resource/pic2.png)[![](resource/pic3.png)](resource/pic3.png)[![](resource/pic4.png)](resource/pic4.png)[![](resource/pic5.png)](resource/pic5.png)[![](resource/pic6.png)](resource/pic6.png)[![](resource/pic7.png)](resource/pic7.png)

**三.安装**
--------

[](#三安装)

### **1、若未安装 swoole 扩展，则可按如下方式安装：**

[](#1若未安装-swoole-扩展则可按如下方式安装)

```
wget https://github.com/swoole/swoole-src/archive/v4.4.6.tar.gz
tar zxvf v4.4.6.tar.gz
cd swoole-src-4.4.6/
/usr/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config //此处需改为自己的php-config路径
```

### **2、在 laravel 项目根目录下执行：**

[](#2在-laravel-项目根目录下执行)

```
composer require oyhdd/laravel-stats
```

 此模调系统的后台界面基于 laravel-admin 扩展实现，可便捷的进行二次开发。若未安装laravel-admin，则需要再执行如下命令，若已安装则可忽略。

```
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
php artisan admin:install

```

### **3、发布资源文件、配置文件及初始化配置**

[](#3发布资源文件配置文件及初始化配置)

```
php artisan vendor:publish --provider="Oyhdd\StatsCenter\StatsCenterServiceProvider"

```

 注：若文件已存在，可通过以下命令强制覆盖

```
php artisan vendor:publish --provider="Oyhdd\StatsCenter\StatsCenterServiceProvider" --force

```

 然后运行下面的命令完成安装：

```
php artisan stats:install
```

 文件发布成功后，会生成配置文件config/statscenter.php

### **4、配置脚本**

[](#4配置脚本)

- 数据上报服务:后台运行

```
php artisan stats:server
```

- 数据统计服务：每5分钟运行一次

```
php artisan stats:sum
```

- 数据定时清理服务：每天运行一次，清理90天以前的数据，可在 config\\statscenter.php 中修改配置

```
php artisan stats:clear
```

### **5、访问**

[](#5访问)

 在浏览器打开{host}/admin 后即可访问

**四、用法**
--------

[](#四用法)

### **1、原理**

[](#1原理)

```
    当有接口请求时，调用 StatsCenter::tick() 统计初始时间，当请求结束时调用 StatsCenter::report() 通过 udp 方式上报数据，其中模块 id 需要向模调系统申请，接口 id 则是先从本地缓存文件获取，若不存在则向模调系统发送 tcp 请求获取，再存入本地缓存文件，若获取失败，则默认为0。

```

### **2、调用方式**

[](#2调用方式)

> 调用示例可参看：tests\\test.php

> 调用方式可参看已封装好的类：src\\StatsCenter.php

- StatsCenter::tick() 统计耗时

```
StatsCenter::tick($interface, $moduleId);

```

- StatsCenter::report() 上报数据

```
StatsCenter::report($interface, $moduleId, $success, $retCode, $serverIp);

```

 备注：若自行统计了请求耗时 $costTime，则可只调用

```
StatsCenter::report($interface, $moduleId, $success, $retCode, $serverIp, $costTime)

```

### **3、配置**

[](#3配置)

 可在config/statscenter.php 配置文件中设置相关参数，包含swoole配置，模调相关配置和告警配置

**Contact us**
--------------

[](#contact-us)

qq : 1040089624

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 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

Every ~0 days

Total

11

Last Release

2401d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

laravelpackagelibrarymodulestats

### Embed Badge

![Health badge](/badges/oyhdd-laravel-stats/health.svg)

```
[![Health](https://phpackages.com/badges/oyhdd-laravel-stats/health.svg)](https://phpackages.com/packages/oyhdd-laravel-stats)
```

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[bensampo/laravel-embed

Painless responsive embeds for videos, slideshows and more.

142146.8k](/packages/bensampo-laravel-embed)[erlandmuchasaj/laravel-gzip

Gzip your responses.

40129.3k2](/packages/erlandmuchasaj-laravel-gzip)[cybercog/laravel-paket

Composer personal web interface. Manage Laravel dependencies without switching to command line!

1753.3k](/packages/cybercog-laravel-paket)[gallib/laravel-short-url

A Laravel package to shorten urls

16516.4k](/packages/gallib-laravel-short-url)[qafeen/manager

Manage, install and search laravel base packages.

122.8k](/packages/qafeen-manager)

PHPackages © 2026

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