• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alibaba / jetcache / #405

16 Apr 2024 05:58AM UTC coverage: 0.0% (-88.9%) from 88.866%
#405

push

areyouok
add encoding to fix coverage report

0 of 5353 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/jetcache-core/src/main/java/com/alicp/jetcache/template/MetricsMonitorInstaller.java
1
/**
2
 * Created on 2022/08/01.
3
 */
4
package com.alicp.jetcache.template;
5

6
import com.alicp.jetcache.Cache;
7
import com.alicp.jetcache.CacheManager;
8
import com.alicp.jetcache.CacheUtil;
9
import com.alicp.jetcache.MultiLevelCache;
10
import com.alicp.jetcache.support.AbstractLifecycle;
11
import com.alicp.jetcache.support.DefaultCacheMonitor;
12
import com.alicp.jetcache.support.DefaultMetricsManager;
13
import com.alicp.jetcache.support.StatInfo;
14

15
import java.time.Duration;
16
import java.util.concurrent.TimeUnit;
17
import java.util.function.Consumer;
18

19
/**
20
 * @author huangli
21
 */
22
public class MetricsMonitorInstaller extends AbstractLifecycle implements CacheMonitorInstaller {
23

24
    private final Consumer<StatInfo> metricsCallback;
25
    private final Duration interval;
26

27
    private DefaultMetricsManager metricsManager;
28

29
    public MetricsMonitorInstaller(Consumer<StatInfo> metricsCallback, Duration interval) {
×
30
        this.metricsCallback = metricsCallback;
×
31
        this.interval = interval;
×
32
    }
×
33

34
    @Override
35
    protected void doInit() {
36
        if (metricsCallback != null && interval != null) {
×
37
            metricsManager = new DefaultMetricsManager((int) interval.toMinutes(),
×
38
                    TimeUnit.MINUTES, metricsCallback);
39
            metricsManager.start();
×
40
        }
41
    }
×
42

43
    @Override
44
    protected void doShutdown() {
45
        if (metricsManager != null) {
×
46
            metricsManager.stop();
×
47
            metricsManager.clear();
×
48
            metricsManager = null;
×
49
        }
50
    }
×
51

52
    @Override
53
    public void addMonitors(CacheManager cacheManager, Cache cache, QuickConfig quickConfig) {
54
        if (metricsManager == null) {
×
55
            return;
×
56
        }
57
        cache = CacheUtil.getAbstractCache(cache);
×
58
        if (cache instanceof MultiLevelCache) {
×
59
            MultiLevelCache mc = (MultiLevelCache) cache;
×
60
            if (mc.caches().length == 2) {
×
61
                Cache local = mc.caches()[0];
×
62
                Cache remote = mc.caches()[1];
×
63
                DefaultCacheMonitor localMonitor = new DefaultCacheMonitor(quickConfig.getName() + "_local");
×
64
                local.config().getMonitors().add(localMonitor);
×
65
                DefaultCacheMonitor remoteMonitor = new DefaultCacheMonitor(quickConfig.getName() + "_remote");
×
66
                remote.config().getMonitors().add(remoteMonitor);
×
67
                metricsManager.add(localMonitor, remoteMonitor);
×
68
            }
69
        }
70

71
        DefaultCacheMonitor monitor = new DefaultCacheMonitor(quickConfig.getName());
×
72
        cache.config().getMonitors().add(monitor);
×
73
        metricsManager.add(monitor);
×
74
    }
×
75
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc