Examples of MatrixReportMerger


Examples of com.dianping.cat.consumer.matrix.MatrixReportMerger

    return report;
  }

  @Override
  public MatrixReport queryDailyReport(String domain, Date start, Date end) {
    MatrixReportMerger merger = new MatrixReportMerger(new MatrixReport(domain));
    long startTime = start.getTime();
    long endTime = end.getTime();
    String name = MatrixAnalyzer.ID;

    for (; startTime < endTime; startTime = startTime + TimeHelper.ONE_DAY) {
      try {
        DailyReport report = m_dailyReportDao.findByDomainNamePeriod(domain, name, new Date(startTime),
              DailyReportEntity.READSET_FULL);
        String xml = report.getContent();

        if (xml != null && xml.length() > 0) {
          MatrixReport reportModel = com.dianping.cat.consumer.matrix.model.transform.DefaultSaxParser.parse(xml);
          reportModel.accept(merger);
        } else {
          MatrixReport reportModel = queryFromDailyBinary(report.getId(), domain);

          reportModel.accept(merger);
        }
      } catch (DalNotFoundException e) {
        //ignore
      } catch (Exception e) {
        Cat.logError(e);
      }
    }
    MatrixReport matrixReport = merger.getMatrixReport();

    matrixReport.setStartTime(start);
    matrixReport.setEndTime(end);
    return matrixReport;
  }
View Full Code Here

Examples of com.dianping.cat.consumer.matrix.MatrixReportMerger

    }
  }

  @Override
  public MatrixReport queryHourlyReport(String domain, Date start, Date end) {
    MatrixReportMerger merger = new MatrixReportMerger(new MatrixReport(domain));
    long startTime = start.getTime();
    long endTime = end.getTime();
    String name = MatrixAnalyzer.ID;

    for (; startTime < endTime; startTime = startTime + TimeHelper.ONE_HOUR) {
      List<HourlyReport> reports = null;
      try {
        reports = m_hourlyReportDao.findAllByDomainNamePeriod(new Date(startTime), domain, name,
              HourlyReportEntity.READSET_FULL);
      } catch (DalException e) {
        Cat.logError(e);
      }
      if (reports != null) {
        for (HourlyReport report : reports) {
          String xml = report.getContent();

          try {
            if (xml != null && xml.length() > 0) {// for old xml storage
              MatrixReport reportModel = com.dianping.cat.consumer.matrix.model.transform.DefaultSaxParser
                    .parse(xml);
              reportModel.accept(merger);
            } else {// for new binary storage, binary is same to report id
              MatrixReport reportModel = queryFromHourlyBinary(report.getId(), domain);

              reportModel.accept(merger);
            }
          } catch (DalNotFoundException e) {
            //ignore
          } catch (Exception e) {
            Cat.logError(e);
          }
        }
      }
    }
    MatrixReport matrixReport = merger.getMatrixReport();

    matrixReport.setStartTime(start);
    matrixReport.setEndTime(new Date(end.getTime() - 1));

    Set<String> domains = queryAllDomainNames(start, end, MatrixAnalyzer.ID);
View Full Code Here

Examples of com.dianping.cat.consumer.matrix.MatrixReportMerger

  }

  private MatrixReport queryDailyReportsByDuration(String domain, Date start, Date end) {
    long startTime = start.getTime();
    long endTime = end.getTime();
    MatrixReportMerger merger = new MatrixReportMerger(new MatrixReport(domain));

    for (; startTime < endTime; startTime += TimeHelper.ONE_DAY) {
      try {
        MatrixReport reportModel = m_reportService.queryMatrixReport(domain, new Date(startTime), new Date(
              startTime + TimeHelper.ONE_DAY));

        reportModel.accept(merger);
      } catch (Exception e) {
        Cat.logError(e);
      }
    }
    MatrixReport matrixReport = merger.getMatrixReport();
    new MatrixReportFilter().visitMatrixReport(matrixReport);

    matrixReport.setStartTime(start);
    matrixReport.setEndTime(end);
    return matrixReport;
View Full Code Here

Examples of com.dianping.cat.consumer.matrix.MatrixReportMerger

  private MatrixReport queryHourlyReportByDuration(String name, String domain, Date start, Date end) {
    Set<String> domainSet = m_reportService.queryAllDomainNames(start, end, MatrixAnalyzer.ID);
    long startTime = start.getTime();
    long endTime = end.getTime();
    MatrixReportMerger merger = new MatrixReportMerger(new MatrixReport(domain));

    for (; startTime < endTime; startTime = startTime + TimeHelper.ONE_HOUR) {
      Date date = new Date(startTime);
      MatrixReport reportModel = m_reportService.queryMatrixReport(domain, date, new Date(date.getTime()
            + TimeHelper.ONE_HOUR));

      reportModel.accept(merger);
    }
    MatrixReport matrixReport = merger.getMatrixReport();
    new MatrixReportFilter().visitMatrixReport(matrixReport);

    matrixReport.getDomainNames().addAll(domainSet);
    matrixReport.setStartTime(start);
    matrixReport.setEndTime(end);
View Full Code Here

Examples of com.dianping.cat.consumer.matrix.MatrixReportMerger

  @Override
  protected MatrixReport merge(ModelRequest request, List<ModelResponse<MatrixReport>> responses) {
    if (responses.size() == 0) {
      return null;
    }
    MatrixReportMerger merger = new MatrixReportMerger(new MatrixReport(request.getDomain()));
    for (ModelResponse<MatrixReport> response : responses) {
      MatrixReport model = response.getModel();
      if (model != null) {
        model.accept(merger);
      }
    }

    return merger.getMatrixReport();
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.