zoukankan      html  css  js  c++  java
  • hystrix源码小贴士之Yammer Publisher

    HystrixYammerMetricsPublisher

      继承HystrixMetricsPublisher,创建HystrixYammerMetricsPublisherCommand、HystrixYammerMetricsPublisherThreadPool、HystrixYammerMetricsPublisherCollapser。

     @Override
        public HystrixMetricsPublisherCommand getMetricsPublisherForCommand(HystrixCommandKey commandKey, HystrixCommandGroupKey commandGroupKey, HystrixCommandMetrics metrics, HystrixCircuitBreaker circuitBreaker, HystrixCommandProperties properties) {
            return new HystrixYammerMetricsPublisherCommand(commandKey, commandGroupKey, metrics, circuitBreaker, properties, metricsRegistry);
        }
    
        @Override
        public HystrixMetricsPublisherThreadPool getMetricsPublisherForThreadPool(HystrixThreadPoolKey threadPoolKey, HystrixThreadPoolMetrics metrics, HystrixThreadPoolProperties properties) {
            return new HystrixYammerMetricsPublisherThreadPool(threadPoolKey, metrics, properties, metricsRegistry);
        }
    
        @Override
        public HystrixMetricsPublisherCollapser getMetricsPublisherForCollapser(HystrixCollapserKey collapserKey, HystrixCollapserMetrics metrics, HystrixCollapserProperties properties) {
            return new HystrixYammerMetricsPublisherCollapser(collapserKey, metrics, properties, metricsRegistry);
        }

     HystrixYammerMetricsPublisherCommand

      从HystrixCommandMetrics获取数据,然后设置到MetricsRegistry中。

    例如:

    protected void createExecutionLatencyPercentileGauge(final String name, final double percentile) {
            metricsRegistry.newGauge(createMetricName(name), new Gauge<Integer>() {
                @Override
                public Integer value() {
                    return metrics.getExecutionTimePercentile(percentile);
                }
            });
        }

     HystrixYammerMetricsPublisherThreadPool

      从HystrixThreadPoolMetrics获取数据,然后设置到MetricsRegistry中。

    例如:

    metricsRegistry.newGauge(createMetricName("rollingMaxActiveThreads"), new Gauge<Number>() {
                @Override
                public Number value() {
                    return metrics.getRollingMaxActiveThreads();
                }
            });

    HystrixYammerMetricsPublisherCollapser

      从HystrixCollapserMetrics获取数据,然后设置到MetricsRegistry中。

    例如:

    metricsRegistry.newGauge(createMetricName("shardSize_percentile_50"), new Gauge<Integer>() {
                @Override
                public Integer value() {
                    return metrics.getShardSizePercentile(50);
                }
            });
  • 相关阅读:
    JS常用设计模式
    react native两次点击返回按钮退出APP
    react-native-device-info集成遇到的坑
    Django环境搭建之hello world
    jmeter之beanshell断言实例
    jmeter之beanshell断言---数据处理
    Jmeter将JDBC Request查询结果作为下一个接口参数方法(转载)
    App功能测试的注意点
    mybatis的CRUD实例(四)
    mybatis的CRUD实例(三)
  • 原文地址:https://www.cnblogs.com/zhangwanhua/p/8192231.html
Copyright © 2011-2022 走看看