1
2
3
4
5
6
7
8
9
10
11 package psiprobe.beans.stats.collectors;
12
13 import jakarta.inject.Inject;
14
15 import java.util.List;
16
17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.beans.factory.annotation.Value;
19
20 import psiprobe.beans.JvmMemoryInfoAccessorBean;
21 import psiprobe.beans.stats.listeners.StatsCollectionListener;
22 import psiprobe.model.jmx.MemoryPool;
23 import psiprobe.tools.TimeExpression;
24
25
26
27
28 public class JvmMemoryStatsCollectorBean extends AbstractStatsCollectorBean {
29
30
31 @Inject
32 private JvmMemoryInfoAccessorBean jvmMemoryInfoAccessor;
33
34 @Override
35 public void collect() throws Exception {
36 List<MemoryPool> pools = jvmMemoryInfoAccessor.getPools();
37 long time = System.currentTimeMillis();
38 for (MemoryPool pool : pools) {
39 buildAbsoluteStats("memory.pool." + pool.getName(), pool.getUsed(), time);
40 }
41 }
42
43
44
45
46
47
48
49 public void setMaxSeries(@Value("${psiprobe.beans.stats.collectors.memory.period}") String period,
50 @Value("${psiprobe.beans.stats.collectors.memory.span}") String span) {
51 super.setMaxSeries((int) TimeExpression.dataPoints(period, span));
52 }
53
54 @Autowired
55 @Override
56 public void setListeners(List<StatsCollectionListener> listeners) {
57 super.setListeners(listeners);
58 }
59
60 }