001    package org.apache.geronimo.monitoring;
002    
003    /**
004     *  Licensed to the Apache Software Foundation (ASF) under one or more
005     *  contributor license agreements.  See the NOTICE file distributed with
006     *  this work for additional information regarding copyright ownership.
007     *  The ASF licenses this file to You under the Apache License, Version 2.0
008     *  (the "License"); you may not use this file except in compliance with
009     *  the License.  You may obtain a copy of the License at
010     *
011     *     http://www.apache.org/licenses/LICENSE-2.0
012     *
013     *  Unless required by applicable law or agreed to in writing, software
014     *  distributed under the License is distributed on an "AS IS" BASIS,
015     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016     *  See the License for the specific language governing permissions and
017     *  limitations under the License.
018     */
019    
020    import java.util.ArrayList;
021    import java.util.HashMap;
022    import java.util.Set;
023    import java.util.TreeMap;
024    
025    import javax.annotation.security.RolesAllowed;
026    import javax.ejb.Remote;
027    import javax.management.ObjectName;
028    
029    /**
030     * Remote Interface for MasterRemoteControl. Defines the operations
031     * that are made available to the remote client.
032     */
033    @Remote
034    public interface MasterRemoteControlRemote {
035        public HashMap<String, Long> getStats(String s) throws Exception;
036        public void setAttribute(String s, String ss, Object o) throws Exception;
037        public boolean startSnapshot(Long l);
038        public boolean stopSnapshot();
039        public ArrayList<HashMap<String, HashMap<String, Object>>> fetchSnapshotData(Integer i, Integer ii);
040        public HashMap<String, HashMap<String, Long>> fetchMaxSnapshotData(Integer i);
041        public HashMap<String, HashMap<String, Long>> fetchMinSnapshotData(Integer i);
042        public Long getSnapshotDuration();
043        public Long getSnapshotCount();
044        public void setSnapshotDuration(Long l);
045        public Set<String> getStatisticsProviderMBeanNames();
046        public Set<String> getAllMBeanNames();
047        public HashMap<String, ArrayList<String>> getAllSnapshotStatAttributes();
048        public boolean addMBeanForSnapshot(String s);
049        public boolean removeMBeanForSnapshot(String s);
050        public boolean isSnapshotRunning();
051        public void setUpMEJB(String username, String password);
052        public Object invoke(ObjectName name, String operationName, Object[] params, String[] signature);
053        public TreeMap<Long, Long> getSpecificStatistics(String mbeanName, String statsName, int numberOfSnapshots, int everyNthSnapshot, boolean showArchive);
054        public Set<String> getTrackedMBeans();
055        public void setSnapshotRetention(int retention);
056        public String getSnapshotRetention();
057    }