在 V2EX 的开发环境里尝试了一下 OneAPM

2014-08-02 03:26:41 +08:00
 Livid
OneAPM 是最近新上线的一个应用程序性能管理方案,功能和商业模式都很类似目前在硅谷已经非常成功的 New Relic。

http://www.oneapm.com/

作为 Web Performance 行业的从业人员,这样的项目当然是要第一时间关注的。

最近 OneAPM 发布了 Python Agent,所以第一时间在 V2EX 的开发环境里试验了一下。虽然 Agent 的设置页面上没有提到 Tornado,但是经过我实际测试,是完全可以支持 Tornado 的。



目前 OneAPM 针对 Python app 的功能其实已经很完整了,基本的响应性能、最频繁被请求的 Python class、甚至 SQL 分析都已经支持了。



如果你的代码中用到了外部 API,比如 V2EX 就用到了 GitHub 和 Dribbble 的 API,那么这些外部请求的性能也是可以收集到的:



总之,第一感觉不错。很看好这个项目。

另外就是,向 OneAPM 的同学们反馈 2 个小问题:

- 貌似目前命名方面存在一些不一致?文档中既有 blueware 也有 oneapm。我理解对于任何创业项目名字在初期都会有一些混乱,不过还是希望能够尽快确定。因为如果要在大型项目中通过 Puppet 集成你们的技术的话,一个固定的名字是必须的。

- 初次生成了 blueware.ini 并且运行之后,我打开 blueware.ini 修改了 app_name ,然后我现在的 Dashboard 中就有两个 app,但是我没有找到可以在哪里删除 app。
26366 次点击
所在节点    Tornado
35 条回复
blueware
2014-08-02 16:42:30 +08:00
@dreampuf 好吧
orancho
2014-08-02 20:57:46 +08:00
Ruby要待何时
KiseXu
2014-08-04 18:49:13 +08:00
@sunysen kisexu@gmail.com 谢谢
BruceLi
2014-08-15 13:09:40 +08:00
V2EX是完全用python写的?
vvvboy
2014-08-22 08:21:41 +08:00
@blueware, NodeJS剽窃的更厉害,只是改改注释,就号称是自己的东西,还吹嘘自己是中国第一个APM,能算是程序猿的耻辱么?估计离关门也不远了吧。。。
diff lib/agent.js ~/node_modules/newrelic/lib/agent.js
42c42
< * orchestrator for OneAPM within instrumented applications.
---
> * orchestrator for New Relic within instrumented applications.
135c135
< logger.warn("The OneAPM Node.js agent is disabled by its configuration. " +
---
> logger.warn("The New Relic Node.js agent is disabled by its configuration. " +
145c145
< "file or via the ONEAPM_LICENSE_KEY environment variable?");
---
> "file or via the NEW_RELIC_LICENSE_KEY environment variable?");
155c155
< logger.info("Starting OneAPM for Node.js connection process.");
---
> logger.info("Starting New Relic for Node.js connection process.");
198c198
< logger.warn(error, "Got error shutting down connection to OneAPM:");
---
> logger.warn(error, "Got error shutting down connection to New Relic:");
202c202
< logger.info("Stopped OneAPM for Node.js.");
---
> logger.info("Stopped New Relic for Node.js.");
242c242
< callback(new Error("Not connected to OneAPM!"));
---
> callback(new Error("Not connected to New Relic!"));
341c341
< logger.info(error, "Error on submission to OneAPM (data held for redelivery):");
---
> logger.info(error, "Error on submission to New Relic (data held for redelivery):");
443c443
< callback(new Error("not connected to OneAPM (metrics will be held)"));
---
> callback(new Error("not connected to New Relic (metrics will be held)"));
460c460
< callback(new Error("not connected to OneAPM (errors will be held)"));
---
> callback(new Error("not connected to New Relic (errors will be held)"));
505c505
< callback(new Error("not connected to OneAPM (slow trace data will be held)"));
---
> callback(new Error("not connected to New Relic (slow trace data will be held)"));
blueware
2014-08-22 10:31:57 +08:00
@vvvboy 感谢来自竞争对手的激励,目前我们的探针代码确实是模仿NR的,但是为啥国外NR就能把他的源代码公开出来完全不怕别人模仿,我想大家就仁者见仁智者见智了。
vvvboy
2014-08-23 21:08:30 +08:00
模仿和剽窃是两个概念,看到别人的东西好,直接拿过来,改几个文字就说是自己的,这个不光是道德问题,还会是很严重的法律问题。中国APM市场刚刚开始,且行且珍惜,且偷且小心~
wikimore
2014-08-28 00:01:15 +08:00
哎 这脸打的 惨不忍睹
tublood
2014-10-08 10:13:44 +08:00
中国人的脸都给你们丢光了.关键是别人抄了也就低调自己用,你们抄了还要高调出来卖乖.都什么年代了还在搞抄袭,比脸皮厚这套.真有点想骂人了.
kslr
2014-11-20 16:57:23 +08:00
@Livid 问个问题,是这样的假如tornado启动了4个实例,我看new relic和oneaAPM都是在py后面加上指定的命令启动的,这样的话4个都要这种方式启动? 岂不是就是4份记录了。。。。
Livid
2014-11-20 17:02:59 +08:00
@kslr Tornado 如果是通过 supervisor 来启动的话,就是 4 段 supervisor 配置,你可以只加在其中一个端口上。
alsotang
2015-01-16 16:04:19 +08:00
@wikimore 一开始还狡辩。。。然后承认了。。
apo
2015-08-01 21:46:02 +08:00
既然是开源的代码,用就用了,也没啥。但还卖出来,还改别人名字,就有点“模仿”的没品了……
glasslion
2015-08-20 00:31:18 +08:00
@est
@alsotang
@tublood
@vvvboy
@dreampuf
又在 V 站上发现一家盗用 NewRelic 代码的 http://www.v2ex.com/t/214359
m8syYID5eaas8hF7
2015-08-20 14:20:40 +08:00
剽窃可耻啊,看来又要骗投资人的钱了,真是厉害

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125736

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX