@Override public void addStatisticsToMonitor(Statistics stats) { ValueMonitor diskMonitor = new ValueMonitor(); MemberLevelDiskStatisticsListener listener = new MemberLevelDiskStatisticsListener(); diskMonitor.addListener(listener); diskMonitor.addStatistics(stats); monitors.put(stats, diskMonitor); listeners.put(stats, listener); }
private MemberLevelRegionStatisticsListener removeListener(Statistics stats) { ValueMonitor monitor = monitors.remove(stats); if (monitor != null) { monitor.removeStatistics(stats); } MemberLevelRegionStatisticsListener listener = listeners.remove(stats); if ((listener != null) && (monitor != null)) { monitor.removeListener(listener); } return listener; }
@Override protected void monitor(final long millisTimeStamp, final List<ResourceInstance> resourceInstances) { super.monitor(millisTimeStamp, resourceInstances); monitorStatistics(millisTimeStamp, resourceInstances); }
public void addStatisticsToMonitor(final Statistics stats) { monitor.addListener(this);// if already listener is added this will be a no-op // Initialize the stats with the current values. StatisticsType type = stats.getType(); StatisticDescriptor[] descriptors = type.getStatistics(); for (StatisticDescriptor d : descriptors) { statsMap.put(d.getName(), stats.get(d)); } monitor.addStatistics(stats); }
public void stopListener() { monitor.removeListener(this); }
@Test public void addStatisticsToMonitorShouldAddListener() { this.mbeanStatsMonitor.addStatisticsToMonitor(this.stats); verify(this.statsMonitor, times(1)).addListener(this.mbeanStatsMonitor); }
@Test public void addStatisticsToMonitorShouldAddStatistics() { this.mbeanStatsMonitor.addStatisticsToMonitor(this.stats); verify(this.statsMonitor, times(1)).addStatistics(this.stats); }
public MBeanStatsMonitor(final String name) { this(name, new ValueMonitor()); }
protected void monitorStatistics(final long millisTimeStamp, final List<ResourceInstance> resourceInstances) { if (!this.statistics.isEmpty()) { Map<StatisticId, Number> stats = new HashMap<>(); for (ResourceInstance resource : resourceInstances) { if (this.statistics.contains(resource.getStatistics())) { ResourceType resourceType = resource.getResourceType(); StatisticDescriptor[] sds = resourceType.getStatisticDescriptors(); int[] updatedStats = resource.getUpdatedStats(); for (int i = 0; i < updatedStats.length; i++) { int idx = updatedStats[i]; StatisticDescriptorImpl sdi = (StatisticDescriptorImpl) sds[idx]; SimpleStatisticId statId = new SimpleStatisticId(sdi, resource.getStatistics()); long rawbits = resource.getLatestStatValues()[idx]; stats.put(statId, sdi.getNumberForRawBits(rawbits)); } } } if (!stats.isEmpty()) { MapBasedStatisticsNotification notification = new MapBasedStatisticsNotification( millisTimeStamp, StatisticsNotification.Type.VALUE_CHANGED, stats); notifyListeners(notification); } } }
@Override public void stopListener() { for (Statistics stat : listeners.keySet()) { ValueMonitor monitor = monitors.get(stat); monitor.removeListener(listeners.get(stat)); monitor.removeStatistics(stat); } listeners.clear(); monitors.clear(); }
@Override public void addStatisticsToMonitor(Statistics stats) { ValueMonitor overflowMonitor = new ValueMonitor(); StatisticsListener listener = new GatewaySenderOverflowStatisticsListener(); overflowMonitor.addListener(listener); overflowMonitor.addStatistics(stats); monitors.put(stats, overflowMonitor); listeners.put(stats, listener); }
@Override public void stopListener() { for (Statistics stat : listeners.keySet()) { ValueMonitor monitor = monitors.get(stat); monitor.removeListener(listeners.get(stat)); monitor.removeStatistics(stat); } listeners.clear(); monitors.clear(); }
@Override public void addStatisticsToMonitor(Statistics stats) { ValueMonitor regionMonitor = new ValueMonitor(); MemberLevelRegionStatisticsListener listener = new MemberLevelRegionStatisticsListener(); regionMonitor.addListener(listener); regionMonitor.addStatistics(stats); monitors.put(stats, regionMonitor); listeners.put(stats, listener); }
@Override public void stopListener() { for (Statistics stat : listeners.keySet()) { ValueMonitor monitor = monitors.get(stat); monitor.removeListener(listeners.get(stat)); monitor.removeStatistics(stat); } monitors.clear(); listeners.clear(); }
@Override public void removeStatisticsFromMonitor(Statistics stats) { ValueMonitor monitor = monitors.remove(stats); if (monitor != null) { monitor.removeStatistics(stats); } MemberLevelDiskStatisticsListener listener = listeners.remove(stats); if (listener != null) { if (monitor != null) { monitor.removeListener(listener); } listener.decreaseDiskStoreStats(); } }
@Test public void stopListenerShouldRemoveListenerAndMonitor() { Statistics statistics = mock(Statistics.class); ValueMonitor regionMonitor = mock(ValueMonitor.class); AggregateRegionStatsMonitor.MemberLevelRegionStatisticsListener listener = mock(AggregateRegionStatsMonitor.MemberLevelRegionStatisticsListener.class); aggregateRegionStatsMonitor.getListeners().put(statistics, listener); aggregateRegionStatsMonitor.getMonitors().put(statistics, regionMonitor); aggregateRegionStatsMonitor.stopListener(); verify(regionMonitor, times(1)).removeListener(listener); verify(regionMonitor, times(1)).removeStatistics(statistics); assertThat(aggregateRegionStatsMonitor.getMonitors()).isEmpty(); assertThat(aggregateRegionStatsMonitor.getListeners()).isEmpty(); }
@Test public void stopListenerShouldRemoveListenerAndMonitor() { Statistics statistics = mock(Statistics.class); ValueMonitor regionMonitor = mock(ValueMonitor.class); MemberLevelDiskMonitor.MemberLevelDiskStatisticsListener listener = mock(MemberLevelDiskMonitor.MemberLevelDiskStatisticsListener.class); memberLevelDiskMonitor.getListeners().put(statistics, listener); memberLevelDiskMonitor.getMonitors().put(statistics, regionMonitor); memberLevelDiskMonitor.stopListener(); verify(regionMonitor, times(1)).removeListener(listener); verify(regionMonitor, times(1)).removeStatistics(statistics); assertThat(memberLevelDiskMonitor.getMonitors()).isEmpty(); assertThat(memberLevelDiskMonitor.getListeners()).isEmpty(); }
@Test public void removeDirectoryStatisticsShouldRemoveListenerAndMonitor() { Statistics statistics = mock(Statistics.class); ValueMonitor regionMonitor = mock(ValueMonitor.class); AggregateRegionStatsMonitor.MemberLevelRegionStatisticsListener listener = mock(AggregateRegionStatsMonitor.MemberLevelRegionStatisticsListener.class); aggregateRegionStatsMonitor.getListeners().put(statistics, listener); aggregateRegionStatsMonitor.getMonitors().put(statistics, regionMonitor); aggregateRegionStatsMonitor.removeDirectoryStatistics(statistics); assertThat(aggregateRegionStatsMonitor.getListeners()).isEmpty(); assertThat(aggregateRegionStatsMonitor.getMonitors()).isEmpty(); verify(regionMonitor, times(1)).removeListener(listener); verify(regionMonitor, times(1)).removeStatistics(statistics); }
@Test public void removeStatisticsFromMonitorShouldRemoveListenerAndMonitor() { Statistics statistics = mock(Statistics.class); ValueMonitor regionMonitor = mock(ValueMonitor.class); MemberLevelDiskMonitor.MemberLevelDiskStatisticsListener listener = mock(MemberLevelDiskMonitor.MemberLevelDiskStatisticsListener.class); memberLevelDiskMonitor.getListeners().put(statistics, listener); memberLevelDiskMonitor.getMonitors().put(statistics, regionMonitor); memberLevelDiskMonitor.removeStatisticsFromMonitor(statistics); assertThat(memberLevelDiskMonitor.getListeners()).isEmpty(); assertThat(memberLevelDiskMonitor.getMonitors()).isEmpty(); verify(listener, times(1)).decreaseDiskStoreStats(); verify(regionMonitor, times(1)).removeListener(listener); verify(regionMonitor, times(1)).removeStatistics(statistics); }
@Test public void removeLRUStatisticsShouldRemoveListenerAndMonitor() { Statistics statistics = mock(Statistics.class); ValueMonitor regionMonitor = mock(ValueMonitor.class); AggregateRegionStatsMonitor.MemberLevelRegionStatisticsListener listener = mock(AggregateRegionStatsMonitor.MemberLevelRegionStatisticsListener.class); aggregateRegionStatsMonitor.getListeners().put(statistics, listener); aggregateRegionStatsMonitor.getMonitors().put(statistics, regionMonitor); aggregateRegionStatsMonitor.removeLRUStatistics(statistics); assertThat(aggregateRegionStatsMonitor.getListeners()).isEmpty(); assertThat(aggregateRegionStatsMonitor.getMonitors()).isEmpty(); verify(regionMonitor, times(1)).removeListener(listener); verify(regionMonitor, times(1)).removeStatistics(statistics); }