统一APM和RUM数据以实现全堆栈可见性| Datadog

统一APM和RUM数据以实现全堆栈可见性

作者玛丽·杰克·希曼

发布日期:2020年12月17日

如果整个堆栈中没有统一的可见性,那么在解决前端问题时可能很难调查后端依赖性,也很难跟踪由错误的浏览器请求引起的数据库故障的来源。全方位可视性为您提供快速查明和解决事件所需的洞察力。

数据加密狗真实用户监控(RUM)让您实时了解用户如何体验您的应用程序。在后端,分布式跟踪提供对单个请求的生命周期以及关键性能指标(包括请求吞吐量、延迟和错误率)的可见性。现在,你可以了将RUM数据与相应的跟踪连接起来在请求跨堆栈层移动时,为您提供统一的端到端可视性。这为问题提供了丰富的上下文,并帮助您更轻松地定位导致用户界面错误的后端问题,或者确定堆栈中问题影响用户的范围,无论是应用程序的特定端点还是地理区域。

在本文中,我们将探讨如何使用Datadog APM和RUM更轻松地调查应用程序错误并跟踪其影响。我们将介绍:

使用前端数据查找后端根本原因

Datadog RUM可以帮助提醒您应用程序中影响最终用户体验的问题。例如,错误跟踪自动将类似的前端错误聚合为问题,以便您可以对其进行分类并调查最紧急的问题。

数据狗错误跟踪将前端错误聚合为问题。

数据狗捕获关键细节有关错误以及有关用户会话(如用户的位置、设备类型和浏览器)和遇到问题的页面视图(包括视图路径组和URL)的信息。这有助于您确定问题的范围,包括它在您的应用程序中的确切位置以及影响到谁。

但是,如果问题的根本原因位于某个后端服务或依赖项中,则仅使用前端数据很难找到它。为此,我们可以转向APM。

深入后端跟踪

由于Datadog Real User Monitoring和APM完全集成,因此跟踪使用前端数据进行标记,包括发起请求的用户的会话ID、视图ID和视图路径组。例如,如果我们收到关于前端错误的警报,我们可以使用视图ID转到RUM Explorer来检查导致该错误的特定视图事件。从那里,我们可以转移到踪迹选项卡以查看火焰图,该图可视化了与该视图关联的完整轨迹。

除了能够识别导致前端问题的后端服务外,可视化跟踪还允许我们通过提供对指标、日志、网络性能数据和代码热点所有这些都来自于一块玻璃。

衡量后端问题对最终用户的影响

到目前为止,我们已经了解了Datadog如何在RUM和APM数据之间集成,使您可以从前端数据透视到后端跟踪,从而找到问题的根本原因并进行故障排除。接下来,我们将通过分析受问题影响的人,了解RUM如何提供事件的深层背景。

Datadog统一了APM和RUM数据。
Datadog将跟踪与相关前端数据统一起来,以实现跨堆栈可见性。

假设我们收到一个警报,指示向我们的产品再推荐服务。为了进行调查,我们可以从查看相关的跟踪开始,以定位错误并确定服务在哪里遇到问题。深入追踪,我们可以看到产品再推荐服务超时。查看与跟踪关联的日志揭示了我们的代码多次尝试除以零,很可能导致问题。

查看与分布式跟踪关联的日志。

我们已经使用APM来确定错误的原因(因此可以通知正确的团队部署修复程序)。接下来,我们可以使用RUM了解哪些用户实际受到了影响,以及事件的范围有多广。

我们的跟踪包括一个名为浏览器请求,它跟踪请求的整个生命周期。通过选择该范围,我们可以看到前端元数据,包括会话ID和视图路径组。这表明span表示与我们的应用程序的实际用户交互,该应用程序启动了引发错误的后端请求。

因为Datadog将跟踪与关联的RUM数据连接起来,所以可以看到我们的跟踪在/部门/沙发/产品/?路径组。我们可以选择路径组并透视以在RUM Explorer中查看它。例如,这让我们可以看到该路径组的传入请求来自何处以及它们的加载时间。或者,我们可以使用视图ID来查看呈现的确切页面,以便了解错误如何影响用户会话的更多上下文。

从这里,我们可以查看在导致后端错误和速度减慢的确切页面加载期间调用的所有资源的瀑布分解。

Datadog RUM显示加载每个前端资源的持续时间。

通过Datadog APM和RUM实现端到端可视性

Datadog通过将真实用户分析与100%的实时后端跟踪。您可以从单个视图轻松地可视化和关联前端数据以及后端活动的完整细分。因此,通过一块玻璃,您可以将浏览器超时追溯到数据库操作,或者将API故障链接到web组件中的拼写错误。

您现在可以开始使用Datadog APM和RUM来完全查看堆栈。或者,如果您是Datadog的新手,请开始使用我们的.