在持续集成和持续部署(CI/CD)的现代软件世界中,应用程序代码更改和部署通常每天会发生多次。在这个快速创新和变化的新时代,api正在成为一种越来越流行的方式,它帮助用户构建定制的、集成的解决方案,以满足他们的特定需求。亚博直播平台

这就是为什么我们激动地宣布,运行Java应用程序的New Relic客户现在可以选择使用我们的富Java Agent API.向其应用程序添加自定义仪表,并获得对其应用程序前所未有的洞察力和可见性。设计这些新功能的目的是让客户能够安装他们的应用程序,并更好地理解他们的Java应用程序的行为。通过重要的新功能,我们的Java代理API支持同步和异步通信。

同步和异步

在构建相互通信的应用程序时,大多数开发人员遵循两种基本思想:同步和异步。

当应用程序相互依赖处理信息时,通常使用同步通信模型。但是一个新的关注点是最小化延迟和构建具有真正快速响应时间的应用程序,这使得异步编程模型——以及支持它们的api——越来越流行。

异步模型的优势可以用简单的类比说明。想象一下,你跑了一个炸玉米饼卡车。如果卡车在同步模型上运行,在每位客户订购后,您的员工需要处理订单,使食物制作,并在您向下一个客户提出订单之前提供食物。

但是,如果你用异步淋浴制作模型跑你的卡车,那么即使在烹饪和服务以前的客户的炸玉米饼,您也能够采取新订单。您将能够以较短的时间销售更多的炸玉米饼,以更短的时间,让更多客户开心。

类似地,异步编程模型允许您的程序执行比花费大量时间等待的同步程序更多的任务。

强大的新API调用

在其他新功能之外,我们的新Java代理API支持许多新的API调用,此处解释:

创建事务:创建有意义的事务对于理解代码的控制流至关重要。通过使用New Relic Java代理api,您可以在同步和异步方法上创建事务,方法是向任何不是由New Relic自动创建的事务添加@Trace(dispatcher = true)注释。添加这个注释可以细化事务执行,包括所有计时方法、异步应用程序方法调用的等待时间、数据库调用(如果适用的话),以及创建的事务抛出的错误。如果您的应用程序中有一些方法不是由New Relic自动计时的,您可以添加@Trace注释API调用来开始计时。

对于异步应用程序,除了@Trace(dispatcher = true)注释之外,还必须为New Relic创建和链接令牌,以将事务缝合在一起。getToken()方法调用将创建一个令牌将异步工作链接到当前交易。可以在与事务链接的多个工作线程之间传递单个令牌。此令牌可以使用令牌至expire()过期。这允许交易结束。

一旦您使用上述API呼叫才能进行仪器,它们将显示在您的New Relic APM仪表板,如下面截图所示:

Java Agent API新型遗物APM仪表板屏幕截图

[点击放大]

对于每个这些交易,收集跟踪:

交易跟踪屏幕截图

[点击放大]

时间方法:对于每个事务,您可以看到哪个调用是异步的,以及这些方法可能需要多长时间。监视在您的交易的什么时间和控制流程中进行监视 - 帮助您快速地注意违规行为,并更容易地了解您的应用程序的行为。

决定等待时间:您不仅可以计算单个方法运行所需的时间,还可以测量从创建工作到执行工作的时间。例如,您可以查看一项工作在线程池中等待执行的时间。(例如,在下面的截图中,工作在线程池中等待126毫秒来分派。)

监控DB调用:在新的RELIC APM数据存储标签中,您可以看到应用程序所做的外部呼叫,这些呼叫的响应时间以及每分钟发生多少请求。

新的遗物APM数据存储标签标签示例

显示发生了哪些错误:异步应用程序中最常见错误的错误率和频率也可以通过异步api看到。下面是一个应用程序抛出重复键错误的错误页面示例。看到应用产生的错误意味着更快的解析度和更快乐的用户。

错误速率截图

[点击放大]

更多新功能

除了交易外,新的遗物API现在还揭示了丰富的功能,例如创建和累积自定义度量标准的功能,明确地注意错误,以及跨自定义传输通道进行跟踪。您现在可以报告使用Java代理API正在跟踪的外部HTTP服务,数据库,消息队列或其他外部资源的调用,并添加交叉应用追踪与新遗物授权的外部HTTP或JMS服务进行通信时。有关支持的API呼叫的全部列表,请参阅我们的详细信息API指南

使用新的Relic Java代理api来安装自定义框架的目的是为了更深入地洞察、更快地识别错误,并增强对应用程序行为的理解。无论您的框架或应用程序如何发展,这些api都可以帮助您转换理解应用程序的方式。

Alexa Stefanko是Java代理团队的工程师。她从海湾地区冰雹,但被摧毁到波特兰,享受休眠火山和工匠泡菜。没有考虑软件时,她喜欢和她的狗一起跑步,谈论电影。查看帖子

对新遗物博客的写作有兴趣吗?亚搏体育登入网给我们发一份建议书!