private void handleJMXPage(final HttpServletRequest req, final HttpServletResponse resp, final Session session) throws IOException { final Page page = newPage(req, resp, session, "azkaban/webapp/servlet/velocity/jmxpage.vm"); page.add("mbeans", this.server.getMbeanNames()); final Map<String, Object> executorMBeans = new HashMap<>(); for (final String hostPort : this.executorManagerAdapter.getAllActiveExecutorServerHosts()) { try { final Map<String, Object> mbeans = this.executorManagerAdapter.callExecutorJMX(hostPort, JMX_GET_MBEANS, null); executorMBeans.put(hostPort, mbeans.get("mbeans")); } catch (final IOException e) { logger.error("Cannot contact executor " + hostPort, e); } } page.add("executorRemoteMBeans", executorMBeans); final Map<String, Object> triggerserverMBeans = new HashMap<>(); triggerserverMBeans.put(this.triggerManager.getJMX().getPrimaryServerHost(), this.triggerManager.getJMX().getAllJMXMbeans()); page.add("triggerserverRemoteMBeans", triggerserverMBeans); page.render(); }
triggerserverMBeans.put(triggerManager.getJMX().getPrimaryServerHost(), triggerManager.getJMX().getAllJMXMbeans());
@Override public long getLastRunnerThreadCheckTime() { return this.jmxStats.getLastRunnerThreadCheckTime(); }
@Override public String getPrimaryTriggerHostPort() { return jmxStats.getPrimaryServerHost(); }
@Override public String getLastRunnerThreadCheckTime() { return new DateTime(jmxStats.getLastRunnerThreadCheckTime()).toString(); }
@Override public long getScannerIdleTime() { return this.jmxStats.getScannerIdleTime(); }
@Override public String getTriggerIds() { return this.jmxStats.getTriggerIds(); }
@Override public int getNumTriggers() { return jmxStats.getNumTriggers(); }
@Override public String getTriggerSources() { return this.jmxStats.getTriggerSources(); }
@Override public String getPrimaryTriggerHostPort() { return this.jmxStats.getPrimaryServerHost(); }
@Override public boolean isRunnerThreadActive() { return jmxStats.isRunnerThreadActive(); }
@Override public long getScannerIdleTime() { return jmxStats.getScannerIdleTime(); }
@Override public String getTriggerIds() { return jmxStats.getTriggerIds(); }
@Override public String getScannerThreadStage() { return this.jmxStats.getScannerThreadStage(); } }
@Override public String getTriggerSources() { return jmxStats.getTriggerSources(); }
@Override public int getNumTriggers() { return this.jmxStats.getNumTriggers(); }
@Override public boolean isRunnerThreadActive() { return this.jmxStats.isRunnerThreadActive(); }
@Override public String getScannerThreadStage() { // TODO Auto-generated method stub return jmxStats.getScannerThreadStage(); }
@Override public boolean isRunnerThreadActive() { return this.jmxStats.isRunnerThreadActive(); }
@Override public int getNumTriggers() { return this.jmxStats.getNumTriggers(); }