如何为 Spring Boot 2 添加自定义 MeterRegisty

     2023-02-15     48

关键词:

【中文标题】如何为 Spring Boot 2 添加自定义 MeterRegisty【英文标题】:How to add custom MeterRegisty for Spring Boot 2 【发布时间】:2020-03-21 14:13:22 【问题描述】:

我目前正在以 10 秒的间隔将我的 Spring Boot Webflux 项目的执行器指标导出到 DataDog。我想为我们的一个内部系统添加另一个导出器,该系统不在支持的后端列表中。查看DataDogMeterRegistry 的实现,我想到了以下内容。

public interface ExternalConfig extends StepRegistryConfig 

  ExternalConfig DEFAULT = k -> null;

  @Override
  default String prefix() 
    return "vwexternal";
  


@Slf4j
public class ExternalMeterRegistry extends StepMeterRegistry 

  public ExternalMeterRegistry() 
    this(ExternalConfig.DEFAULT, Clock.SYSTEM);
  

  public ExternalMeterRegistry(StepRegistryConfig config, Clock clock) 
    super(config, clock);
  

  @Override
  protected void publish() 
    log.info("HERE");
  

  @Override
  protected TimeUnit getBaseTimeUnit() 
    return TimeUnit.MILLISECONDS;
  


@SpringBootApplication
public class MyApplication 
  public static void main(String[] args) 
    SpringApplication.run(MyApplication.class, args);
    Metrics.addRegistry(new ExternalMeterRegistry());
  

但是这不起作用,因为没有打印日志。

我的问题是如何为 Spring Boot Micrometer 添加和实现另一个 MeterRegistry?

【问题讨论】:

我相信你需要在你的发布方法中调用super.publish() 不,那是抽象方法,不能直接调用。 【参考方案1】:

您需要start 发布。与LoggingMeterRegistry比较

在您的构造函数中类似于:

start(new NamedThreadFactory("vw-metrics-publisher"))

【讨论】:

如何为 ZuulException 自定义 Spring Boot 控制器 API 响应

】如何为ZuulException自定义SpringBoot控制器API响应【英文标题】:HowtocustomizeSpringbootcontrollerAPIresponseforZuulException【发布时间】:2019-04-1505:24:16【问题描述】:我们正在为RESTAPI使用Zuul、Eureka和SpringBoot应用程序服务。假设我的springboo... 查看详情

如何为 Spring Boot 应用程序设置自定义 Http 标头“服务器”

】如何为SpringBoot应用程序设置自定义Http标头“服务器”【英文标题】:HowtosetcustomHttpheader"server"forSpringBootapplications【发布时间】:2016-01-0420:55:38【问题描述】:默认情况下,带有嵌入式Tomcat的SpringBoot应用程序的HTTP“服... 查看详情

如何为spring数据编写自定义模块

】如何为spring数据编写自定义模块【英文标题】:Howtowriteacustommoduleforspringdata【发布时间】:2018-01-2811:19:18【问题描述】:我需要扩展spring数据以支持我自己的自定义后端。从springdatawebsite看来,似乎可以将社区模块添加到框架... 查看详情

如何为 Spring Web 流定义自定义消息源?

】如何为SpringWeb流定义自定义消息源?【英文标题】:HowcanIdefineacustommessagesourceforaspringwebflow?【发布时间】:2011-12-2408:16:13【问题描述】:springwebflow文档提到他们将消息添加到流的方式是在流内的文件messages.properties中定义有关... 查看详情

如何为我的 Spring Boot 控制器执行单元测试?

】如何为我的SpringBoot控制器执行单元测试?【英文标题】:Howtoperformunittestsformyspringbootcontroller?【发布时间】:2018-06-0314:24:25【问题描述】:我是TDD的新手,目前我正在学习一些关于如何为我的SpringBootAPI编写自动化测试的知识... 查看详情

Flask Mail:如何为发件人添加自定义名称?

】FlaskMail:如何为发件人添加自定义名称?【英文标题】:FlaskMail:howtoaddcustomnametothesender?【发布时间】:2019-04-2416:37:11【问题描述】:我正在使用Flask邮件发送电子邮件。一切正常,除了我注意到发件人姓名只是电子邮件的第一... 查看详情

如何为颤振添加自定义颜色?

】如何为颤振添加自定义颜色?【英文标题】:howtoaddcustomcolortoflutter?【发布时间】:2018-11-0601:17:37【问题描述】:我想更改AppBar的颜色并为其使用自定义颜色,我尝试了很多选项,但似乎都不起作用。我有什么遗漏吗?import\'pa... 查看详情

