Author: mreutegg
Date: Wed Jan 29 12:15:07 2020
New Revision: 1873302
URL: http://svn.apache.org/viewvc?rev=1873302&view=rev
Log:
OAK-8878: Expose downloaded (and uploaded) blob bytes as metrics, not only as
time series
Apply contribution by Axel Hanikel
Modified:
jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStats.java
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStatsTest.java
Modified:
jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStats.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStats.java?rev=1873302&r1=1873301&r2=1873302&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStats.java
(original)
+++
jackrabbit/oak/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStats.java
Wed Jan 29 12:15:07 2020
@@ -230,14 +230,14 @@ public class BlobStoreStats extends Anno
this.uploadHisto = sp.getHistogram(BLOB_UPLOADS, StatsOptions.DEFAULT);
this.uploadCount = sp.getMeter(BLOB_UPLOAD_COUNT,
StatsOptions.DEFAULT);
this.uploadErrorCount = sp.getMeter(BLOB_UPLOAD_ERROR_COUNT,
StatsOptions.DEFAULT);
- this.uploadSizeSeries = sp.getMeter(BLOB_UPLOAD_SIZE,
StatsOptions.TIME_SERIES_ONLY);
- this.uploadTimeSeries = sp.getMeter(BLOB_UPLOAD_TIME,
StatsOptions.TIME_SERIES_ONLY);
+ this.uploadSizeSeries = sp.getMeter(BLOB_UPLOAD_SIZE,
StatsOptions.DEFAULT);
+ this.uploadTimeSeries = sp.getMeter(BLOB_UPLOAD_TIME,
StatsOptions.DEFAULT);
this.uploadRateSeries = getAvgTimeSeries(BLOB_UPLOAD_SIZE,
BLOB_UPLOAD_TIME);
this.downloadHisto = sp.getHistogram(BLOB_DOWNLOADS,
StatsOptions.DEFAULT);
this.downloadCount = sp.getMeter(BLOB_DOWNLOAD_COUNT,
StatsOptions.DEFAULT);
- this.downloadSizeSeries = sp.getMeter(BLOB_DOWNLOAD_SIZE,
StatsOptions.TIME_SERIES_ONLY);
- this.downloadTimeSeries = sp.getMeter(BLOB_DOWNLOAD_TIME,
StatsOptions.TIME_SERIES_ONLY);
+ this.downloadSizeSeries = sp.getMeter(BLOB_DOWNLOAD_SIZE,
StatsOptions.DEFAULT);
+ this.downloadTimeSeries = sp.getMeter(BLOB_DOWNLOAD_TIME,
StatsOptions.DEFAULT);
this.downloadRateSeries = getAvgTimeSeries(BLOB_DOWNLOAD_SIZE,
BLOB_DOWNLOAD_TIME);
this.downloadErrorCount = sp.getMeter(BLOB_DOWNLOAD_ERROR_COUNT,
StatsOptions.DEFAULT);
Modified:
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStatsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStatsTest.java?rev=1873302&r1=1873301&r2=1873302&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStatsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/BlobStoreStatsTest.java
Wed Jan 29 12:15:07 2020
@@ -23,13 +23,19 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.jackrabbit.api.stats.RepositoryStatistics;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
import org.apache.jackrabbit.oak.stats.StatisticsProvider;
+import org.apache.jackrabbit.oak.stats.StatsOptions;
import org.junit.After;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
public class BlobStoreStatsTest {
private ScheduledExecutorService executor =
Executors.newSingleThreadScheduledExecutor();
@@ -76,4 +82,24 @@ public class BlobStoreStatsTest {
stats.downloadCompleted("foo");
assertEquals(2, stats.getDownloadCount());
}
+
+ @Test
+ public void uploadStatsWithDefaultOptions() {
+ RepositoryStatistics repoStats = mock(RepositoryStatistics.class);
+ statsProvider = mock(StatisticsProvider.class);
+ when(statsProvider.getStats()).thenReturn(repoStats);
+ stats = new BlobStoreStats(statsProvider);
+ verify(statsProvider).getMeter(eq("BLOB_UPLOAD_SIZE"),
eq(StatsOptions.DEFAULT));
+ verify(statsProvider).getMeter(eq("BLOB_UPLOAD_TIME"),
eq(StatsOptions.DEFAULT));
+ }
+
+ @Test
+ public void downloadStatsWithDefaultOptions() {
+ RepositoryStatistics repoStats = mock(RepositoryStatistics.class);
+ statsProvider = mock(StatisticsProvider.class);
+ when(statsProvider.getStats()).thenReturn(repoStats);
+ stats = new BlobStoreStats(statsProvider);
+ verify(statsProvider).getMeter(eq("BLOB_DOWNLOAD_SIZE"),
eq(StatsOptions.DEFAULT));
+ verify(statsProvider).getMeter(eq("BLOB_DOWNLOAD_TIME"),
eq(StatsOptions.DEFAULT));
+ }
}
\ No newline at end of file