Coverage Report - org.apache.commons.pipeline.stage.ExtendedBaseStageMBean
 
Classes in this File Line Coverage Branch Coverage Complexity
ExtendedBaseStageMBean
N/A
N/A
1
 
 1  
 /*
 2  
  * Licensed to the Apache Software Foundation (ASF) under one or more
 3  
  * contributor license agreements.  See the NOTICE file distributed with
 4  
  * this work for additional information regarding copyright ownership.
 5  
  * The ASF licenses this file to You under the Apache License, Version 2.0
 6  
  * (the "License"); you may not use this file except in compliance with
 7  
  * the License.  You may obtain a copy of the License at
 8  
  *
 9  
  *     http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software
 12  
  * distributed under the License is distributed on an "AS IS" BASIS,
 13  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
  * See the License for the specific language governing permissions and
 15  
  * limitations under the License.
 16  
  */
 17  
 package org.apache.commons.pipeline.stage;
 18  
 
 19  
 /**
 20  
  * Interface to JMX enable the ExtendedBaseStage.
 21  
  * 
 22  
  * @author mzsanford
 23  
  */
 24  
 public interface ExtendedBaseStageMBean {
 25  
         /**
 26  
          * @return build the status message. This may have an effect on stage throughput.
 27  
          */
 28  
         public abstract String getStatusMessage();
 29  
 
 30  
         /**
 31  
          * @return number of records after which status messages are logged.
 32  
          */
 33  
         public abstract Long getStatusInterval();
 34  
 
 35  
         /**
 36  
          * @param statusInterval new status interval
 37  
          */
 38  
         public abstract void setStatusInterval(Long statusInterval);
 39  
 
 40  
         /**
 41  
          * @return Size of batches processes by this stage (used to adjust throughput statistics)
 42  
          */
 43  
         public Integer getStatusBatchSize();
 44  
 
 45  
         /**
 46  
          * @param statusBatchSize Size of batches processes by this stage (used to adjust throughput statistics)
 47  
          */
 48  
         public void setStatusBatchSize(Integer statusBatchSize);
 49  
         
 50  
         /**
 51  
          * @return number of objects received
 52  
          */
 53  
         public abstract long getObjectsReceived();
 54  
 
 55  
         /**
 56  
          * @return total number of milliseconds spent processing
 57  
          */
 58  
         public abstract long getTotalServiceTime();
 59  
 
 60  
         /**
 61  
          * @return total number of milliseconds spent blocked on downstream queues
 62  
          */
 63  
         public abstract long getTotalEmitTime();
 64  
 
 65  
         /**
 66  
          * @return total number of emits to downstream queues
 67  
          */
 68  
         public abstract long getTotalEmits();
 69  
 
 70  
         /**
 71  
          * @return true is this stage is collecting branch stats, false otherwise.
 72  
          */
 73  
         public abstract Boolean getCollectBranchStats();
 74  
 
 75  
         /**
 76  
          * Branch stats are disabled by default because they are slow. Turning this on
 77  
          * can have a noticeable effect on stage throughput.
 78  
          * 
 79  
          * @param collectBranchStats true if this stage should start collecting branch stats,
 80  
          *  false otherwise.
 81  
          */
 82  
         public abstract void setCollectBranchStats(Boolean collectBranchStats);
 83  
         
 84  
         /**
 85  
          * Get the current average service time. This works by looking only at the last
 86  
          * X objects processed, where X is defined and reported by the getCurrentStatWindowSize
 87  
          *  and  setCurrentStatWindowSize methods.
 88  
          *
 89  
          * @return average time to process in milliseconds
 90  
          */
 91  
         public double getCurrentServiceTimeAverage();
 92  
         
 93  
         /**
 94  
          * Get the size of the service time collection window
 95  
          */
 96  
         public Integer getCurrentStatWindowSize();
 97  
         
 98  
         /**
 99  
          * Set the size of the service time collection window
 100  
          */
 101  
         public void setCurrentStatWindowSize(Integer newStatWindowSize);
 102  
 
 103  
 }