forked from infinispan/infinispan
-
Notifications
You must be signed in to change notification settings - Fork 5
/
MicrometerMeterRegisterConfigurationBuilder.java
70 lines (56 loc) · 2.17 KB
/
MicrometerMeterRegisterConfigurationBuilder.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package org.infinispan.metrics.config;
import java.util.Objects;
import org.infinispan.commons.configuration.Builder;
import org.infinispan.configuration.global.GlobalConfigurationBuilder;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.prometheus.PrometheusMeterRegistry;
/**
* Builder to inject an instance of {@link MeterRegistry}.
* <p>
* If not configured, Infinispan will create a new instance of {@link PrometheusMeterRegistry}.
*
* @since 15.0
*/
public class MicrometerMeterRegisterConfigurationBuilder implements Builder<MicrometerMeterRegistryConfiguration> {
private MeterRegistry meterRegistry;
public MicrometerMeterRegisterConfigurationBuilder(GlobalConfigurationBuilder builder) {
//required because GlobalConfigurationBuilder#addModule uses reflection
}
/**
* Set the {@link MeterRegistry} instance to use by Infinispan.
* <p>
* If set to {@code null}, Infinispan will create a new instance of {@link PrometheusMeterRegistry}.
*
* @param registry The {@link MeterRegistry} to use or {@code null}.
*/
public MicrometerMeterRegisterConfigurationBuilder meterRegistry(MeterRegistry registry) {
meterRegistry = registry;
return this;
}
@Override
public MicrometerMeterRegistryConfiguration create() {
return new MicrometerMeterRegistryConfiguration(meterRegistry);
}
@Override
public MicrometerMeterRegisterConfigurationBuilder read(MicrometerMeterRegistryConfiguration template) {
meterRegistry(template.meterRegistry());
return this;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof MicrometerMeterRegisterConfigurationBuilder)) return false;
MicrometerMeterRegisterConfigurationBuilder that = (MicrometerMeterRegisterConfigurationBuilder) o;
return Objects.equals(meterRegistry, that.meterRegistry);
}
@Override
public int hashCode() {
return meterRegistry != null ? meterRegistry.hashCode() : 0;
}
@Override
public String toString() {
return "MicrometerMeterRegisterConfigurationBuilder{" +
"meterRegistry=" + meterRegistry +
'}';
}
}