You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2016/08/08 15:36:38 UTC

svn commit: r1755514 - in /jackrabbit/oak/trunk/oak-segment-tar/src: main/java/org/apache/jackrabbit/oak/segment/file/ test/java/org/apache/jackrabbit/oak/segment/file/

Author: mduerig
Date: Mon Aug  8 15:36:38 2016
New Revision: 1755514

URL: http://svn.apache.org/viewvc?rev=1755514&view=rev
Log:
OAK-4097: Add metric for FileStore journal writes
Only capture flushes that actually result in an update to the journal.log
Credits to Andrei Dulceanu for the patch

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java
    jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java?rev=1755514&r1=1755513&r2=1755514&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStore.java Mon Aug  8 15:36:38 2016
@@ -686,6 +686,8 @@ public class FileStore implements Segmen
             public Void call() throws Exception {
                 segmentWriter.flush();
                 tarWriter.flush();
+                stats.flushed();
+                
                 return null;
             }
         });
@@ -710,8 +712,6 @@ public class FileStore implements Segmen
                 }
             }
         }
-        
-        stats.flushed();
     }
 
     /**

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java?rev=1755514&r1=1755513&r2=1755514&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStats.java Mon Aug  8 15:36:38 2016
@@ -19,6 +19,8 @@
 
 package org.apache.jackrabbit.oak.segment.file;
 
+import static org.apache.jackrabbit.stats.TimeSeriesStatsUtil.asCompositeData;
+
 import javax.annotation.Nonnull;
 import javax.management.openmbean.CompositeData;
 
@@ -29,8 +31,6 @@ import org.apache.jackrabbit.oak.stats.M
 import org.apache.jackrabbit.oak.stats.StatisticsProvider;
 import org.apache.jackrabbit.oak.stats.StatsOptions;
 
-import static org.apache.jackrabbit.stats.TimeSeriesStatsUtil.asCompositeData;
-
 public class FileStoreStats implements FileStoreStatsMBean, FileStoreMonitor {
     public static final String SEGMENT_REPO_SIZE = "SEGMENT_REPO_SIZE";
     public static final String SEGMENT_WRITES = "SEGMENT_WRITES";
@@ -102,7 +102,12 @@ public class FileStoreStats implements F
     }
     
     @Override
-    public CompositeData getJournalWriteStats() {
+    public long getJournalWriteStatsAsCount() {
+        return journalWriteStats.getCount();
+    }
+    
+    @Override
+    public CompositeData getJournalWriteStatsAsCompositeData() {
         return asCompositeData(getTimeSeries(JOURNAL_WRITES), JOURNAL_WRITES);
     }
 

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java?rev=1755514&r1=1755513&r2=1755514&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean.java Mon Aug  8 15:36:38 2016
@@ -42,7 +42,12 @@ public interface FileStoreStatsMBean {
     String fileStoreInfoAsString();
     
     /**
+     * @return  count of the writes to journal
+     */
+    long getJournalWriteStatsAsCount();
+    
+    /**
      * @return  time series of the writes to journal
      */
-    CompositeData getJournalWriteStats();
+    CompositeData getJournalWriteStatsAsCompositeData();
 }

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java?rev=1755514&r1=1755513&r2=1755514&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/FileStoreStatsTest.java Mon Aug  8 15:36:38 2016
@@ -71,8 +71,10 @@ public class FileStoreStatsTest {
         FileStore store = fileStoreBuilder(segmentFolder.newFolder())
                 .withStatisticsProvider(statsProvider)
                 .build();
+        
+        FileStoreStats stats = new FileStoreStats(statsProvider, store, 0);
+        
         try {
-            FileStoreStats stats = new FileStoreStats(statsProvider, store, 0);
             long initialSize = stats.getApproximateSize();
 
             UUID id = UUID.randomUUID();
@@ -86,9 +88,12 @@ public class FileStoreStatsTest {
             }
 
             assertEquals(stats.getApproximateSize() - initialSize, file.length());
+            
         } finally {
             store.close();
         }
+        
+        assertEquals(1, stats.getJournalWriteStatsAsCount());
     }
 
 }