在 V2EX 的开发环境里尝试了一下 OneAPM - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
54.38D
447.35D
V2EX    Tornado

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

  •  
  •   Livid
    PRO
    2014-08-02 03:26:41 +08:00 26887 次点击
    这是一个创建于 4091 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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。
    35 条回复    2015-08-20 14:20:40 +08:00
    fatpa
        1
    fatpa  
       2014-08-02 06:59:14 +08:00
    其实就是 NewRelic 的汉化版嘛
    KiseXu
        2
    KiseXu  
       2014-08-02 10:14:39 +08:00   1
    必须要用企业邮箱才能注册啊
    sunysen
        3
    sunysen  
       2014-08-02 10:30:17 +08:00
    非常感谢老大对我们肯定,感谢您反馈的问题
    KiseXu
        4
    KiseXu  
       2014-08-02 10:31:58 +08:00
    @sunysen 有没有计划开放对个人开发者的支持啊
    sunysen
        5
    sunysen  
       2014-08-02 10:34:17 +08:00
    @fatpa 目前功能确实和NewRelic一样,后面我们会做更多适合国内环境的功能
    sunysen
        6
    sunysen  
       2014-08-02 10:36:48 +08:00
    @sunysen 有计划的,下周我们就会讨论针对个人开发者的功能,谢谢你的关注,如果方面可以留下你邮箱,后期做好我们发邮件通知你
    XadillaX
        7
    XadillaX  
       2014-08-02 10:58:52 +08:00   1
    Node.js 没做?
    sunysen
        8
    sunysen  
       2014-08-02 11:01:13 +08:00
    @XadillaX 做了,正在调试中,可以留下您的邮箱,上线我们发邮件通知你,非常谢谢您的关注。
    blueware
        9
    blueware  
       2014-08-02 11:23:18 +08:00   1
    @fatpa 我觉得您这个评价其实蛮高的,我们比New Relic还是差距很大。New Relic在这一个产品上面已经投入了上亿美元。作为一个基础软件,我们目前在国内还弄不到那么多钱
    blueware
        10
    blueware  
       2014-08-02 11:25:10 +08:00
    @KiseXu 其实这个主要是考虑到...New Relic的PRO版使用是15天,我们的使用是60天。如果完全开放个人邮箱注册,是不是有可能会有人每年只需要申请6个个人邮箱就完全可以放开了用我们的产品了...企业版邮箱算是稍微对这个有些限制。当然,我们并不强制要求大家付费试用。
    blueware
        11
    blueware  
       2014-08-02 11:26:42 +08:00
    @KiseXu 后面会有开发者计划放出,我们打算对rubu/python/nodejs/php开发者推出一个特殊的计划。java和.net由于更多的是在企业级项目是使用,可能不会包含在内
    blueware
        12
    blueware  
       2014-08-02 11:27:25 +08:00
    @XadillaX NodeJS功能已经测试完成,后天会Release出来,感谢关注,欢迎使用
    dreampuf
        13
    dreampuf  
       2014-08-02 11:50:20 +08:00   1


    直接复制代码么,略显不厚道。

    监控是个持续的过程,希望能坚持,如果不能支撑大而全的平台,请一定把小而精做好。
    很多监控仅仅停留于报表显示,没能做到反映问题,希望能有所突破
    est
        14
    est  
       2014-08-02 11:55:30 +08:00
    @dreampuf 我擦。。莫非真是汉化版。。。
    zjgood
        15
    zjgood  
       2014-08-02 13:07:24 +08:00
    请问L大用的什么浏览器啊?@Livid
    Livid
        16
    Livid  
    MOD
    OP
    PRO
       2014-08-02 13:11:08 +08:00 via iPhone
    @zjgood Aurora 和 Chrome
    blueware
        17
    blueware  
      &nbp;2014-08-02 14:23:37 +08:00
    @dreampuf Python的Agent目前确实不少代码都模仿自New Relic,但是Java、.NET、iOS、Android、PHP是自己从第一行代码写起。New Relic是商业公司,代码也不是open source的 [ruby agent除外] ,我们团队虽然认识他们的人,但是也不可能拿到他们代码。

    原因是这样的,我们也不太清楚国内开发者语言的分布,主要做了Java和.NET之后,从很多朋友得到的反馈是希望用ruby、python等语言的版本。但是光是Java探针我们就写了一年半。
    blueware
        18
    blueware  
       2014-08-02 14:26:43 +08:00
    @dreampuf 做APM软件是非常难的事情,我自己参与了Java Agent的开发过程,对每一个框架做instrument的过程就像是绣花,而且不能有一点差错。本来一开始想做大而全,现在看来,把New Relic的APM、Broser、Mobile做好可能就要花费很多的钱和时间。我们暂时不会去做Platform和Insight,后面可能会把免费的Server monitoring加上
    ryon
        19
    ryon  
       2014-08-02 16:19:58 +08:00
    还不支持PHP?
    dreampuf
        20
    dreampuf  
       2014-08-02 16:31:59 +08:00   4
    @blueware 对不起,我较真了。



    blueware
        21
    blueware  
       2014-08-02 16:42:30 +08:00
    @dreampuf 好吧
    orancho
        22
    orancho  
       2014-08-02 20:57:46 +08:00
    Ruby要待何时
    KiseXu
        23
    KiseXu  
       2014-08-04 18:49:13 +08:00
    BruceLi
        24
    BruceLi  
       2014-08-15 13:09:40 +08:00
    V2EX是完全用python写的?
    vvvboy
        25
    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
        26
    blueware  
       2014-08-22 10:31:57 +08:00
    @vvvboy 感谢来自竞争对手的激励,目前我们的探针代码确实是模仿NR的,但是为啥国外NR就能把他的源代码公开出来完全不怕别人模仿,我想大家就仁者见仁智者见智了。
    vvvboy
        27
    vvvboy  
       2014-08-23 21:08:30 +08:00
    模仿和剽窃是两个概念,看到别人的东西好,直接拿过来,改几个文字就说是自己的,这个不光是道德问题,还会是很严重的法律问题。中国APM市场刚刚开始,且行且珍惜,且偷且小心~
    wikimore
        28
    wikimore  
       2014-08-28 00:01:15 +08:00
    哎 这脸打的 惨不忍睹
    tublood
        29
    tublood  
       2014-10-08 10:13:44 +08:00
    中国人的脸都给你们丢光了.关键是别人抄了也就低调自己用,你们抄了还要高调出来卖乖.都什么年代了还在搞抄袭,比脸皮厚这套.真有点想骂人了.
    kslr
        30
    kslr  
       2014-11-20 16:57:23 +08:00
    @Livid 问个问题,是这样的假如tornado启动了4个实例,我看new relic和oneaAPM都是在py后面加上指定的命令启动的,这样的话4个都要这种方式启动? 岂不是就是4份记录了。。。。
    Livid
        31
    Livid  
    MOD
    OP
    PRO
       2014-11-20 17:02:59 +08:00   1
    @kslr Tornado 如果是通过 supervisor 来启动的话,就是 4 段 supervisor 配置,你可以只加在其中一个端口上。
    alsotang
        32
    alsotang  
       2015-01-16 16:04:19 +08:00
    @wikimore 一开始还狡辩。。。然后承认了。。
    apo
        33
    apo  
       2015-08-01 21:46:02 +08:00
    既然是开源的代码,用就用了,也没啥。但还卖出来,还改别人名字,就有点“模仿”的没品了……
    glasslion
        34
    glasslion  
       2015-08-20 00:31:18 +08:00
    @est
    @alsotang
    @tublood
    @vvvboy
    @dreampuf
    又在 V 站上发现一家盗用 NewRelic 代码的 http://www.v2ex.com/t/214359
    m8syYID5eaas8hF7
        35
    m8syYID5eaas8hF7  
       2015-08-20 14:20:40 +08:00
    剽窃可耻啊,看来又要骗投资人的钱了,真是厉害
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1149 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:17 PVG 07:17 LAX 16:17 JFK 19:17
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86