如何为 UITableView 添加自定义 EditingAccessoryView?

】如何为UITableView添加自定义EditingAccessoryView?【英文标题】:HowtoaddCustomEditingAccessoryViewforUITableView?【发布时间】:2010-10-2508:01:27【问题描述】:我想在单元格中添加自定义EditingAccessoryView,当用户滑动代替删除按钮时,我想显... 查看详情

如何为自定义 FontFamily 添加权重?

】如何为自定义FontFamily添加权重?【英文标题】:HowtoaddweighttocustomFontFamily?【发布时间】:2017-04-0701:12:46【问题描述】:我有多个来自同一家族的.ttf文件,例如:MyFont.ttfMyFont_Bold.ttfMyFont_Light.ttfMyFont_Medium.ttf如果我想使用每个权... 查看详情

如何为分析添加 Firebase 自定义事件?

】如何为分析添加Firebase自定义事件?【英文标题】:HowtoaddFirebasecustomeventsforanalytics?【发布时间】:2017-03-2119:37:26【问题描述】:我已经看到一些关于Firebase分析的自定义事件的问题和答案,但我只是想问你一个直截了当的问题... 查看详情

如何为 MongoDB 和 Spring Boot 定义主机名到 docker-compose.yml

】如何为MongoDB和SpringBoot定义主机名到docker-compose.yml【英文标题】:Howtodefinehostnameintodocker-compose.ymlforMongoDBandSpringBoot【发布时间】:2019-10-0109:00:46【问题描述】:我正在尝试使用MongoDB和Springboot创建docker-compose.yml。问题是我不想... 查看详情

如何为自定义对象的 ArrayList 添加 parcelable 实现?

】如何为自定义对象的ArrayList添加parcelable实现?【英文标题】:HowtoaddtheparcelableimplementationforArrayListofCustomobject?【发布时间】:2021-12-0202:02:55【问题描述】:我创建了一个包含自定义对象的ArrayList和一些其他字符串变量的类。我... 查看详情

如何为自定义 nemo 操作添加键盘快捷键?

】如何为自定义nemo操作添加键盘快捷键?【英文标题】:Howtoaddkeyboardshortcutforcustomnemoaction?【发布时间】:2016-12-2913:46:04【问题描述】:我有一个自定义nemo操作,如下所述:https://wiki.archlinux.org/index.php/Nemo#Nemo_Actions如何为此操... 查看详情

如何为自定义 uicontrol 和控制器添加触摸事件?

】如何为自定义uicontrol和控制器添加触摸事件?【英文标题】:Howtoaddtoucheventforcustomuicontrolandcontroller?【发布时间】:2017-09-1021:50:51【问题描述】:我有一个具有三个子视图的自定义UIControl。每个子视图,我添加一个目标:button.... 查看详情

如何为 GitHub 组织添加自定义用户角色?

】如何为GitHub组织添加自定义用户角色?【英文标题】:HowtoaddcustomuserrolesforaGitHuborganisation?【发布时间】:2016-09-2413:04:15【问题描述】:GitHub上的组织中有两个默认用户角色:“admin”和“member”。如何进一步引入角色并配置其... 查看详情

如何为自定义 UITableView 标题部分笔尖添加分隔线? [复制]

】如何为自定义UITableView标题部分笔尖添加分隔线?[复制]【英文标题】:HowdoIaddaseparatorlineforacustomUITableViewheadersectionnib?[duplicate]【发布时间】:2017-04-2206:56:57【问题描述】:我按照这个答案here中的说明操作并设法获得我的自定... 查看详情

如何为形状添加自定义视图修改器

】如何为形状添加自定义视图修改器【英文标题】:HowcaniaddacustomViewmodifierforShapes【发布时间】:2019-11-2100:15:17【问题描述】:我想用某种修饰符调用我的ImageView以使其中的图像为圆形或方形。代码应如下所示:ImageView(withURL:news... 查看详情

如何为已添加在 UIViewController 之上的 tableView 添加自定义单元格?

】如何为已添加在UIViewController之上的tableView添加自定义单元格?【英文标题】:HowdoIaddcustomcellsforatableViewwhichhasbeenaddedontopofaUIViewController?【发布时间】:2019-08-0211:48:28【问题描述】:我在一个普通的UIViewController类上使用了一个t... 查看详情