siam/easyswoole-http-monitor 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

siam/easyswoole-http-monitor

Composer 安装命令:

composer require siam/easyswoole-http-monitor

包简介

easyswoole的HTTP请求监控、复发

README 文档

README

在开发接口阶段,可以记录最近的http请求,并且分析参数、复发请求,

特别是在微信支付等异步回调的场景,调试非常舒爽。

作者 Siam

QQ 59419979

可在easyswoole官方1群、2群(管理员)找到我

使用场景

记录监听近期的HTTP请求参数,可以手动选择复发。

在接口调试阶段,比较有用,特别是微信支付异步回调等场景。

假设我们有一个接口的参数需要从前面两个接口获得,并且在短期内可以重复使用

当我们在调试过程发现这个接口出bug,我们直接在HttpMonitor面板中点击复发,即可看到结果,进行调试,再复发,再复发,再复发。。。直到程序修复

支付成功异步回调就不说了,每一次都要你从手机付款一笔 微信才回调,然后你打Log,再调整程序。

同上,我们可以同一个订单,一直复发,调试程序,直到所有流程跑通。再线上真机测试。

截图演示

首页

请求详情

复发请求

使用教程

安装

composer require siam/easyswoole-http-monitor

mainServerCreate方法注册


use Siam\HttpMonitor\Config as HttpConfig;
use Siam\HttpMonitor\Monitor;

$config = new HttpConfig([
    'size'      => 20, //最大缓存数量
    'listUrl'   => '/siam/http-monitor/get_list',
    'resendUrl' => '/siam/http-monitor/resend',
]);

$monitor = Monitor::getInstance($config);
    
// 添加白名单 无需记录
$monitor->addFilter('/siam/http-monitor/get_list');
$monitor->addFilter('/favicon.ico');
$monitor->addFilter('/siam/http-monitor');
$monitor->addFilter('/siam/http-monitor/resend');

添加路由支持


use Siam\HttpMonitor\Config;
use Siam\HttpMonitor\Monitor;

// 主页面
$routeCollector->get('/siam/http-monitor', function (Request $request, Response $response) {
    $monitor = Monitor::getInstance();
    $html = $monitor->listView();
    $response->withHeader('Content-type','text/html;charset=utf-8');
    $response->write("$html");//获取到路由匹配的id
    return false;//不再往下请求,结束此次响应
});

// 获取历史列表
$routeCollector->addRoute(['POST', 'GET'], '/siam/http-monitor/get_list', function (Request $request, Response $response) {
    $response->withHeader('Content-type','text/html;charset=utf-8');
    $response->write(Monitor::getInstance()->getList());//获取到路由匹配的id
    return false;//不再往下请求,结束此次响应
});

// 复发请求
$routeCollector->addRoute(['POST'], '/siam/http-monitor/resend', function (Request $request, Response $response) {
    $content = $request->getBody()->__toString();
    $content = json_decode($content, true);
    $response->write(Monitor::getInstance()->resend($content['id']));
    return false;//不再往下请求,结束此次响应
});

onRequest拦截

Monitor::getInstance()->log([
    'header'     => $request->getHeaders(),
    'server'     => $request->getServerParams(),
    'get'        => $request->getQueryParams(),
    'post'       => $request->getParsedBody(),
    'cookie'     => $request->getCookieParams(),
    'files'      => $request->getUploadedFiles(),
    'rawContent' => $request->getBody()->__toString(),
    'data'       => $request->getSwooleRequest()->getData(),
]);

siam/easyswoole-http-monitor 适用场景与选型建议

siam/easyswoole-http-monitor 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3k 次下载、GitHub Stars 达 42, 最近一次更新时间为 2019 年 07 月 31 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「framework」 「swoole」 「easyswoole」 「http monitor」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 siam/easyswoole-http-monitor 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 siam/easyswoole-http-monitor 我们能提供哪些服务?
定制开发 / 二次开发

基于 siam/easyswoole-http-monitor 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 42
  • 点击次数: 16
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 42
  • Watchers: 2
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2019-07-31