Мы используем абстрактные классы для таких сервисов, как этот псевдокод
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 ....
}
}
Существуют бины, которые наследуют AbstractApiService
и предоставляют такие функции, как создание, удаление и обновление объектов, таких как
class UserAccountService extends AbstractApiService {
... code ....
}
Я хотел бы получать метрики для каждого вызова функции из дочерних классов, таких как UserAccountService
, но Прометей отправляет события с полным префиксом родительского класса.
Приложение основано на 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'