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);
                }
            });
  • 相关阅读:
    .Net桌面程序自动更新NAppUpdate
    geojson转esriJson
    geoserver wfs属性查询
    Electron使用electron-packager打包记录
    cesium纽约3dtiles数据下载
    根据范围爬TMS规则瓦片
    利用geojson实现模型轨迹运动
    obj2gltf安装详细教程
    IIS发布网站常见MIME扩展类型添加
    openlayer3 坐标系转换
  • 原文地址:https://www.cnblogs.com/zhangwanhua/p/8192231.html
Copyright © 2011-2022 走看看