public Metrics()

in mantis-common/src/main/java/io/mantisrx/common/metrics/Metrics.java [48:81]


    public Metrics(Builder builder) {
        this.builder = builder;
        this.metricGroup = builder.metricGroup;

        // create spectator counters
        if (builder.counterIds != null && builder.counterIds.size() > 0) {
            for (MetricId id : builder.counterIds) {
                logger.debug("creating spectator counter for {}", id);
                counters.put(id, new CounterImpl(id, builder.registry));
            }
        }

        // create gauges
        if (builder.callbackGauges != null && builder.callbackGauges.size() > 0) {
            for (Gauge gauge : builder.callbackGauges) {
                gauges.put(gauge.id(), gauge);
            }
        }

        // create spectator gauges
        if (builder.gaugeIds != null && builder.gaugeIds.size() > 0) {
            for (MetricId gaugeId : builder.gaugeIds) {
                logger.debug("creating spectator gauge for {}", gaugeId);
                gauges.put(gaugeId, new GaugeImpl(gaugeId, builder.registry));
            }
        }

        if (builder.timerIds != null && builder.timerIds.size() > 0) {
            for (MetricId id : builder.timerIds) {
                logger.debug("creating spectator timer for {}", id);
                timers.put(id, new TimerImpl(id, builder.registry));
            }
        }
    }