【发布时间】:2019-11-28 21:05:02
【问题描述】:
与许多现代应用程序一样,我在当前应用程序中有几个活动部分:
- 网络服务
- 各种队列
- 各种工作进程
- 等
为了正确管理我的应用程序,我想跟踪各种与应用程序相关的任意指标,例如:
- 一段时间内的平均队列长度
- 平均队列处理时间和/或最大处理时间
- 每单位时间处理的项目数,或每单位时间处理的类型 X 的项目数,例如最后一分钟、一小时、一天有多少
- 等等
我无法为此提出一个逻辑模型,然后是一个实际的实现。我正在努力解决的一些问题:
- 这些计算是如何进行的?通过与我正在测量的事情相同的过程?通过单独的流程?
- 这些计算何时进行?例如,计算当然不应该与应用程序流程同步。
- 如何存储这些计算的结果?是否有适合存储此类指标的数据库架构?
我的一部分感觉这是一个已解决的问题,我应该采用或重用一种架构或模式。
我故意提出这个问题,但没有提及我的应用程序使用的具体技术,因为我的直觉告诉我这对模式并不重要。
想法?
【问题讨论】:
标签: monitoring metrics performance-measuring application-monitoring