我们将抽象类用于此类伪代码
abstract class AbstractApiService {
@Timed(value="get", useClassPrefix=true)
def get(Long id) {
... returns sth ....
}
@Timed(value="create", useClassPrefix=true)
def create(Map params) {
... returns sth ....
}
}
有些bean继承了AbstractApiService
并提供诸如创建,删除,更新实体之类的功能
class UserAccountService extends AbstractApiService {
... code ....
}
我想从UserAccountService
之类的子类中获取每个调用函数的度量,但是Prometheus发送带有完整父类前缀的事件。
应用程序基于Grails 3.3.8
build.gradle:
compile 'com.moelholm:prometheus-spring-boot-starter:1.0.2'
compile 'io.dropwizard.metrics:metrics-core:4.0.0-alpha2'
compile 'io.dropwizard.metrics:metrics-jvm:4.0.0-alpha2'
compile 'org.grails.plugins:dropwizard-metrics:1.0.0.M2'
答案 0 :(得分:0)
不幸的是,我相信您将必须为要跟踪的每种方法定义@Timed批注。我不认为注释代码会为每个具体类生成单独的指标。
答案 1 :(得分:0)