V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
Livid
V2EX  ›  Tornado

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

  •  
  •   Livid · 2014-08-02 03:26:41 +08:00 · 26357 次点击
    这是一个创建于 3762 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
       2014-08-02 13:11:08 +08:00 via iPhone
    @zjgood Aurora 和 Chrome
    blueware
        17
    blueware  
       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
       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   ·   实用小工具   ·   2965 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:47 · PVG 22:47 · LAX 06:47 · JFK 09:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.