产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

NewRelic RPM 2 可以监控 Java 应用性能了

  • 2009-10-20
  • 本文字数:1604 字

    阅读完需:约 5 分钟

NewRelic RPM Ruby on Rails 领域中非常流行的性能监控解决方案。近日最新版的 RPM 2 发布了,该版本将 RPM 的特性带到了Java 应用中。

InfoQ 有幸采访了 NewRelic 的 Lew Cirne 以了解该最新版的相关信息。

InfoQ:NewRelic RPM 的Java 支持的工作方式是怎样的?

新版 Relic RPM 可以从不同源中收集信息。由于其主要用作产品监控以及深层诊断,所以我们要确保其所搜集的信息具有相关性,同时还要保证信息的监控和收集不会增加应用本身的性能负担。 举个例子吧,JMX 提供了极佳的概要度量,但对于深层次的问题诊断来说还是显得无能为力。我们使用官方 API 并通过字节码 instrumentation 的方式来补充这些数据,从而获得了能够快速解决问题的深层次信息。比如,RPM 可以自动为缓慢的数据库查询收集 SQL 说明信息,这对于那些负责监控并诊断数据库相关性能问题的团队来说极具价值。

InfoQ:对于字节码 instrumentation 你有何经验?在使用其他相关程序库时遇到过问题么?

我们使用了官方 API,还通过字节码 instrumentation 向应用服务器中插入特定的方法。RPM 在加载期对类进行 instrument,因此与其他修改字节码的工具(比如 AOP 程序库)没有什么依赖关系。

InfoQ:RPM 的 Java 支持可以运行在哪些平台和系统之上?

新的 Relic RPM 支持很多框架,包括 Spring、Grails 以及 JEE。RPM 可以监控标准的 JEE 组件,如 Servlet、EJB、JDBC、Hibernate、Web Services 调用、POJO、JSP 等等不一而足。它还能监控部署在 Spring 之上的应用。 除此以外,RPM 还可以监控部署在 WebSphere、WebLogic、JBoss、Tomcat、Jetty 以及 Glassfish 之上的 Web 应用。

InfoQ:第三方可以扩展 NewRelic 来支持新的 Web 框架么?

RPM 在设计之初就考虑到了与第三方工具的集成,而这种集成是非常简单方便的。通过 RPM API,用户可以集成来自于其他源的数据。我们还提供了一个 REST API,这样用户和第三方软件供应商就可以将 RPM 应用性能数据集成到自己的解决方案中。像 Rightscale 等公司已经在使用该 API 了。

InfoQ:除了 MRI 以外,NewRelic 现在也支持对 JRuby 应用的监控了,为何要支持 JRuby,有必要么?

JRuby 支持是相当直接的。对于 Ruby 和 JRuby 方法来说有些细小的差别,而 RPM 利用这种差异性来收集信息。一旦我们搞定了这些差别,假如架构够灵活,那对于 RPM 来说,自动化的 instrumentation 就是非常直接的事情了。

InfoQ:JRuby 与 Java 支持有关联性么?

RPM 在众多的应用性能管理工具中是独树一帜的, 因为它提供了监控 Ruby/JRuby 以及 Java 的统一界面。一般来说 Ruby/JRuby agent 与 Java agent 是不同的,而 RPM 基本是以同样的方式工作,如前所述,都将数据发送到相同的控制台上。 对于运行 JRuby on Rails 应用的用户来说,我们推荐他们使用 Ruby agent,它完全兼容于该环境并提供了一套相关的度量集。

InfoQ:NewRelic 还支持Ruby 1.9,在你的客户当中有使用 Ruby 1.9 的么?

