AppSignal通过OpentElemetry与Prisma无缝集成,以使您对应用程序的执行方式有着无价的见解。
在这篇博客文章中,我们将概述如何使用应用程序信号来优化应用程序的PRISMA集成,降低效率低下的数据库查询,发现异常并提高应用程序的可伸缩性。
监视Prisma的好处
如果您的应用程序处理多个查询以满足单个请求,则重要的是确保每个查询都能发挥最佳性能(尤其是如果您的应用程序具有深度嵌套的对象结构)。
例如,想象一下一篇著名的博客文章,该文章还允许其他作者的评论。这可能会导致复杂,效率低下和缓慢的数据库查询。随着越来越多的人对帖子的评论,检索博客文章和相关对象的查询可能会变得笨拙,从而对应用程序的性能产生负面影响。加入和子征服可以进一步加剧问题并可能检索冗余信息。
使用AppSignal的活动时间表,您可以识别出较差的Prisma查询,并在引起瓶颈或影响您的应用程序时的可用性之前进行补救。
与AppSignal有关的指标
AppSignal提供了您所需的见解,以帮助您的应用程序量表,而不是失败。
查找时间轴异常
AppSignal的事件时间表清楚地概述了您的应用程序在请求级别上的性能。它显示了请求执行了哪些操作。
此示例显示了我们的事件时间表如何解释您的应用程序的Prisma OpenTelemetry数据:
微观和宏观指标
单击事件日志中的PRISMA事件,您可以更深入地研究数据库性能。您可以查看描述数据库的响应时间和吞吐量(已处理事件的数量)的图表。
在下图中,多个查看我们的博客文章的请求指示慢数据库查询。
您还可以看到涉及同一事件的其他应用程序操作的方便列表。使用此列表来确定需要查询优化的位置,发现事件之间的潜在相关性,并避免耗时的调试会话。
将Prisma数据发送到AppSignal
感谢OpentElemetry,integrate AppSignal and Prisma很容易。首先,确保您的应用程序使用Prisma 4.2或更高和appssignal,用于节点3.0或更高。
。要使用您的node.js软件包的appsignal自动仪器prisma,请在Prisma架构中启用跟踪预览功能,如下所示:
generator client {
provider = "prisma-client-js"
previewFeatures = ["tracing"]
}
仪器后,PRISMA集成将为每个查询发送应用程序范围(包括数据库连接和序列化过程的儿童跨度)。每个查询跨度显示执行的查询以及完成的时间。
AppSignalðOpentElemetry
由于our adoption of OpenTelemetry,AppSignal Instruments 16 libraries and frameworks out-of-the-box。获取您需要有效有效地监视和优化应用程序的数据。
支持的库和框架 |
---|
express |
快速 |
FS模块 |
GraphQl(Apollo,Yoga) |
http/https模块 |
knex(书架) |
ko.js td> |
mongodb |
猫鼬 |
mysql |
Nestjs |
next.js |
PostgreSQL |
prisma |
redis |
restify |
尝试AppSignal并获取StroopWafelsðª
我们期待将来向您介绍更多的开源功能和框架支持!
与此同时,如果您对应用程序信号有任何疑问,请不要犹豫对get in touch!我们提供Dev-to-dev支持,give free accounts to open-source projects,如果您是Appsignal的新手,我们会以美味的stroopwafels寄来欢迎您加入您的船上。