witness 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
witness 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
witness 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

PHP作为流行的服务器端脚本语言,广泛地用于各种服务器前端及应用的开发。虽然PHP作为脚本语言,天然具有良好的入门简单、容错性强、性能较高(在脚 本语言中)的特点,但是,由于其多进程的执行模式,和前端Web系统通常采用多机器并行的运行模式,导致在线上出现的某些和特定用户相关的问题时,很难收 集全面的信息。

  1. 多进程+多机器+用户请求随机分发,导致不知道某个用户的请求会在哪台机器的哪个进程执行;
  2. 如果在所有机器和进程都加入调试语句,会导致大量的无关日志输出,或可能影响无关的用户;
  3. 由于同一用户的两个请求是被随机分散的,导致难以获取具体某个用户出错时的点击流;
  4. 在大型系统中,由于组件多,关联复杂,不容易直接定位问题源头出自哪个模块以增加输出信息;
  5. 通过输出日志等方式,往往需要多次尝试后才能逐步逼近问题的源头,对提高查错速度不利;
  6. 这种即时在线上增加调试或者写日志的代码,可能引入意外的bug,带来额外风险。

另外,作为一种轻便的快速开发脚本,加上现在流 行的敏捷等快速开发模式,不管它们吹嘘得如何天花乱坠,对于测试的完备性、代码的健壮性,其实质效果是大大降低的。所以,在上线后发现问题再快速打补丁或 者快速迭代,是业内一种常见的模式。而在这个环节中,快速定位问题是打补丁或者后续迭代的前提。

于是,针对这种情况,我们开发了witness系统(witness--证人,它的证词可以帮助我们还原“犯罪”现场)。该系统能让我们在处理上述问题时,更简便,更有效率,更全面的得到所有相关数据,从而加快分析问题和处理问题的过程。

witness系统的主要特点如下:

  1. 非嵌入式监控,无需修改运行的PHP代码
  2. 可以通过cookie监控特定的请求
  3. 轻量级,灵活度高
  4. 高性能
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (6)

加载中
有意思看看去。 witness
2013/07/04 17:15
回复
举报
可以瞧瞧 witness
2013/07/04 17:18
回复
举报
哟西..UC搞的? witness
2013/07/04 17:29
回复
举报
最近都很关注开源啊 witness
2013/07/04 19:14
回复
举报
困死了 witness
2013/07/11 14:07
回复
举报
这个还有更新吗?和监控宝,OneAPM之类的有什么区别? #witness#
2015/10/12 15:37
回复
举报
更多评论
暂无内容
发表了博客
2019/03/21 19:39

swift protocol 见证容器 虚函数表 与 动态派发

一、测试代码: //protocol DiceGameDelegate: AnyObject { //} // //@objc protocol OcProtocol{ // @objc func OcFunc() //} protocol SeedProtocol { func NormalFunc() func ExtenImpFunc() //@objc func OcFunc() } extension SeedProtocol{ func ExtenImpFunc(){} func ExtenDefineFunc(){} } struct NormalStruct:SeedProtocol { func NormalFunc(){} } struct FullImpStruct:SeedProtocol { func NormalFunc(){} func E...

0
0
发表了博客
2018/08/16 10:19

bitcoin script

P2PK P2PKH,MS,P2SH,OP_RETURN 等的区别 1.P2PK pay_to_public_key pubkey script: <pubkey> OP_CHECKSIG signature script: [sig] 2. P2PKH pay_to_public_key_hash pubkey script: OP_DUP OP_HASH160 hash(pubkey) OP_EQUALVERIFY signature script: [sig] <pubkey> 3.P2SH pay_to_script_hash pubkey script: OP_HASH160 hash(Redeem script) OP_EQUAL signature script: 此处和上面两个都不一样,解锁需要分成两部 ...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
6 评论
173 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部