public void onCreate()

in concurrency-loadbalancer-m3/src/main/java/com/uber/concurrency/loadbalancer/TallyMetricsTaskListener.java [105:119]


    public void onCreate(T t) {
        String name = taskNameMapper.apply(t);
        scope.tagged(ImmutableMap.of(TAG_TASK, name)).counter(METRIC_NAME_REQUEST_RATE).inc(1);

        taskRates.computeIfAbsent(t, o -> new EWMARates()).update(1);
        long oldTick = this.lastTick.get();
        long newTick = ticker.read();
        long age = newTick - oldTick;
        //report standard deviation of m1/5/15 rates to M3 to indicates balance of load balancing
        if (age > TICK_INTERVAL_NANOS && this.lastTick.compareAndSet(oldTick, newTick)) {
            scope.gauge(METRIC_NAME_M1RATE_STDDEV).update(calcStandardDeviation(o->o.m1Rate));
            scope.gauge(METRIC_NAME_M5RATE_STDDEV).update(calcStandardDeviation(o->o.m5Rate));
            scope.gauge(METRIC_NAME_M15RATE_STDDEV).update(calcStandardDeviation(o->o.m15Rate));
        }
    }