View Javadoc

1   package com.atlassian.vcache.internal.core.metrics;
2   
3   import com.atlassian.marshalling.api.MarshallingPair;
4   import com.atlassian.vcache.DirectExternalCache;
5   import com.atlassian.vcache.JvmCache;
6   import com.atlassian.vcache.RequestCache;
7   import com.atlassian.vcache.StableReadExternalCache;
8   import com.atlassian.vcache.TransactionalExternalCache;
9   import com.atlassian.vcache.internal.MetricLabel;
10  import com.atlassian.vcache.internal.RequestContext;
11  import com.atlassian.vcache.internal.RequestMetrics;
12  import com.atlassian.vcache.internal.core.TransactionControl;
13  
14  /**
15   * An implementation of {@link MetricsCollector} that collects nothing.
16   *
17   * @since 1.0.0
18   */
19  public class NoopMetricsCollector implements MetricsCollector {
20      @Override
21      public void record(String cacheName, CacheType cacheType, MetricLabel metricLabel, long sample) {
22      }
23  
24      @Override
25      public RequestMetrics obtainRequestMetrics(RequestContext requestContext) {
26          return new EmptyRequestMetrics();
27      }
28  
29      @Override
30      public TransactionControl wrap(TransactionControl control, String cacheName) {
31          return control;
32      }
33  
34      @Override
35      public <T> MarshallingPair<T> wrap(MarshallingPair<T> marshalling, String cacheName) {
36          return marshalling;
37      }
38  
39      @Override
40      public <K, V> JvmCache<K, V> wrap(JvmCache<K, V> cache) {
41          return cache;
42      }
43  
44      @Override
45      public <K, V> RequestCache<K, V> wrap(RequestCache<K, V> cache) {
46          return cache;
47      }
48  
49      @Override
50      public <V> DirectExternalCache<V> wrap(DirectExternalCache<V> cache) {
51          return cache;
52      }
53  
54      @Override
55      public <V> StableReadExternalCache<V> wrap(StableReadExternalCache<V> cache) {
56          return cache;
57      }
58  
59      @Override
60      public <V> TransactionalExternalCache<V> wrap(TransactionalExternalCache<V> cache) {
61          return cache;
62      }
63  }