Examples of HeartbeatReport


Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

    HourlyReportContent content = m_hourlyReportContentDao.findByPK(id, HourlyReportContentEntity.READSET_FULL);

    if (content != null) {
      return DefaultNativeParser.parse(content.getContent());
    } else {
      return new HeartbeatReport(domain);
    }
  }
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

    }
  }

  @Override
  public HeartbeatReport queryHourlyReport(String domain, Date start, Date end) {
    HeartbeatReportMerger merger = new HeartbeatReportMerger(new HeartbeatReport(domain));
    long startTime = start.getTime();
    long endTime = end.getTime();
    String name = HeartbeatAnalyzer.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) {
              HeartbeatReport reportModel = com.dianping.cat.consumer.heartbeat.model.transform.DefaultSaxParser
                    .parse(xml);
              reportModel.accept(merger);
            } else {
              HeartbeatReport reportModel = queryFromHourlyBinary(report.getId(), domain);
              reportModel.accept(merger);
            }
          } catch (DalNotFoundException e) {
            //ignore
          } catch (Exception e) {
            Cat.logError(e);
          }
        }
      }
    }
    HeartbeatReport heartbeatReport = merger.getHeartbeatReport();

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

    Set<String> domains = queryAllDomainNames(start, end, HeartbeatAnalyzer.ID);
    heartbeatReport.getDomainNames().addAll(domains);
    return heartbeatReport;
  }
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

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

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

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

    super(HeartbeatAnalyzer.ID);
  }

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

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

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

    Date start = m_sdf.parse(m_start);
    Set<String> domains = queryDomains(start);

    for (String domain : domains) {
      HeartbeatReport report = m_reportService.queryHeartbeatReport(domain, start, new Date(start.getTime()
            + TimeHelper.ONE_HOUR));

      if(!"PhoenixAgent".equals(domain)){
        new HeartbeatVisitor().visitHeartbeatReport(report);
      }
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

  }

  @Test
  public void testModel() throws Exception {
    String newXml = Files.forIO().readFrom(getClass().getResourceAsStream("heartbeat.xml"), "utf-8");
    HeartbeatReport reportOld = DefaultSaxParser.parse(newXml);
    HeartbeatReportMerger merger = new HeartbeatReportMerger(new HeartbeatReport(reportOld.getDomain()));

    reportOld.accept(merger);
    Assert.assertEquals(newXml.replaceAll("\r", ""), reportOld.toString().replaceAll("\r", ""));
  }
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

  }

  @Test
  public void test1() throws Exception {
    String xml = Files.forIO().readFrom(getClass().getResourceAsStream("heartbeat.xml"), "utf-8");
    HeartbeatReport report = DefaultSaxParser.parse(xml);
    HeartbeatGraphCreator creator = new HeartbeatGraphCreator();
    List<Graph> graphs = creator.splitReportToGraphs(report.getStartTime(), report.getDomain(), "heartbeat", report);
    String result = Files.forIO().readFrom(getClass().getResourceAsStream("result"), "utf-8");
   
    Assert.assertEquals(result, graphs.get(0).getDetailContent());
  }
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

            payload.getName());

      return filter.buildXml((com.dianping.cat.consumer.problem.model.IEntity<?>) dataModel);
    } else if (HeartbeatAnalyzer.ID.equals(report)) {
      if (StringUtils.isEmpty(ipAddress)) {
        HeartbeatReport reportModel = (HeartbeatReport) dataModel;
        Set<String> ips = reportModel.getIps();
        if (ips.size() > 0) {
          ipAddress = SortHelper.sortIpAddress(ips).get(0);
        }
      }
      HeartBeatReportFilter filter = new HeartBeatReportFilter(ipAddress);
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

  @Override
  protected HeartbeatReport merge(ModelRequest request, List<ModelResponse<HeartbeatReport>> responses) {
    if (responses.size() == 0) {
      return null;
    }
    HeartbeatReportMerger merger = new HeartbeatReportMerger(new HeartbeatReport(request.getDomain()));

    for (ModelResponse<HeartbeatReport> response : responses) {
      if (response != null) {
        HeartbeatReport model = response.getModel();

        if (model != null) {
          model.accept(merger);
        }
      }
    }
    return merger.getHeartbeatReport();
  }
View Full Code Here

Examples of com.dianping.cat.consumer.heartbeat.model.entity.HeartbeatReport

    int maxMinute = queryCheckMinuteAndConditions(configs).getKey();

    if (minute >= maxMinute - 1) {
      long currentMill = System.currentTimeMillis();
      long currentHourMill = currentMill - currentMill % TimeHelper.ONE_HOUR;
      HeartbeatReport currentReport = generateReport(domain, currentHourMill);

      for (Machine machine : currentReport.getMachines().values()) {
        String ip = machine.getIp();
        Map<String, double[]> arguments = generateArgumentMap(machine);

        for (String metric : m_metrics) {
          double[] values = extract(arguments.get(metric), maxMinute, minute);

          processMeitrc(domain, ip, metric, values);
        }
      }
    } else if (minute < 0) {
      long currentMill = System.currentTimeMillis();
      long lastHourMill = currentMill - currentMill % TimeHelper.ONE_HOUR - TimeHelper.ONE_HOUR;
      HeartbeatReport lastReport = generateReport(domain, lastHourMill);

      for (Machine machine : lastReport.getMachines().values()) {
        String ip = machine.getIp();
        Map<String, double[]> arguments = generateArgumentMap(machine);

        for (String metric : m_metrics) {
          double[] values = extract(arguments.get(metric), maxMinute, 59);

          processMeitrc(domain, ip, metric, values);
        }
      }
    } else {
      long currentMill = System.currentTimeMillis();
      long currentHourMill = currentMill - currentMill % TimeHelper.ONE_HOUR;
      long lastHourMill = currentHourMill - TimeHelper.ONE_HOUR;
      HeartbeatReport currentReport = generateReport(domain, currentHourMill);
      HeartbeatReport lastReport = generateReport(domain, lastHourMill);

      for (Machine lastMachine : lastReport.getMachines().values()) {
        String ip = lastMachine.getIp();
        Machine currentMachine = currentReport.getMachines().get(ip);

        if (currentMachine != null) {
          Map<String, double[]> lastHourArguments = generateArgumentMap(lastMachine);
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.