Fix conflicts
This commit is contained in:
parent
1848e400a0
commit
a709b2803c
|
|
@ -27,12 +27,15 @@ import org.apache.dubbo.metrics.model.sample.MetricSample;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
public abstract class MetricsNameCountSampler<S, K, M extends Metric> extends SimpleMetricsCountSampler<S, K, M> {
|
||||
|
||||
protected final DefaultMetricsCollector collector;
|
||||
|
||||
private final AtomicBoolean samplesChanged = new AtomicBoolean(true);
|
||||
|
||||
protected final Set<K> metricNames = new ConcurrentHashSet<>();
|
||||
|
||||
protected final MetricsCategory metricsCategory;
|
||||
|
|
@ -48,6 +51,7 @@ public abstract class MetricsNameCountSampler<S, K, M extends Metric> extends Si
|
|||
|
||||
public void addMetricName(K name) {
|
||||
this.metricNames.add(name);
|
||||
this.samplesChanged.set(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -66,4 +70,9 @@ public abstract class MetricsNameCountSampler<S, K, M extends Metric> extends Si
|
|||
|
||||
protected abstract MetricSample provideMetricsSample(M metric,AtomicLong count,MetricsKey metricsKey,MetricsCategory metricsCategory);
|
||||
|
||||
@Override
|
||||
public boolean calSamplesChanged() {
|
||||
// CAS to get and reset the flag in an atomic operation
|
||||
return samplesChanged.compareAndSet(true, false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@ public class ThreadPoolMetricsSampler implements MetricsSampler {
|
|||
private DataStore dataStore;
|
||||
private final Map<String, ThreadPoolExecutor> sampleThreadPoolExecutor = new ConcurrentHashMap<>();
|
||||
private final ConcurrentHashMap<String, ThreadPoolMetric> threadPoolMetricMap = new ConcurrentHashMap<>();
|
||||
private final AtomicBoolean samplesChanged = new AtomicBoolean(true);
|
||||
|
||||
|
||||
public ThreadPoolMetricsSampler(DefaultMetricsCollector collector) {
|
||||
this.collector = collector;
|
||||
|
|
|
|||
|
|
@ -23,18 +23,13 @@ import org.apache.dubbo.metrics.model.ThreadPoolRejectMetric;
|
|||
import org.apache.dubbo.metrics.model.key.MetricsKey;
|
||||
import org.apache.dubbo.metrics.model.sample.GaugeMetricSample;
|
||||
import org.apache.dubbo.metrics.model.sample.MetricSample;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import static org.apache.dubbo.metrics.model.MetricsCategory.THREAD_POOL;
|
||||
|
||||
public class ThreadRejectMetricsCountSampler extends MetricsNameCountSampler<String, String, ThreadPoolRejectMetric> {
|
||||
|
||||
private final AtomicBoolean samplesChanged = new AtomicBoolean(true);
|
||||
|
||||
public ThreadRejectMetricsCountSampler(DefaultMetricsCollector collector) {
|
||||
super(collector, THREAD_POOL,MetricsKey.THREAD_POOL_THREAD_REJECT_COUNT);
|
||||
}
|
||||
|
|
@ -54,10 +49,4 @@ public class ThreadRejectMetricsCountSampler extends MetricsNameCountSampler<Str
|
|||
protected void countConfigure(MetricsCountSampleConfigurer<String, String, ThreadPoolRejectMetric> sampleConfigure) {
|
||||
sampleConfigure.configureMetrics(configure -> new ThreadPoolRejectMetric(collector.getApplicationName(),configure.getSource()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean calSamplesChanged() {
|
||||
// CAS to get and reset the flag in an atomic operation
|
||||
return samplesChanged.compareAndSet(true, false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,4 +94,8 @@ public class NettyMetricsCollector extends CombMetricsCollector<NettyEvent> {
|
|||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean calSamplesChanged() {
|
||||
return stats.calSamplesChanged();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue