Package com.dianping.cat.report.page.dependency.dashboard

Examples of com.dianping.cat.report.page.dependency.dashboard.ProductLinesDashboard


  private static final String DEPENDENCY = "Dependency";

  public ProductLinesDashboard buildDependencyDashboard(long time) {
    TopologyGraph topologyGraph = queryTopologyGraph(time);
    ProductLinesDashboard dashboardGraph = new ProductLinesDashboard();
    Set<String> allDomains = new HashSet<String>();

    if (topologyGraph != null) {
      Map<String, ProductLine> groups = m_productLineConfigManger.queryAllProductLines();

      for (Entry<String, ProductLine> entry : groups.entrySet()) {
        String realName = entry.getValue().getTitle();
        boolean isDashboard = entry.getValue().getDashboard();

        if (isDashboard) {
          Map<String, Domain> domains = entry.getValue().getDomains();
          for (Domain domain : domains.values()) {
            String nodeName = domain.getId();
            TopologyNode node = topologyGraph.findTopologyNode(nodeName);

            allDomains.add(nodeName);
            if (node != null) {
              dashboardGraph.addNode(realName, m_graphBuilder.cloneNode(node));
            }
          }
        }
      }
      Map<String, TopologyEdge> edges = topologyGraph.getEdges();

      for (TopologyEdge edge : edges.values()) {
        String self = edge.getSelf();
        String to = edge.getTarget();

        if (allDomains.contains(self) && allDomains.contains(to)) {
          dashboardGraph.addEdge(m_graphBuilder.cloneEdge(edge));
        }
      }
    }
    return dashboardGraph;
  }
View Full Code Here


    }
  }


  private void buildDependencyDashboard(Model model, Payload payload, Date reportTime) {
    ProductLinesDashboard dashboardGraph = m_graphManager.buildDependencyDashboard(reportTime.getTime());
    Map<String, List<TopologyNode>> dashboardNodes = dashboardGraph.getNodes();

    for (Entry<String, List<TopologyNode>> entry : dashboardNodes.entrySet()) {
      for (TopologyNode node : entry.getValue()) {
        m_externalInfoBuilder.buildNodeZabbixInfo(node, model, payload);
      }
    }
    model.setReportStart(new Date(payload.getDate()));
    model.setReportEnd(new Date(payload.getDate() + TimeHelper.ONE_HOUR - 1));
    model.setDashboardGraph(dashboardGraph.toJson());
    model.setDashboardGraphData(dashboardGraph);
  }
View Full Code Here

TOP

Related Classes of com.dianping.cat.report.page.dependency.dashboard.ProductLinesDashboard

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.