Package com.dianping.cat.report.analyzer

Source Code of com.dianping.cat.report.analyzer.GraphBuilderTest

package com.dianping.cat.report.analyzer;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.junit.Test;
import org.unidal.lookup.ComponentTestCase;

import com.dianping.cat.Constants;
import com.dianping.cat.consumer.event.EventAnalyzer;
import com.dianping.cat.consumer.heartbeat.HeartbeatAnalyzer;
import com.dianping.cat.consumer.problem.ProblemAnalyzer;
import com.dianping.cat.consumer.state.model.entity.StateReport;
import com.dianping.cat.consumer.transaction.TransactionAnalyzer;
import com.dianping.cat.helper.TimeHelper;
import com.dianping.cat.report.service.ReportServiceManager;
import com.dianping.cat.report.task.event.EventReportBuilder;
import com.dianping.cat.report.task.heartbeat.HeartbeatReportBuilder;
import com.dianping.cat.report.task.problem.ProblemReportBuilder;
import com.dianping.cat.report.task.state.HistoryStateReportMerger;
import com.dianping.cat.report.task.state.StateReportBuilder.ClearDetailInfo;
import com.dianping.cat.report.task.transaction.TransactionReportBuilder;
import com.dianping.cat.report.task.utilization.UtilizationReportBuilder;

public class GraphBuilderTest extends ComponentTestCase {

  @Test
  public void test() throws Exception {
    HeartbeatReportBuilder builder = lookup(HeartbeatReportBuilder.class);

    Date period = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2013-12-18 10:00:00");
    builder.buildHourlyTask(HeartbeatAnalyzer.ID, "ReviewWeb", period);
  }

  @Test
  public void testProblem() throws Exception {
    ProblemReportBuilder builder = lookup(ProblemReportBuilder.class);

    Date period = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2013-12-16 16:00:00");
    builder.buildHourlyTask(ProblemAnalyzer.ID, "cat", period);
  }

  @Test
  public void testTransaction() throws Exception {
    TransactionReportBuilder builder = lookup(TransactionReportBuilder.class);

    Date period = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2013-12-16 16:00:00");
    builder.buildHourlyTask(TransactionAnalyzer.ID, "cat", period);
  }

  @Test
  public void testEvent() throws Exception {
    EventReportBuilder builder = lookup(EventReportBuilder.class);

    Date period = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2013-12-16 16:00:00");
    builder.buildHourlyTask(EventAnalyzer.ID, "cat", period);
  }

  @Test
  public void testUtilization() throws Exception {
    UtilizationReportBuilder builder = lookup(UtilizationReportBuilder.class);

    Date period = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2013-12-24 10:00:00");
    builder.buildHourlyTask(Constants.REPORT_UTILIZATION, "cat", period);
  }

  @Test
  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);
  }
}
TOP

Related Classes of com.dianping.cat.report.analyzer.GraphBuilderTest

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.