001 package org.kuali.ole.docstore.utility;
002
003 import org.kuali.ole.utility.DateTimeUtil;
004
005 /**
006 * Created by IntelliJ IDEA.
007 * User: Pranitha
008 * Date: 6/11/12
009 * Time: 12:24 PM
010 * To change this template use File | Settings | File Templates.
011 */
012 public class BatchIngestStatistics {
013 public static String mertixHeading = null;
014
015 public long timeToConvertStringToReqObj;
016 public long timeToCreateNodesInJcr;
017 public long timeToSaveJcrSession;
018 public long ingestingTime;
019 public long timeToConvertXmlToPojo;
020 public long timeToConvertToSolrInputDocs;
021 public long timeToIndexSolrInputDocs;
022 public long timeToSolrCommit;
023 public long timeToSolrOptimize;
024 public long indexingTime;
025 public long ingestNIndexTotalTime;
026 public long batchTime;
027 public String batchStartTime;
028 public String batchEndTime;
029
030
031 static{
032 mertixHeading = "\"Batch Start Time\" \t" + "\"Time To Convert String To ReqObj\" \t"
033 + "\"Time To Create Nodes In Jcr\"\t" + "\"Time To Save Jcr Session\"\t" + "\"ingesting Time\"\t"
034 + "\"Time To Convert Xml To Pojo\"\t" + "\"Time To Convert To Solr InputDocs\"\t"
035 + "\"Time To Index Solr InputDocs\"\t" + "\"Time To Solr Commit\"\t" + "\"Indexing Time\"\t"
036 + "\"Ingest N Index TotalTime\"\t" + "\"Batch Time\"\t" + "\"Batch End Time\" \t"
037 + "\"Solr Optimize Time\"";
038 }
039 public long getTimeToConvertStringToReqObj() {
040 return timeToConvertStringToReqObj;
041 }
042
043 public void setTimeToConvertStringToReqObj(long timeToConvertStringToReqObj) {
044 this.timeToConvertStringToReqObj = timeToConvertStringToReqObj;
045 }
046
047 public long getTimeToCreateNodesInJcr() {
048 return timeToCreateNodesInJcr;
049 }
050
051 public void setTimeToCreateNodesInJcr(long timeToCreateNodesInJcr) {
052 this.timeToCreateNodesInJcr = timeToCreateNodesInJcr;
053 }
054
055 public long getTimeToSaveJcrSession() {
056 return timeToSaveJcrSession;
057 }
058
059 public void setTimeToSaveJcrSession(long timeToSaveJcrSession) {
060 this.timeToSaveJcrSession = timeToSaveJcrSession;
061 }
062
063 public long getIngestingTime() {
064 return ingestingTime;
065 }
066
067 public void setIngestingTime(long ingestingTime) {
068 this.ingestingTime = ingestingTime;
069 }
070
071 public long getTimeToConvertXmlToPojo() {
072 return timeToConvertXmlToPojo;
073 }
074
075 public void setTimeToConvertXmlToPojo(long timeToConvertXmlToPojo) {
076 this.timeToConvertXmlToPojo = timeToConvertXmlToPojo;
077 }
078
079 public long getTimeToConvertToSolrInputDocs() {
080 return timeToConvertToSolrInputDocs;
081 }
082
083 public void setTimeToConvertToSolrInputDocs(long timeToConvertToSolrInputDocs) {
084 this.timeToConvertToSolrInputDocs = timeToConvertToSolrInputDocs;
085 }
086
087 public long getTimeToIndexSolrInputDocs() {
088 return timeToIndexSolrInputDocs;
089 }
090
091 public void setTimeToIndexSolrInputDocs(long timeToIndexSolrInputDocs) {
092 this.timeToIndexSolrInputDocs = timeToIndexSolrInputDocs;
093 }
094
095 public long getTimeToSolrCommit() {
096 return timeToSolrCommit;
097 }
098
099 public void setTimeToSolrCommit(long timeToSolrCommit) {
100 this.timeToSolrCommit = timeToSolrCommit;
101 }
102
103 public long getTimeToSolrOptimize() {
104 return timeToSolrOptimize;
105 }
106
107 public void setTimeToSolrOptimize(long timeToSolrOptimize) {
108 this.timeToSolrOptimize = timeToSolrOptimize;
109 }
110
111 public long getIndexingTime() {
112 return indexingTime;
113 }
114
115 public void setIndexingTime(long indexingTime) {
116 this.indexingTime = indexingTime;
117 }
118
119 public long getIngestNIndexTotalTime() {
120 return ingestNIndexTotalTime;
121 }
122
123 public void setIngestNIndexTotalTime(long ingestNIndexTotalTime) {
124 this.ingestNIndexTotalTime = ingestNIndexTotalTime;
125 }
126
127 public long getBatchTime() {
128 return batchTime;
129 }
130
131 public void setBatchTime(long batchTime) {
132 this.batchTime = batchTime;
133 }
134
135 public String getBatchStartTime() {
136 return batchStartTime;
137 }
138
139 public void setBatchStartTime(String batchStartTime) {
140 this.batchStartTime = batchStartTime;
141 }
142
143 public String getBatchEndTime() {
144 return batchEndTime;
145 }
146
147 public void setBatchEndTime(String batchEndTime) {
148 this.batchEndTime = batchEndTime;
149 }
150
151 @Override
152 public String toString() {
153 StringBuilder sb = new StringBuilder();
154 sb.append(mertixHeading);
155 BatchIngestStatistics bS = BulkIngestStatistics.getInstance().getCurrentBatch();
156 buildBatchMetric(sb, bS);
157
158 return sb.toString();
159 }
160
161 public void buildBatchMetric(StringBuilder sb, BatchIngestStatistics bS) {
162 sb.append("\n");
163 sb.append(bS.getBatchStartTime());
164 sb.append("\t");
165 sb.append(DateTimeUtil.formatTime(bS.getTimeToConvertStringToReqObj()));
166 sb.append("\t");
167 sb.append(DateTimeUtil.formatTime(bS.getTimeToCreateNodesInJcr()));
168 sb.append("\t");
169 sb.append(DateTimeUtil.formatTime(bS.getTimeToSaveJcrSession()));
170 sb.append("\t");
171 sb.append(DateTimeUtil.formatTime(bS.getIngestingTime()));
172 sb.append("\t");
173 sb.append(DateTimeUtil.formatTime(bS.getTimeToConvertXmlToPojo()));
174 sb.append("\t");
175 sb.append(DateTimeUtil.formatTime(bS.getTimeToConvertToSolrInputDocs()));
176 sb.append("\t");
177 sb.append(DateTimeUtil.formatTime(bS.getTimeToIndexSolrInputDocs()));
178 sb.append("\t");
179 sb.append(DateTimeUtil.formatTime(bS.getTimeToSolrCommit()));
180 sb.append("\t");
181 sb.append(DateTimeUtil.formatTime(bS.getIndexingTime()));
182 sb.append("\t");
183 sb.append(DateTimeUtil.formatTime(bS.getIngestNIndexTotalTime()));
184 sb.append("\t");
185 sb.append(DateTimeUtil.formatTime(bS.getBatchTime()));
186 sb.append("\t");
187 sb.append(bS.getBatchEndTime());
188 sb.append("\t");
189 sb.append(DateTimeUtil.formatTime(bS.getTimeToSolrOptimize()));
190 sb.append("\t");
191 }
192
193
194 }