首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对继承的函数使用@Timed

对继承的函数使用@Timed
EN

Stack Overflow用户
提问于 2018-09-29 02:12:18
回答 2查看 320关注 0票数 0

我们对服务使用抽象类,比如下面的伪代码

代码语言:javascript
复制
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 ....
    }
}

有一些beans继承了AbstractApiService并提供创建、删除、更新实体等功能,如

代码语言:javascript
复制
class UserAccountService extends AbstractApiService {
    ... code ....
}

我想从像UserAccountService这样的子类中获得每个函数调用的度量,但Prometheus发送的事件带有完整的父类前缀。

App基于Grails 3.3.8

build.gradle:

代码语言:javascript
复制
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'
EN

回答 2

Stack Overflow用户

发布于 2018-09-29 02:57:16

不幸的是,我相信你必须为你想要跟踪的每个方法定义@Timed注释。我不认为注释代码会为每个具体的类提供单独的度量。

票数 0
EN

Stack Overflow用户

发布于 2018-10-05 17:14:08

我创建了一个自定义的手动解决方案https://gist.github.com/michmzr/1e03534bc5fb6df89065f6964acf9c71

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52560719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档