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