You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by si...@apache.org on 2018/01/30 20:07:06 UTC

[bookkeeper] branch branch-4.6 updated: ISSUE #1079: use CachingStatsProvider underly FinagleStatsProvider

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch branch-4.6
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/branch-4.6 by this push:
     new 9a36475  ISSUE #1079: use CachingStatsProvider underly FinagleStatsProvider
9a36475 is described below

commit 9a364759816b7d271426a142a1695604c81f89ea
Author: Jia Zhai <zh...@apache.org>
AuthorDate: Tue Jan 30 12:06:42 2018 -0800

    ISSUE #1079: use CachingStatsProvider underly FinagleStatsProvider
    
    Descriptions of the changes in this PR:
    use CachingStatsProvider underly FinagleStatsProvider to avoid creating a lot of brand new object
    
    Master Issue: #1079
    
    Author: Jia Zhai <zh...@apache.org>
    
    Reviewers: Sijie Guo <si...@apache.org>
    
    This closes #1082 from jiazhai/issue-1079, closes #1079
    
    (cherry picked from commit c2d53a4c1781360a4fb5635e91f7fe133475c160)
    Signed-off-by: Sijie Guo <si...@apache.org>
---
 .../twitter/finagle/FinagleStatsProvider.java      | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/bookkeeper-stats-providers/twitter-finagle-provider/src/main/java/org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsProvider.java b/bookkeeper-stats-providers/twitter-finagle-provider/src/main/java/org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsProvider.java
index affe2f9..aff129d 100644
--- a/bookkeeper-stats-providers/twitter-finagle-provider/src/main/java/org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsProvider.java
+++ b/bookkeeper-stats-providers/twitter-finagle-provider/src/main/java/org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsProvider.java
@@ -18,6 +18,7 @@
 package org.apache.bookkeeper.stats.twitter.finagle;
 
 import com.twitter.finagle.stats.StatsReceiver;
+import org.apache.bookkeeper.stats.CachingStatsProvider;
 import org.apache.bookkeeper.stats.StatsLogger;
 import org.apache.bookkeeper.stats.StatsProvider;
 import org.apache.commons.configuration.Configuration;
@@ -29,9 +30,28 @@ import org.apache.commons.configuration.Configuration;
  */
 public class FinagleStatsProvider implements StatsProvider {
     private final StatsReceiver stats;
+    private final CachingStatsProvider cachingStatsProvider;
 
     public FinagleStatsProvider(final StatsReceiver stats) {
         this.stats = stats;
+        this.cachingStatsProvider = new CachingStatsProvider(
+            new StatsProvider() {
+                @Override
+                public void start(Configuration conf) {
+                    // nop
+                }
+
+                @Override
+                public void stop() {
+                    // nop
+                }
+
+                @Override
+                public StatsLogger getStatsLogger(String scope) {
+                    return new FinagleStatsLoggerImpl(stats.scope(scope));
+                }
+            }
+        );
     }
 
     @Override
@@ -42,6 +62,6 @@ public class FinagleStatsProvider implements StatsProvider {
 
     @Override
     public StatsLogger getStatsLogger(final String scope) {
-        return new FinagleStatsLoggerImpl(this.stats.scope(scope));
+        return this.cachingStatsProvider.getStatsLogger(scope);
     }
 }

-- 
To stop receiving notification emails like this one, please contact
sijie@apache.org.