com.yammer.metrics.core.Timer类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(144)

本文整理了Java中com.yammer.metrics.core.Timer类的一些代码示例,展示了Timer类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Timer类的具体详情如下:
包路径:com.yammer.metrics.core.Timer
类名称:Timer

Timer介绍

[英]A timer metric which aggregates timing durations and provides duration statistics, plus throughput statistics via Meter.
[中]一种计时器度量,它聚合计时持续时间并提供持续时间统计信息,以及通过计时器提供的吞吐量统计信息。

代码示例

代码示例来源:origin: apache/usergrid

/** Add a count object to this batcher */
public void add( Count count ) throws CounterProcessingUnavailableException {
  invocationCounter.inc();
  final TimerContext context = addTimer.time();
  if ( batchSize == 1 ) {
    getBatch().addSerial( count );
  }
  else {
    getBatch().add( count );
  }
  context.stop();
}

代码示例来源:origin: apache/incubator-pinot

/**
 * Logs the timing for a metric
 *
 * @param fullTimerName The full name of timer
 * @param duration The log time duration time value
 * @param timeUnit The log time duration time unit
 */
private void addValueToTimer(String fullTimerName, final long duration, final TimeUnit timeUnit) {
 final MetricName metricName = new MetricName(_clazz, fullTimerName);
 com.yammer.metrics.core.Timer timer =
   MetricsHelper.newTimer(_metricsRegistry, metricName, TimeUnit.MILLISECONDS, TimeUnit.SECONDS);
 MetricsHelper.newTimer(_metricsRegistry, metricName, TimeUnit.MILLISECONDS, TimeUnit.SECONDS)
   .update(duration, timeUnit);
}

代码示例来源:origin: linkedin/cruise-control

context.brokerId(),
                               metricName,
                               timer.fiveMinuteRate());
context.reporter().sendCruiseControlMetric(ccm);
                     context.brokerId(),
                     metricName,
                     timer.max(),
                     MetricsUtils.ATTRIBUTE_MAX);
context.reporter().sendCruiseControlMetric(ccm);
                     context.brokerId(),
                     metricName,
                     timer.mean(),
                     MetricsUtils.ATTRIBUTE_MEAN);
context.reporter().sendCruiseControlMetric(ccm);
Snapshot snapshot = timer.getSnapshot();
                     snapshot.getMedian(),
                     MetricsUtils.ATTRIBUTE_50TH_PERCENTILE);
context.reporter().sendCruiseControlMetric(ccm);
                     context.brokerId(),
                     metricName,
                     snapshot.get999thPercentile(),
                     MetricsUtils.ATTRIBUTE_999TH_PERCENTILE);
context.reporter().sendCruiseControlMetric(ccm);

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public void processTimer(MetricName name, Timer timer, PrintStream stream) {
  processMeter(name, timer, stream);
  final String durationUnit = abbrev(timer.durationUnit());
  final Snapshot snapshot = timer.getSnapshot();
  stream.printf(locale, "               min = %2.2f%s\n", timer.min(), durationUnit);
  stream.printf(locale, "               max = %2.2f%s\n", timer.max(), durationUnit);
  stream.printf(locale, "              mean = %2.2f%s\n", timer.mean(), durationUnit);
  stream.printf(locale, "            stddev = %2.2f%s\n", timer.stdDev(), durationUnit);
  stream.printf(locale, "            median = %2.2f%s\n", snapshot.getMedian(), durationUnit);
  stream.printf(locale, "              75%% <= %2.2f%s\n", snapshot.get75thPercentile(), durationUnit);
  stream.printf(locale, "              95%% <= %2.2f%s\n", snapshot.get95thPercentile(), durationUnit);
  stream.printf(locale, "              98%% <= %2.2f%s\n", snapshot.get98thPercentile(), durationUnit);
  stream.printf(locale, "              99%% <= %2.2f%s\n", snapshot.get99thPercentile(), durationUnit);
  stream.printf(locale, "            99.9%% <= %2.2f%s\n", snapshot.get999thPercentile(), durationUnit);
}

代码示例来源:origin: addthis/hydra

