开发者希望能够回答这个问题:“我的应用程序为什么这么慢?” 现代软件系统是分布式且复杂的,这使得诊断影响用户体验的问题变得越来越困难。
我们在设计新的追踪和指标功能时考虑到了这些问题。这些功能使 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 新闻通讯