开发人员希望能够回答“为什么我的应用程序这么慢?”这个问题。现代软件系统是分布式且复杂的,这使得诊断影响客户体验的问题变得越来越困难。
我们在设计新的追踪和指标功能时考虑到了这些问题。这些功能使 Prisma 更具可观察性,更易于监控和调试。
通过追踪深入了解每个 Prisma 操作的详细信息
Prisma 中的追踪功能提供了 Prisma Client 执行的每个查询的详细视图,包括执行每个查询所花费的时间。这对于调试性能问题、识别瓶颈和了解数据库操作的行为非常有用。
将追踪可视化为瀑布图
使用 Jaeger 或 Honeycomb 等追踪工具,可以将追踪可视化为如下所示的瀑布图
Prisma 追踪符合 OpenTelemetry 标准
追踪是一个强大的工具,可以帮助您跟踪请求在应用程序中的流动。这对于调试分布式系统尤其有用,在分布式系统中,单个请求可以跨越多个服务。为了充分利用追踪的功能,应该在整个应用程序中端到端地实施追踪。
Prisma 中的追踪功能完全符合 OpenTelemetry 标准,因此您可以将其无缝集成到您的端到端应用程序追踪设置中。这也意味着您可以将您的追踪数据导出到任何与 OpenTelemetry 兼容的追踪系统,例如 Jaeger、Zipkin、Honeycomb、Datadog 等。
要开始使用追踪,请查看追踪文档。
使用指标监控系统的健康状况和性能
指标是一项新功能,可让您监控 Prisma 如何与您的数据库交互。指标公开了一组 计数器、仪表 和 直方图,这些指标提供有关 Prisma 和数据库连接状态的信息。我们公开的指标包括:
- 执行的 Prisma Client 查询总数 (
prisma_client_queries_total
) - 执行的 SQL 或 MongoDB 查询总数 (
prisma_datasource_queries_total
) - 活动数据库连接数 (
prisma_pool_connections_open
) - 包含所有已执行 Prisma Client 查询持续时间的直方图 (
prisma_client_queries_duration_histogram_ms_bucket
) - ...以及更多!
注意:完整公开指标列表可在指标文档中找到。
Prisma 通常感觉像一个黑匣子,神奇地代表您与数据库交互。当出现问题时,这种对 Prisma 内部工作原理缺乏透明度可能会成为一个问题。通过指标,我们旨在让您更好地了解 Prisma 在底层执行的操作,以便您可以更轻松地诊断和排除问题。
指标可以与外部监控系统集成
指标可以直接由您的应用程序分析,也可以发送到外部监控系统和时间序列数据库,例如 Prometheus 或 StatsD。与这些外部系统的集成可以通过开箱即用地提供以下功能来显着提高您的监控能力:
- 通过可视化和仪表板进行实时性能监控
- 历史数据的查询和分析
- 针对故障和性能下降的精确和自动化警报
例如,您可以通过将流行的可视化工具 Grafana 集成到您的指标管道中来创建详细的仪表板和图表:
总而言之,指标可以帮助您分析和监控应用程序的健康状况。它还有助于识别性能问题和错误配置,以便您可以快速采取必要的措施。
要开始使用指标,请查看指标文档。
追踪 vs 指标 — 何时使用哪个?
追踪有助于获取有关每个操作生命周期的细粒度信息。追踪在分布式环境中尤其有价值,在分布式环境中,单个请求可以传递到多个服务。
如果您想要用于监控应用程序健康状况和性能的聚合数值数据,请考虑使用指标。
同样重要的是要注意,追踪和指标是互补的功能。它们可以一起使用以提高系统的可观察性。
开始使用追踪和指标
要开始使用追踪和指标
分享您的反馈
我们渴望听到您的声音!请试用这些功能,并告诉我们您的想法。
📊 分享您对追踪的反馈。
📈 分享您对指标的反馈。
🚀 如果您计划将这些功能用于任务关键型应用程序,请联系我们讨论您的用例。
不要错过下一篇文章!
注册 Prisma 新闻通讯