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 ch...@apache.org on 2016/08/05 11:09:45 UTC
svn commit: r1755288 - in
/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file:
FileStore.java FileStoreMonitor.java FileStoreStats.java
FileStoreStatsMBean.java
Author: chetanm
Date: Fri Aug 5 11:09:45 2016
New Revision: 1755288
URL: http://svn.apache.org/viewvc?rev=1755288&view=rev
Log:
OAK-4097 - Add metric for FileStore journal writes
Applying patch from Andrei Dulceanu. Thanks!
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/FileStoreMonitor.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
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=1755288&r1=1755287&r2=1755288&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 Fri Aug 5 11:09:45 2016
@@ -710,6 +710,8 @@ public class FileStore implements Segmen
}
}
}
+
+ stats.flushed();
}
/**
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreMonitor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreMonitor.java?rev=1755288&r1=1755287&r2=1755288&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreMonitor.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/FileStoreMonitor.java Fri Aug 5 11:09:45 2016
@@ -34,6 +34,11 @@ interface FileStoreMonitor {
public void reclaimed(long bytes) {
}
+
+ @Override
+ public void flushed() {
+
+ }
};
/**
@@ -49,4 +54,9 @@ interface FileStoreMonitor {
* @param bytes number of bytes reclaimed
*/
void reclaimed(long bytes);
+
+ /**
+ * Notifies the monitor when journal data is flushed to disk.
+ */
+ void 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=1755288&r1=1755287&r2=1755288&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 Fri Aug 5 11:09:45 2016
@@ -34,16 +34,20 @@ import static org.apache.jackrabbit.stat
public class FileStoreStats implements FileStoreStatsMBean, FileStoreMonitor {
public static final String SEGMENT_REPO_SIZE = "SEGMENT_REPO_SIZE";
public static final String SEGMENT_WRITES = "SEGMENT_WRITES";
+ public static final String JOURNAL_WRITES = "JOURNAL_WRITES";
+
private final StatisticsProvider statisticsProvider;
private final FileStore store;
private final MeterStats writeStats;
private final CounterStats repoSize;
-
+ private final MeterStats journalWriteStats;
+
public FileStoreStats(StatisticsProvider statisticsProvider, FileStore store, long initialSize) {
this.statisticsProvider = statisticsProvider;
this.store = store;
this.writeStats = statisticsProvider.getMeter(SEGMENT_WRITES, StatsOptions.DEFAULT);
this.repoSize = statisticsProvider.getCounterStats(SEGMENT_REPO_SIZE, StatsOptions.DEFAULT);
+ this.journalWriteStats = statisticsProvider.getMeter(JOURNAL_WRITES, StatsOptions.DEFAULT);
repoSize.inc(initialSize);
}
@@ -59,6 +63,11 @@ public class FileStoreStats implements F
public void reclaimed(long size) {
repoSize.dec(size);
}
+
+ @Override
+ public void flushed() {
+ journalWriteStats.mark();
+ }
//~--------------------------------< FileStoreStatsMBean >
@@ -91,6 +100,11 @@ public class FileStoreStats implements F
IOUtils.humanReadableByteCount(getApproximateSize()),
getTarFileCount());
}
+
+ @Override
+ public CompositeData getJournalWriteStats() {
+ return asCompositeData(getTimeSeries(JOURNAL_WRITES), JOURNAL_WRITES);
+ }
private TimeSeries getTimeSeries(String name) {
return statisticsProvider.getStats().getTimeSeries(name, true);
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=1755288&r1=1755287&r2=1755288&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 Fri Aug 5 11:09:45 2016
@@ -40,4 +40,9 @@ public interface FileStoreStatsMBean {
CompositeData getRepositorySize();
String fileStoreInfoAsString();
+
+ /**
+ * @return time series of the writes to journal
+ */
+ CompositeData getJournalWriteStats();
}