java - 如何使用千分尺测量每秒的 http 请求数

标签 java rest instrumentation statsd micrometer

我们有一个使用 vert.x 开发的休息服务,每秒都会收到大量请求。我将 StatsdMeterRegistry 用于其他指标,例如 Timer 来测量处理不同业务逻辑所采取的措施。我如何使用千分尺测量每秒发出的 http 请求。在我的本地,我安装了 statsd 代理和 Carbon/graphite/whisper,但在生产中它将是 statsd 和 sysdig。不使用 spring 框架或 spring boot。我无法在千分尺的内置支持中使用 vertx,因为它不支持 statsd。 Micrometer 是否提供内置的 http 请求率计量表。或者您可以建议的任何不同方式。

最佳答案

Micrometer 是一个简单的指标外观。您应该能够利用内置的千分尺支持并只需插入正确的后端。

以下是创建 statsd 注册表并将其注册到 vertx 的方法:

StatsdConfig config = new StatsdConfig() {
    @Override
    public String get(String k) {
        return null;
    }


    @Override
    public StatsdFlavor flavor() {
        return StatsdFlavor.Etsy;
    }
};

MeterRegistry registry = new StatsdMeterRegistry(config, Clock.SYSTEM);

Vertx vertx = Vertx.vertx(new VertxOptions()
  .setMetricsOptions(new MicrometerMetricsOptions()
    .setMicrometerRegistry(registry)
    .setEnabled(true)));

文档: http://micrometer.io/docs/registry/statsD#_configuringhttps://vertx.io/docs/vertx-micrometer-metrics/java/#_other_backends_or_combinations

关于java - 如何使用千分尺测量每秒的 http 请求数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54559770/

相关文章:

c - 用什么代替 gcc/llvm 的 mudflap(用于检测内存访问错误)?

java - JFace - 如何根据同一行中另一列的复选框值在 TreeViewer 中仅可编辑一列?

java - 如何在spring mvc中使用带有freemarker的消息?

java - Vim 脚本为链式方法调用插入 Java 空引用检查

java - Jersey @Consumes 端点如何匹配?

java - 是否可以在 JUnit 测试中使用 java.lang.instrument.Instrumentation?

java - System.currentTimeMillis() 在 Windows XP 上不准确?

rest - REST可发现性和HATEOAS是否暗示您可以更改URI?

java - JPA+ Spring : Mapping a foreign key column to a ID based on the value received before persisting the entity

c# - .NET BCL 中的跟踪与调试