From 0e229132f1178a50db67cd795eb7e7f64fb214b2 Mon Sep 17 00:00:00 2001 From: erilong Date: Thu, 6 Mar 2008 14:25:02 +0000 Subject: [PATCH] [1908764] Incoming batch timings for network, filter, and database access --- .../symmetric/load/DataLoaderStatistics.java | 66 +++++++++++++++++++ .../symmetric/load/IDataLoaderStatistics.java | 8 +++ .../symmetric/load/csv/CsvLoader.java | 18 ++++- .../symmetric/model/IncomingBatchHistory.java | 44 +++++++++++++ .../service/impl/IncomingBatchService.java | 17 +++-- symmetric/src/main/resources/ddl-config.xml | 4 ++ .../src/main/resources/symmetric-services.xml | 6 +- .../src/main/resources/symmetric-upgrade.xml | 12 ++++ .../service/impl/DataLoaderServiceTest.java | 1 + 9 files changed, 167 insertions(+), 9 deletions(-) diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderStatistics.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderStatistics.java index 8c2c8186e9..df54c77be3 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderStatistics.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderStatistics.java @@ -27,6 +27,14 @@ public class DataLoaderStatistics implements IDataLoaderStatistics { private Date startTime; + private long networkMillis; + + private long filterMillis; + + private long databaseMillis; + + private long byteCount; + private long lineCount; private long statementCount; @@ -36,6 +44,8 @@ public class DataLoaderStatistics implements IDataLoaderStatistics { private long fallbackUpdateCount; private long missingDeleteCount; + + private long timerMillis; public DataLoaderStatistics() { this.startTime = new Date(); @@ -60,7 +70,31 @@ public long incrementMissingDeleteCount() { public long incrementStatementCount() { return ++statementCount; } + + public void incrementNetworkMillis(long millis) { + networkMillis += millis; + } + + public void incrementFilterMillis(long millis) { + filterMillis += millis; + } + public void incrementDatabaseMillis(long millis) { + databaseMillis += millis; + } + + public void incrementByteCount(long count) { + byteCount += count; + } + + public void startTimer() { + timerMillis = System.currentTimeMillis(); + } + + public long endTimer() { + return System.currentTimeMillis() - timerMillis; + } + public long getFallbackInsertCount() { return fallbackInsertCount; } @@ -109,4 +143,36 @@ public void setMissingDeleteCount(long missingDeleteCount) { this.missingDeleteCount = missingDeleteCount; } + public long getDatabaseMillis() { + return databaseMillis; + } + + public void setDatabaseMillis(long databaseMillis) { + this.databaseMillis = databaseMillis; + } + + public long getFilterMillis() { + return filterMillis; + } + + public void setFilterMillis(long filterMillis) { + this.filterMillis = filterMillis; + } + + public long getNetworkMillis() { + return networkMillis; + } + + public void setNetworkMillis(long networkMillis) { + this.networkMillis = networkMillis; + } + + public long getByteCount() { + return byteCount; + } + + public void setByteCount(long byteCount) { + this.byteCount = byteCount; + } + } diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/IDataLoaderStatistics.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/IDataLoaderStatistics.java index 6df0ed724b..5637f2532f 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/IDataLoaderStatistics.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/load/IDataLoaderStatistics.java @@ -25,6 +25,14 @@ public interface IDataLoaderStatistics { + public long getByteCount(); + + public long getNetworkMillis(); + + public long getFilterMillis(); + + public long getDatabaseMillis(); + public long getFallbackInsertCount(); public long getFallbackUpdateCount(); diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java index a6e2f4216d..8147f5aaf7 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java @@ -87,6 +87,7 @@ public void open(BufferedReader reader, List filters, Map + + + + diff --git a/symmetric/src/main/resources/symmetric-services.xml b/symmetric/src/main/resources/symmetric-services.xml index 671e3e12f7..33e518fdc7 100644 --- a/symmetric/src/main/resources/symmetric-services.xml +++ b/symmetric/src/main/resources/symmetric-services.xml @@ -401,6 +401,7 @@ select batch_id, node_id, status, start_time, end_time, failed_row_number, + byte_count, network_millis, filter_millis, database_millis, statement_count, fallback_insert_count, fallback_update_count, missing_delete_count from ${sync.table.prefix}_incoming_batch_hist where batch_id = ? and node_id = ? order by start_time @@ -421,9 +422,10 @@ insert into ${sync.table.prefix}_incoming_batch_hist (batch_id, node_id, status, - host_name, statement_count, fallback_insert_count, fallback_update_count, + network_millis, filter_millis, database_millis, + host_name, byte_count, statement_count, fallback_insert_count, fallback_update_count, missing_delete_count, failed_row_number, start_time, end_time) values (?, ?, ?, ?, - ?, ?, ?, ?, ?, ?, ?) + ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) diff --git a/symmetric/src/main/resources/symmetric-upgrade.xml b/symmetric/src/main/resources/symmetric-upgrade.xml index dc1fd309d2..1e75919ccb 100644 --- a/symmetric/src/main/resources/symmetric-upgrade.xml +++ b/symmetric/src/main/resources/symmetric-upgrade.xml @@ -183,6 +183,18 @@ create index idx_de_btchd_nid_cid on ${sync.table.prefix}_data_event(batched, node_id, channel_id) + + alter table ${sync.table.prefix}_incoming_batch_hist add (byte_count numeric(22)) + + + alter table ${sync.table.prefix}_incoming_batch_hist add (network_millis numeric(22)) + + + alter table ${sync.table.prefix}_incoming_batch_hist add (filter_millis numeric(22)) + + + alter table ${sync.table.prefix}_incoming_batch_hist add (database_millis numeric(22)) + diff --git a/symmetric/src/test/java/org/jumpmind/symmetric/service/impl/DataLoaderServiceTest.java b/symmetric/src/test/java/org/jumpmind/symmetric/service/impl/DataLoaderServiceTest.java index e6f98063df..b4d7e6e1f9 100644 --- a/symmetric/src/test/java/org/jumpmind/symmetric/service/impl/DataLoaderServiceTest.java +++ b/symmetric/src/test/java/org/jumpmind/symmetric/service/impl/DataLoaderServiceTest.java @@ -126,6 +126,7 @@ public void testStatistics() throws Exception { Assert.assertNotNull(history.getStartTime(), "Start time cannot be null"); Assert.assertNotNull(history.getEndTime(), "End time cannot be null"); Assert.assertEquals(history.getFailedRowNumber(), 8, "Wrong failed row number"); + Assert.assertEquals(history.getByteCount(), 290, "Wrong byte count"); Assert.assertEquals(history.getStatementCount(), 8, "Wrong statement count"); Assert.assertEquals(history.getFallbackInsertCount(), 1, "Wrong fallback insert count"); Assert.assertEquals(history.getFallbackUpdateCount(), 2, "Wrong fallback update count");