Package co.cask.cdap.metrics.data

Examples of co.cask.cdap.metrics.data.AggregatesScanner


    // process.events.processed will have a tag like "input.queue://PurchaseFlow/reader/queue" which indicates
    // where the processed event came from.  So first get the aggregate count for events processed and all the
    // queues they came from. Next, for all those queues, get the aggregate count for events they wrote,
    // and subtract the two to get queue length.
    AggregatesScanner scanner = aggregatesTable.scan(metricsRequest.getContextPrefix(),
                                                     "process.events.processed",
                                                     metricsRequest.getRunId(),
                                                     "input");

    long processed = 0;
    Set<String> streamNames = Sets.newHashSet();
    Set<ImmutablePair<String, String>> queueNameContexts = Sets.newHashSet();
    while (scanner.hasNext()) {
      AggregatesScanResult scanResult = scanner.next();
      processed += scanResult.getValue();
      // tag is of the form input.[queueURI].  ex: input.queue://PurchaseFlow/reader/queue
      String tag = scanResult.getTag();
      // strip the preceding "input." from the tag.
      QueueName queueName = QueueName.from(URI.create(tag.substring(6, tag.length())));
View Full Code Here


    return new TimeValueAggregator(timeValues.values(), interpolator).iterator();
  }

  private AggregateResponse getAggregates(MetricsRequest request) {
    AggregatesTable aggregatesTable = aggregatesTables.get().get(request.getScope());
    AggregatesScanner scanner = aggregatesTable.scan(request.getContextPrefix(), request.getMetricPrefix(),
                                                     request.getRunId(), request.getTagPrefix());
    return new AggregateResponse(sumAll(scanner));
  }
View Full Code Here

    // shouldn't be in params more than once, but if it is, just take any one
    String metricPrefix = (prefixEntity == null || prefixEntity.isEmpty()) ? null : prefixEntity.get(0);

    Map<String, ContextNode> metricContextsMap = Maps.newHashMap();
    for (AggregatesTable table : aggregatesTables.get().values()) {
      AggregatesScanner scanner = table.scanRowsOnly(contextPrefix, metricPrefix);

      // scanning through all metric rows in the aggregates table
      // row has context plus metric info
      // each metric can show up in multiple contexts
      while (scanner.hasNext()) {
        AggregatesScanResult result = scanner.next();
        addContext(result.getContext(), result.getMetric(), metricContextsMap);
      }
    }

    // return the metrics sorted by metric name so it can directly be displayed to the user.
View Full Code Here

TOP

Related Classes of co.cask.cdap.metrics.data.AggregatesScanner

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.