Package com.dianping.cat.consumer.state.model.entity

Examples of com.dianping.cat.consumer.state.model.entity.StateReport


  }

  private StateReport queryHourlyReportsByDuration(String name, String domain, Date period, Date endDate) {
    long startTime = period.getTime();
    long endTime = endDate.getTime();
    HistoryStateReportMerger merger = new HistoryStateReportMerger(new StateReport(domain));

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

      reportModel.accept(merger);
    }
    StateReport stateReport = merger.getStateReport();

    new ClearDetailInfo().visitStateReport(stateReport);
    stateReport.setStartTime(period);
    stateReport.setEndTime(endDate);
    return stateReport;
  }
View Full Code Here


  private LineChart getDailyGraph(String domain, Date start, Date end, String key, String ip) {
    List<StateReport> reports = new ArrayList<StateReport>();

    for (long date = start.getTime(); date < end.getTime(); date = date + TimeHelper.ONE_HOUR) {
      StateReport report = getHourlyReport(date, domain, ip);

      if (report != null) {
        reports.add(report);
      }
    }
View Full Code Here

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

    return merger.getStateReport();
  }
View Full Code Here

  @Override
  protected StateReport buildModel(ModelRequest request) throws Exception {
    String domain = request.getDomain();
    long date = request.getStartTime();
    StateReport report;

    if (isLocalMode()) {
      report = getReportFromLocalDisk(date, domain);
    } else {
      report = getReportFromDatabase(date, domain);
View Full Code Here

    super(StateAnalyzer.ID);
  }

  @Override
  protected StateReport getReport(ModelRequest request, ModelPeriod period, String domain) throws Exception {
    StateReport report = super.getReport(request, period, domain);

    if (report == null && period.isLast()) {
      long startTime = request.getStartTime();
      report = getReportFromLocalDisk(startTime, domain);
   
      if (report == null) {
        report = new StateReport(domain);
        report.setStartTime(new Date(startTime));
        report.setEndTime(new Date(startTime + TimeHelper.ONE_HOUR - 1));
      }
    }
    return report;
  }
View Full Code Here

    Payload payload = ctx.getPayload();
    Action action = payload.getAction();

    normalize(model, payload);
    String key = payload.getKey();
    StateReport report = null;
    LineChart item = null;
    switch (action) {
    case HOURLY:
      report = getHourlyReport(payload);
      model.setMessage(buildCatInfoMessage(report));
View Full Code Here

public class StateReportMergerTest {
  @Test
  public void testStateReportMerge() throws Exception {
    String oldXml = Files.forIO().readFrom(getClass().getResourceAsStream("old.xml"), "utf-8");
    String newXml = Files.forIO().readFrom(getClass().getResourceAsStream("new.xml"), "utf-8");
    StateReport reportOld = DefaultSaxParser.parse(oldXml);
    StateReport reportNew = DefaultSaxParser.parse(newXml);
    String expected = Files.forIO()
          .readFrom(getClass().getResourceAsStream("result.xml"), "utf-8");
   
    StateReportMerger merger = new StateReportMerger(new StateReport(reportOld.getDomain()));

    reportOld.accept(merger);
    reportNew.accept(merger);

    Assert.assertEquals("Check the merge result!", expected.replaceAll("\r", ""), merger.getStateReport()
          .toString().replaceAll("\r", ""));
  }
View Full Code Here

    m_analyzer.initialize(date.getTime(), Constants.HOUR, Constants.MINUTE * 5);
  }

  @Test
  public void testProcess() throws Exception {
    StateReport report = m_analyzer.getReport(m_domain);
   
    String expected = Files.forIO().readFrom(getClass().getResourceAsStream("state_analyzer.xml"), "utf-8");
   
    Assert.assertEquals(expected.replaceAll("\r", ""), report.toString().replaceAll("\r", ""));
  }
View Full Code Here

 
  @Test
  public void testHistoryStateReportMerge() throws Exception {
    String oldXml = Files.forIO().readFrom(getClass().getResourceAsStream("old.xml"), "utf-8");
    String newXml = Files.forIO().readFrom(getClass().getResourceAsStream("new.xml"), "utf-8");
    StateReport reportOld = DefaultSaxParser.parse(oldXml);
    StateReport reportNew = DefaultSaxParser.parse(newXml);
    String expected = Files.forIO()
          .readFrom(getClass().getResourceAsStream("historyResult.xml"), "utf-8");
   
    HistoryStateReportMerger merger = new HistoryStateReportMerger(new StateReport(reportOld.getDomain()));

    reportOld.accept(merger);
    reportNew.accept(merger);

    Assert.assertEquals("Check the merge result!", expected.replaceAll("\r", ""), merger.getStateReport()
          .toString().replaceAll("\r", ""));
    Assert.assertEquals("Source report is changed!", newXml.replaceAll("\r", ""),
          reportNew.toString().replaceAll("\r", ""));
    Assert.assertEquals("Source report is changed!", oldXml.replaceAll("\r", ""),
          reportOld.toString().replaceAll("\r", ""));
  }
View Full Code Here

  public void testStateReportBuilder() throws Exception {
    ReportServiceManager service = lookup(ReportServiceManager.class);
    Date date = TimeHelper.getCurrentMonth();
    long start = date.getTime();
    long end = System.currentTimeMillis();
    HistoryStateReportMerger merger = new HistoryStateReportMerger(new StateReport("cat"));

    for (; start < end; start = start + TimeHelper.ONE_DAY) {
      StateReport stateReport = service.queryStateReport("cat", new Date(start), new Date(start + TimeHelper.ONE_DAY));

      stateReport.accept(merger);
    }
    StateReport report = merger.getStateReport();
    new ClearDetailInfo().visitStateReport(report);
  }
View Full Code Here

TOP

Related Classes of com.dianping.cat.consumer.state.model.entity.StateReport

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.