/* * Copyright 2014 LinkedIn Corp. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package azkaban.jmx; import org.mortbay.jetty.Connector; import org.mortbay.jetty.Server; public class JmxJettyServer implements JmxJettyServerMBean { private Server server; private Connector connector; public JmxJettyServer(Server server) { this.server = server; this.connector = server.getConnectors()[0]; } @Override public boolean isRunning() { return this.server.isRunning(); } @Override public boolean isFailed() { return this.server.isFailed(); } @Override public boolean isStopped() { return this.server.isStopped(); } @Override public int getNumThreads() { return this.server.getThreadPool().getThreads(); } @Override public int getNumIdleThreads() { return this.server.getThreadPool().getIdleThreads(); } @Override public String getHost() { return connector.getHost(); } @Override public int getPort() { return connector.getPort(); } @Override public int getConfidentialPort() { return connector.getConfidentialPort(); } @Override public int getConnections() { return connector.getConnections(); } @Override public int getConnectionsOpen() { return connector.getConnectionsOpen(); } @Override public int getConnectionsOpenMax() { return connector.getConnectionsOpenMax(); } @Override public int getConnectionsOpenMin() { return connector.getConnectionsOpenMin(); } @Override public long getConnectionsDurationAve() { return connector.getConnectionsDurationAve(); } @Override public long getConnectionsDurationMax() { return connector.getConnectionsDurationMax(); } @Override public long getConnectionsDurationMin() { return connector.getConnectionsDurationMin(); } @Override public long getConnectionsDurationTotal() { return connector.getConnectionsDurationTotal(); } @Override public long getConnectionsRequestAve() { return connector.getConnectionsRequestsAve(); } @Override public long getConnectionsRequestMax() { return connector.getConnectionsRequestsMax(); } @Override public long getConnectionsRequestMin() { return connector.getConnectionsRequestsMin(); } @Override public void turnStatsOn() { connector.setStatsOn(true); } @Override public void turnStatsOff() { connector.setStatsOn(false); } @Override public void resetStats() { connector.statsReset(); } @Override public boolean isStatsOn() { return connector.getStatsOn(); } }