我们所用的 SaaS 方式的一个好处在于可以看到数千产品应用,这样我们就能了解客户所使用的平台和运行时版本等信息。我们会不定期地在 RailsLab 站点( http://railslab.newrelic.com/2009/06/11/the-state-of-the-stack-a-ruby-on-rails-benchmarking-report-10-june-2009 )上的“State of the Stack”文章中与大家分享主要的观测资料。 根据以上论述,我们发现使用 Ruby 1.9 的用户少之又少,然而我们还是愿意支持 Ruby 1.9。当用户升级其平台或运行时后(比如 Ruby、JRuby、Java、Rails、Spring、Grails 等发布),我们会尽最大努力在新平台或运行时普及前提供对其的支持。

NewRelic RPM 根据不同的版本具有不同的定价,其中 RPM Lite 是免费的。EngineYard 与 RightScale 用户可以享受到特别的待遇。

在了解了 NewRelic RPM 的特性之后,我想问各位读者一个问题:你当前使用何种工具监控 Java 应用的性能呢?

查看英文原文: NewRelic RPM 2 Adds Java Support for Performance Monitoring

2009-10-20 12:431418
用户头像

发布了 88 篇内容, 共 262.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

【荣耀帐号服务FAQ】AuthorizationCode有效期是多久?

荣耀开发者服务平台

手机 服务 安卓 荣耀 honor

如何从InfluxDB/OpenTSDB无缝连接到TDengine

TDengine

数据库 tdengine 开源 时序数据库

智能合约系统开发Web3.0实现核心

薇電13242772558

智能合约

Vue网站自动提交百度链接

源字节1号

软件开发 后端开发 Vue网站

具有资质的昆明等保测评公司新名单看这里!

行云管家

等保 堡垒机 等级保护

实时云渲染的关键技术是什么?

Finovy Cloud

人工智能 云渲染 实时渲染

_fitoa_word的实现:一个整型数据是如何转成字符串的呢?

桑榆

源码刨析 10月月更 C++

网络安全漏洞分析之远程代码执行

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

两将军问题和TCP三次握手

有态度的马甲

TCP协议 两将军问题

【Nacos源码之配置管理 九】客户端获取配置数据的流程

石臻臻的杂货铺

nacos 10月月更

数据结构学习,栈篇(顺序栈)

IC00

数据结构 算法 学习笔记 10月月更

Surpass Day——Java 抽象类和接口

胖虎不秃头

Java 10月月更 se

【一Go到底】第九天---进制

指剑

Go golang 10月月更

DAG 任务调度与 go-streams 结合的应用实践

KaiwuDB

【愚公系列】2022年10月 Go教学课程 023-Go容器之列表

愚公搬代码

10月月更

Surpass Day——Java 接口在开发中的作用、关于Object类、内部类

胖虎不秃头

Java 10月月更 se

面试突击89:事务隔离级别和传播机制有什么区别?

王磊

【iOS逆向】某运营商签名算法分析

小陈

逆向思维 逆向 iOS逆向 逆向分析

Linux性能问题分析流程与性能优化思路

五分钟学大数据

Linux 10月月更

如何低成本实现客户服务自动化?

Baklib

leetcode 145. Binary Tree Postorder Traversal 二叉树的后序遍历 (中等)

okokabcd

LeetCode 数据结构与算法

Vue3入门指北(十二)模板引用

Augus

Vue 3 10月月更

Spring之IOC

楠羽

笔记 spring 源码 10月月更

Zebec即将推出公链并开放节点申请,潜力几何?

西柚子

使用最小花费爬楼梯

掘金安东尼

算法 10月月更

Surpass Day——IntelliJ IDEA和eclipse的使用、super关键字

胖虎不秃头

Java 10月月更 se

Hacktoberfest 2022:Jenkins maven-snapshot-check Plugin 的改进实践

donghui

jenkins Hacktoberfest

ESP32-C3 应用程序的启动流程

矜辰所致

ESP32-C3 10月月更 ESP-IDF

zookeeper-四字监控命令和工具

zarmnosaj

10月月更

GitLab + Jenkins + Harbor 工具链快速落地指南

胡说云原生

DevOps gitlab cicd Harbor jenkins

如何快速打造BI大屏进行数据赋能

力软低代码开发平台

NewRelic RPM 2可以监控Java应用性能了_Java_Werner Schuster_InfoQ精选文章