定制 murderxchip/trace 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

murderxchip/trace

Composer 安装命令:

composer require murderxchip/trace

包简介

基于HTTP的链路日志跟踪Laravel/Lumen插件,A trace logger SDK for http request between Laravel/Lumen apps by supplying enhanced GuzzleClient implementation

README 文档

README

###Lumen/Laravel 服务链路日志跟踪,采用header传递自定义trace信息方式聚合请求链路日志,本地json结构化存储方便elk采集。

使用方法:

  1. 安装 项目composer.json中引入

    "repositories": [
             {
                 "type": "git",
                 "url": "https://github.com/murderxchip/laravel-trace-log.git"
             }
        ],

    "require" 字段增加

    "cactus/tracelog": "v1.0.1"
    composer update cactus/tracelog 
  2. 注册provider

    $app->register(\Cactus\TraceLog\TraceLogServiceProvider::class);
  3. 引入middleware 在bootstrap/app.php 增加

    $app->middleware([
         \Cactus\TraceLog\TraceLogMiddleWare::class
    ]);
  4. 日志路径 日志默认存储位置为 storage/logs 下 json 目录为json格式输出

  5. 微服务中 guzzle 默认 Client替换为 \Cactus\Trace\HttpClient 实例

    $client = new HttpClient();

    或者直接使用 app('rpcClient') 此为GuzzleClient扩展客户端,接口方法保持一直

  6. 输出示例

{
	"message": "apilog",
	"context": {
		"apitrace": {
			"Host": "server.test",
			"Method": "GET",
			"Headers": "{\"connection\":[\"keep-alive\"],\"accept\":[\"*/*\"],\"accept-encoding\":[\"gzip, deflate\"],\"user-agent\":[\"python-requests/2.21.0\"],\"host\":[\"cactusserver-mall.test\"],\"content-length\":[\"\"],\"content-type\":[\"\"]}",
			"PathInfo": "/version",
			"QueryString": null,
			"Protocol": "HTTP/1.1",
			"IP": "127.0.0.1",
			"User-Agent": "python-requests/2.21.0",
			"Params": "[]",
			"RequestUri": "/version",
			"RequestTime": "2019-04-11 14:20:36",
			"Response": "{\"data\":{\"version\":\"Lumen (5.5.2) (Laravel Components 5.5.*)\"},\"meta\":{\"timestamp\":1554963636.89317,\"response_time\":0.0965871810913086}}",
			"Status": 200,
			"ResponseTime": "2019-04-11 14:20:36",
			"ElapseTime": "9ms"
		}
	},
	"level": 200,
	"level_name": "INFO",
	"channel": "lumen",
	"datetime": {
		"date": "2019-04-11 14:20:36.917776",
		"timezone_type": 3,
		"timezone": "Asia/Shanghai"
	},
	"extra": {
		"uid": "c36ea4f2386368c1bff60ed0"
	},
	"Trace": {
		"TraceId": "trace:15549636365caedcb4de348",
		"TraceIndex": "0.1",
		"TracePath": "/Path"
	}
}

Trace信息会通过header进行传递

####ChangeLog 1.2.1 版本变更

  1. trace id 精度提高
  2. 修复trace index无效问题
  3. response增加traceid返回

murderxchip/trace 适用场景与选型建议

murderxchip/trace 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 140 次下载、GitHub Stars 达 10, 最近一次更新时间为 2019 年 04 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 murderxchip/trace 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 140
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2019-04-12