【发布时间】:2016-04-06 12:13:51
【问题描述】:
我正在研究 Dropwizard Metrics,我的目标是实时测量计数器和直方图,并将它们发送到 ElasticSearch 实例。
即使我发现在开发阶段很容易让它工作,我想知道是否有一种方法可以在项目增长时添加 Metrics 代码,同时保持干净。
在跟踪指标时是否有常用的设计模式?我的意思是,一个可以让我们保持我们的代码解耦,业务与指标的实现。
我一直在考虑的可能方法是:
A) AOP:干净,但在我的业务类中仍有一些代码。
B) HTTP 代理并将请求转发到特定的微服务/API,使用 Camel 或类似工具。也许太复杂了,我担心这会增加延迟。
谢谢!
【问题讨论】:
-
您能否编辑您的帖子并解释您当前的方法、您的成长方式、您的关注点等。这个问题非常开放,答案可能会填满书籍。
-
@pandaadb 谢谢,我添加了两种可能的方法。我们正在构建一个具有大量请求的社交游戏,并且需要在不产生脏代码的情况下进行测量。
-
Elasticsearch 与您的问题有什么关系?是否要使用指标,然后将指标报告给 elasticsearch?你的结果必须是立竿见影的吗? (例如,实时查看正在发生的事情?)您在测量什么? (请求?代码的执行时间?计算一些东西......?)
-
@pandaadb 再次感谢,添加了一些信息并更加强调了 ES 角色,这是次要的,包含在问题中只是为了理解上下文。
标签: java design-patterns dropwizard metrics code-cleanup