Renderer r = new Renderer(10, pm.tmpdir); Collection<Integer> done = new HashSet<Integer>(); logger.debug(hl.getTrees()); logger.debug("Found graph for probe " + gn.getProbe()); try { r.render(g); } catch (Exception e) { logger.error("Error " + e + " with " + gn.getGraphTitle()); for(jrds.Renderer.RendererRun rr: r.getWaitings()) { logger.debug("Rendering " + rr); rr.write(); rr.clean(); r.finish();
public jrds.Graph getGraph(JrdsServlet caller) { jrds.Graph g = null; if(gid != null) g = hostlist.getRenderer().getGraph(gid); if(g == null) { logger.debug("graph cache miss"); jrds.GraphNode node = getGraphNode(caller); if(node != null) { g = node.getGraph(); configureGraph(g); } } return g; }
@Override public void run() { hostsList.stop(); if(hostsList.getRenderer() != null) hostsList.getRenderer().finish(); } };
public boolean isReady(Graph graph) { RendererRun runRender = rendered.get(graph.hashCode()); if(runRender == null) { try { render(graph); runRender = rendered.get(graph.hashCode()); } // If cannot launch render, will always be false catch (IOException e) { logger.error("graph " + graph + " will not be calculated:" + e); runRender = null; } } return (runRender != null) && runRender.isReady(); }
renderer = new Renderer(50, pm.tmpdir);
private void stop() { hostsList.stop(); Thread.yield(); // We don't care if it failed, just try try { if(shutDownHook != null) Runtime.getRuntime().removeShutdownHook(shutDownHook); } catch (Exception e1) { } // Everything is stopped, wait for collect termination try { for(Timer t: hostsList.getTimers()) { t.lockCollect(); } for(Timer t: hostsList.getTimers()) { // Release it, it will not restart t.releaseCollect(); } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } for(StoreFactory sf: propertiesManager.stores.values()) { sf.stop(); } if(hostsList.getRenderer() != null) { hostsList.getRenderer().finish(); } propertiesManager.defaultStore.stop(); }
private void doGraph(GraphNode gn, Renderer r, ParamsBean params, JrdsJSONWriter w) throws IOException { jrds.Graph graph = gn.getGraph(); if (graph == null) { return; } params.configureGraph(graph); Map<String, Object> imgProps = new HashMap<String, Object>(); r.render(graph); Probe<?, ?> p = gn.getProbe(); imgProps.put("probename", p.getName()); imgProps.put("qualifiedname", graph.getQualifiedName()); Dimension d = graph.getDimension(); if(d != null) { imgProps.put("height", d.height); imgProps.put("width", d.width); } imgProps.put("graph", params.doArgsMap(graph, true)); imgProps.put("history", params.doArgsMap(graph, false)); imgProps.put("probe", params.doArgsMap(p, true)); imgProps.put("graphnode", params.doArgsMap(gn, true)); doTree(w, graph.getQualifiedName(), gn.hashCode(), "graph", null, imgProps); }