public void setRegistrySizeMonitor(final EurekaServerRegistry<InstanceInfo> registry) { Callable<Integer> registrySizeCallable = new Callable<Integer>() { @Override public Integer call() throws Exception { return registry.size(); } }; BasicGauge<Integer> gauge = new BasicGauge<>(monitorConfig("registrySize"), registrySizeCallable); register(gauge); }
public EurekaServerRegistryMetrics() { super("eurekaServerRegistry"); registrationsLocal = newCounter("registrationsLocal"); registrationsReplicated = newCounter("registrationsReplicated"); registrationsTotal = newCounter("registrationsTotal"); updatesLocal = newCounter("updatesLocal"); updatesReplicated = newCounter("updatesLocal"); updatesTotal = newCounter("updatesTotal"); unregistrationsLocal = newCounter("unregistrationsLocal"); unregistrationsReplicated = newCounter("unregistrationsReplicated"); unregistrationsTotal = newCounter("unregistrationsTotal"); }
replicationChannelMetrics.bindMetrics(); EurekaServerRegistryMetrics eurekaServerRegistryMetrics = new EurekaServerRegistryMetrics(); eurekaServerRegistryMetrics.bindMetrics();
@Inject public PreservableEurekaRegistry(@Named("delegate") EurekaServerRegistry eurekaRegistry, EvictionQueue evictionQueue, EvictionStrategy evictionStrategy, WriteServerMetricFactory metricFactory) { this.eurekaRegistry = eurekaRegistry; this.evictionStrategy = evictionStrategy; this.evictionSubscriber = new EvictionSubscriber(); this.evictionSubscription = evictionQueue.pendingEvictions().subscribe(evictionSubscriber); metricFactory.getEurekaServerRegistryMetrics().setSelfPreservationMonitor(this); }
public EurekaServerRegistryImpl(WriteServerMetricFactory metricsFactory, Scheduler scheduler) { this.metrics = metricsFactory.getEurekaServerRegistryMetrics(); this.metrics.setRegistrySizeMonitor(this); invoker = new NotificationTaskInvoker( metricsFactory.getRegistryTaskInvokerMetrics(), scheduler); internalStore = new ConcurrentHashMap<>(); indexRegistry = new IndexRegistryImpl<>(); notificationSubject = NotificationsSubject.create(); internalStoreAccessor = new MultiSourcedDataHolder.HolderStoreAccessor<NotifyingInstanceInfoHolder>() { @Override public void add(NotifyingInstanceInfoHolder holder) { internalStore.put(holder.getId(), holder); } @Override public NotifyingInstanceInfoHolder get(String id) { return internalStore.get(id); } @Override public void remove(String id) { internalStore.remove(id); } @Override public boolean contains(String id) { return internalStore.containsKey(id); } }; }
public void setSelfPreservationMonitor(final PreservableEurekaRegistry registry) { Callable<Integer> selfPreservationCallable = new Callable<Integer>() { @Override public Integer call() throws Exception { return registry.isInSelfPreservation() ? 1 : 0; } }; BasicGauge<Integer> gauge = new BasicGauge<>(monitorConfig("selfPreservation"), selfPreservationCallable); register(gauge); } }