@Test
public void reportsTimerValues() throws Exception {
  final Timer timer = mock(Timer.class);
  when(timer.eventType()).thenReturn("events");
  when(timer.durationUnit()).thenReturn(TimeUnit.MILLISECONDS);
  when(timer.rateUnit()).thenReturn(TimeUnit.SECONDS);
  when(timer.count()).thenReturn(1L);
  when(timer.meanRate()).thenReturn(2.0);
  when(timer.oneMinuteRate()).thenReturn(3.0);
  when(timer.fiveMinuteRate()).thenReturn(4.0);
  when(timer.fifteenMinuteRate()).thenReturn(5.0);
  when(timer.max()).thenReturn(2.0);
  when(timer.mean()).thenReturn(3.0);
  when(timer.min()).thenReturn(4.0);
  when(timer.stdDev()).thenReturn(5.0);
  when(snapshot.getMedian()).thenReturn((double) 500);
  when(snapshot.get75thPercentile()).thenReturn((double) 600);
  when(snapshot.get95thPercentile()).thenReturn((double) 700);
  when(snapshot.get98thPercentile()).thenReturn((double) 800);
  when(snapshot.get99thPercentile()).thenReturn((double) 900);
  when(snapshot.get999thPercentile()).thenReturn((double) 1000);
  when(timer.getSnapshot()).thenReturn(snapshot);

代码示例来源:origin: apache/usergrid

@Override
public Future submit( final Collection<Count> counts ) {
  return executor.submit( new Callable<Object>() {
    final TimerContext timer = addTimer.time();
    @Override
    public Object call() throws Exception {
      cassandraCounterStore.save( counts );
      timer.stop();
      return true;
    }
  } );
}

代码示例来源:origin: amient/kafka-metrics

@Override
public void processTimer(MetricName name, Timer timer, Long timestamp) {
  Map<String, Double> fields = new HashMap<String, Double>();
  fields.put("Count", Double.valueOf(timer.count()));
  fields.put("MeanRate", timer.meanRate());
  fields.put("FifteenMinuteRate", timer.fifteenMinuteRate());
  fields.put("FiveMinuteRate", timer.fiveMinuteRate());
  fields.put("OneMinuteRate", timer.oneMinuteRate());
  fields.put("Max", timer.max());
  fields.put("Mean", timer.mean());
  fields.put("Min", timer.min());
  fields.put("StdDev", timer.stdDev());
  fields.put("Sum", timer.sum());
  publish(createMeasurement(name, timestamp, fixedTags, fields));
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double get50thPercentile() {
  return metric.getSnapshot().getMedian();
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double get999thPercentile() {
  return metric.getSnapshot().get999thPercentile();
}

代码示例来源:origin: com.wavefront/java-lib

@Override
 public void processTimer(MetricName name, Timer timer, Context context) throws Exception {
  final JsonGenerator json = context.json;
  json.writeStartObject();
  {
   json.writeFieldName("duration");
   json.writeStartObject();
   {
    json.writeStringField("unit", timer.durationUnit().toString().toLowerCase());
    writeSummarizable(timer, json);
    writeSampling(timer, json);
    if (context.showFullSamples) {
     json.writeObjectField("values", timer.getSnapshot().getValues());
    }
   }
   json.writeEndObject();
   json.writeFieldName("rate");
   json.writeStartObject();
   {
    writeMeteredFields(timer, json);
   }
   json.writeEndObject();
  }
  json.writeEndObject();
  if (clear) timer.clear();
 }
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double get95thPercentile() {
  return metric.getSnapshot().get95thPercentile();
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double get99thPercentile() {
  return metric.getSnapshot().get99thPercentile();
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double get75thPercentile() {
  return metric.getSnapshot().get75thPercentile();
}

代码示例来源:origin: facebookarchive/hive-io-experimental

@Override
public void endReadRow(WritableComparable key, Writable value) {
 readSuccessRatio.getNumeratorCounter().inc();
 readSuccessRatio.getDenominatorCounter().inc();
 readTimerContext.stop();
 print(readTimer.count(), printPeriod, "read");
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double get98thPercentile() {
  return metric.getSnapshot().get98thPercentile();
}

代码示例来源:origin: com.yammer.metrics/metrics-servlet

@Override
public void processTimer(MetricName name, Timer timer, Context context) throws Exception {
  final JsonGenerator json = context.json;
  json.writeStartObject();
  {
    json.writeStringField("type", "timer");
    json.writeFieldName("duration");
    json.writeStartObject();
    {
      json.writeStringField("unit", timer.durationUnit().toString().toLowerCase());
      writeSummarizable(timer, json);
      writeSampling(timer, json);
      if (context.showFullSamples) {
        json.writeObjectField("values", timer.getSnapshot().getValues());
      }
    }
    json.writeEndObject();
    json.writeFieldName("rate");
    json.writeStartObject();
    {
      writeMeteredFields(timer, json);
    }
    json.writeEndObject();
  }
  json.writeEndObject();
}

代码示例来源:origin: com.facebook.presto.cassandra/cassandra-server

public void run()
  {
    SpeculativeRetry retryPolicy = ColumnFamilyStore.this.metadata.getSpeculativeRetry();
    switch (retryPolicy.type)
    {
      case PERCENTILE:
        // get percentile in nanos
        assert metric.coordinatorReadLatency.durationUnit() == TimeUnit.MICROSECONDS;
        sampleLatencyNanos = (long) (metric.coordinatorReadLatency.getSnapshot().getValue(retryPolicy.value) * 1000d);
        break;
      case CUSTOM:
        // convert to nanos, since configuration is in millisecond
        sampleLatencyNanos = (long) (retryPolicy.value * 1000d * 1000d);
        break;
      default:
        sampleLatencyNanos = Long.MAX_VALUE;
        break;
    }
  }
}, DatabaseDescriptor.getReadRpcTimeout(), DatabaseDescriptor.getReadRpcTimeout(), TimeUnit.MILLISECONDS);

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
  public double[] values() {
    return metric.getSnapshot().getValues();
  }
}

代码示例来源:origin: com.facebook.presto.cassandra/cassandra-server

/** MBean related methods */
public long getOperations()
{
  return metric.latency.count();
}

代码示例来源:origin: com.yammer.metrics/metrics-core

@Override
public double getMean() {
  return metric.mean();
}

相关文章