View Javadoc

1   /*
2    * SymmetricDS is an open source database synchronization solution.
3    *   
4    * Copyright (C) Eric Long <erilong@users.sourceforge.net>,
5    *               Chris Henson <chenson42@users.sourceforge.net>
6    *
7    * This library is free software; you can redistribute it and/or
8    * modify it under the terms of the GNU Lesser General Public
9    * License as published by the Free Software Foundation; either
10   * version 3 of the License, or (at your option) any later version.
11   *
12   * This library is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this library; if not, see
19   * <http://www.gnu.org/licenses/>.
20   */
21  
22  package org.jumpmind.symmetric.load;
23  
24  import java.util.Date;
25  
26  public class DataLoaderStatistics implements IDataLoaderStatistics {
27  
28      private Date startTime;
29  
30      private long networkMillis;
31  
32      private long filterMillis;
33  
34      private long databaseMillis;
35  
36      private long byteCount;
37  
38      private long lineCount;
39  
40      private long statementCount;
41  
42      private long fallbackInsertCount;
43  
44      private long fallbackUpdateCount;
45  
46      private long missingDeleteCount;
47  
48      private long timerMillis;
49  
50      public DataLoaderStatistics() {
51          this.startTime = new Date();
52      }
53  
54      public long incrementLineCount() {
55          return ++lineCount;
56      }
57  
58      public long incrementFallbackInsertCount() {
59          return ++fallbackInsertCount;
60      }
61  
62      public long incrementFallbackUpdateCount() {
63          return ++fallbackUpdateCount;
64      }
65  
66      public long incrementMissingDeleteCount() {
67          return ++missingDeleteCount;
68      }
69  
70      public long incrementStatementCount() {
71          return ++statementCount;
72      }
73  
74      public void incrementNetworkMillis(long millis) {
75          networkMillis += millis;
76      }
77  
78      public void incrementFilterMillis(long millis) {
79          filterMillis += millis;
80      }
81  
82      public void incrementDatabaseMillis(long millis) {
83          databaseMillis += millis;
84      }
85  
86      public void incrementByteCount(long count) {
87          byteCount += count;
88      }
89  
90      public void startTimer() {
91          timerMillis = System.currentTimeMillis();
92      }
93  
94      public long endTimer() {
95          return System.currentTimeMillis() - timerMillis;
96      }
97  
98      public long getFallbackInsertCount() {
99          return fallbackInsertCount;
100     }
101 
102     public void setFallbackInsertCount(long fallbackInsertCount) {
103         this.fallbackInsertCount = fallbackInsertCount;
104     }
105 
106     public long getFallbackUpdateCount() {
107         return fallbackUpdateCount;
108     }
109 
110     public void setFallbackUpdateCount(long fallbackUpdateCount) {
111         this.fallbackUpdateCount = fallbackUpdateCount;
112     }
113 
114     public long getLineCount() {
115         return lineCount;
116     }
117 
118     public void setLineCount(long lineCount) {
119         this.lineCount = lineCount;
120     }
121 
122     public Date getStartTime() {
123         return startTime;
124     }
125 
126     public void setStartTime(Date startTime) {
127         this.startTime = startTime;
128     }
129 
130     public long getStatementCount() {
131         return statementCount;
132     }
133 
134     public void setStatementCount(long statementCount) {
135         this.statementCount = statementCount;
136     }
137 
138     public long getMissingDeleteCount() {
139         return missingDeleteCount;
140     }
141 
142     public void setMissingDeleteCount(long missingDeleteCount) {
143         this.missingDeleteCount = missingDeleteCount;
144     }
145 
146     public long getDatabaseMillis() {
147         return databaseMillis;
148     }
149 
150     public void setDatabaseMillis(long databaseMillis) {
151         this.databaseMillis = databaseMillis;
152     }
153 
154     public long getFilterMillis() {
155         return filterMillis;
156     }
157 
158     public void setFilterMillis(long filterMillis) {
159         this.filterMillis = filterMillis;
160     }
161 
162     public long getNetworkMillis() {
163         return networkMillis;
164     }
165 
166     public void setNetworkMillis(long networkMillis) {
167         this.networkMillis = networkMillis;
168     }
169 
170     public long getByteCount() {
171         return byteCount;
172     }
173 
174     public void setByteCount(long byteCount) {
175         this.byteCount = byteCount;
176     }
177 
178 }