Skip to content

Commit 84e5017

Browse files
authored
Merge pull request #56 from ringcentral/upgrade-deps
Update dependencies
2 parents e724117 + 124ff88 commit 84e5017

File tree

52 files changed

+519
-397
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+519
-397
lines changed

metrics-facade-base/pom.xml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@
1515
<artifactId>metrics-facade-base</artifactId>
1616

1717
<dependencies>
18-
<dependency>
19-
<groupId>org.apache.commons</groupId>
20-
<artifactId>commons-lang3</artifactId>
21-
</dependency>
22-
23-
<dependency>
24-
<groupId>com.fasterxml.jackson.core</groupId>
25-
<artifactId>jackson-annotations</artifactId>
26-
</dependency>
27-
2818
<dependency>
2919
<groupId>org.slf4j</groupId>
3020
<artifactId>slf4j-api</artifactId>

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/AbstractMeter.java

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
package com.ringcentral.platform.metrics;
22

3-
import com.ringcentral.platform.metrics.configs.MeterConfig;
4-
import com.ringcentral.platform.metrics.configs.MeterInstanceConfig;
5-
import com.ringcentral.platform.metrics.configs.MeterSliceConfig;
6-
import com.ringcentral.platform.metrics.labels.Label;
7-
import com.ringcentral.platform.metrics.labels.LabelValue;
8-
import com.ringcentral.platform.metrics.labels.LabelValues;
9-
import com.ringcentral.platform.metrics.labels.LabelValuesPredicate;
3+
import com.ringcentral.platform.metrics.configs.*;
104
import com.ringcentral.platform.metrics.histogram.Histogram;
5+
import com.ringcentral.platform.metrics.labels.*;
116
import com.ringcentral.platform.metrics.measurables.Measurable;
127
import com.ringcentral.platform.metrics.measurables.MeasurableValues;
138
import com.ringcentral.platform.metrics.names.MetricName;
149
import com.ringcentral.platform.metrics.utils.TimeMsProvider;
15-
import org.apache.commons.lang3.builder.HashCodeBuilder;
1610
import org.slf4j.Logger;
1711

1812
import java.util.*;
@@ -24,10 +18,8 @@
2418
import static java.lang.Math.max;
2519
import static java.lang.Math.min;
2620
import static java.util.Collections.*;
27-
import static java.util.concurrent.TimeUnit.DAYS;
28-
import static java.util.concurrent.TimeUnit.MILLISECONDS;
29-
import static java.util.stream.Collectors.toCollection;
30-
import static java.util.stream.Collectors.toMap;
21+
import static java.util.concurrent.TimeUnit.*;
22+
import static java.util.stream.Collectors.*;
3123
import static org.slf4j.LoggerFactory.getLogger;
3224

3325
public abstract class AbstractMeter<
@@ -654,15 +646,13 @@ public int hashCode() {
654646
}
655647

656648
static int hashCodeFor(List<LabelValue> labelValues, Label[] labelsMask) {
657-
HashCodeBuilder builder = new HashCodeBuilder(17, 37);
649+
LabelValue[] items = new LabelValue[labelsMask.length];
658650

659651
for (int i = 0; i < labelsMask.length; ++i) {
660-
if (labelsMask[i] != null) {
661-
builder.append(labelValues.get(i));
662-
}
652+
items[i] = labelsMask[i] != null ? labelValues.get(i) : null;
663653
}
664654

665-
return builder.toHashCode();
655+
return Arrays.hashCode(items);
666656
}
667657
}
668658

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/AbstractMetricContext.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package com.ringcentral.platform.metrics;
22

33
import java.util.Map;
4-
import java.util.concurrent.*;
4+
import java.util.concurrent.ConcurrentHashMap;
5+
import java.util.concurrent.ConcurrentMap;
56

67
import static com.ringcentral.platform.metrics.UnmodifiableMetricContext.emptyUnmodifiableMetricContext;
7-
import static org.apache.commons.lang3.ClassUtils.getAllInterfaces;
8+
import static com.ringcentral.platform.metrics.utils.ClassUtils.interfacesOf;
89

910
public abstract class AbstractMetricContext implements MetricContext {
1011

@@ -24,9 +25,9 @@ protected void with(Object value) {
2425
Class<?> type = value.getClass();
2526

2627
Class<?> typeKey = typeKeys.computeIfAbsent(type, t -> {
27-
for (Class<?> iface : getAllInterfaces(type)) {
28-
if (iface.isAnnotationPresent(MetricContextTypeKey.class)) {
29-
return iface;
28+
for (Class<?> i : interfacesOf(type)) {
29+
if (i.isAnnotationPresent(MetricContextTypeKey.class)) {
30+
return i;
3031
}
3132
}
3233

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/AbstractMetricRegistry.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.ringcentral.platform.metrics.timer.Timer;
2020
import com.ringcentral.platform.metrics.timer.configs.TimerConfig;
2121
import com.ringcentral.platform.metrics.timer.configs.builders.TimerConfigBuilder;
22+
import com.ringcentral.platform.metrics.utils.BasicThreadFactory;
2223
import com.ringcentral.platform.metrics.utils.SystemTimeMsProvider;
2324
import com.ringcentral.platform.metrics.utils.TimeMsProvider;
2425
import com.ringcentral.platform.metrics.var.configs.CachingVarConfig;
@@ -47,7 +48,6 @@
4748
import com.ringcentral.platform.metrics.var.stringVar.configs.StringVarConfig;
4849
import com.ringcentral.platform.metrics.var.stringVar.configs.builders.CachingStringVarConfigBuilder;
4950
import com.ringcentral.platform.metrics.var.stringVar.configs.builders.StringVarConfigBuilder;
50-
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
5151
import org.slf4j.Logger;
5252

5353
import java.util.List;
@@ -242,7 +242,7 @@ protected AbstractMetricRegistry(
242242
}
243243

244244
public static ScheduledExecutorService makeDefaultExecutor() {
245-
return newSingleThreadScheduledExecutor(new BasicThreadFactory.Builder().daemon(true).build());
245+
return newSingleThreadScheduledExecutor(new BasicThreadFactory("metric-registry-executor-%d", true));
246246
}
247247

248248
public static PredicativeMetricNamedInfoProvider<MetricMod> makeDefaultModsProvider() {

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/Metric.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
import com.ringcentral.platform.metrics.names.MetricNamed;
44

5-
import static org.apache.commons.lang3.StringUtils.isBlank;
5+
import static com.ringcentral.platform.metrics.utils.StringUtils.isNotBlank;
66

77
public interface Metric extends MetricNamed, Iterable<MetricInstance> {
88
boolean isEnabled();
99

1010
default boolean hasDescription() {
11-
return !isBlank(description());
11+
return isNotBlank(description());
1212
}
1313

1414
String description();

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/PrefixLabelValuesMetricKey.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import com.ringcentral.platform.metrics.labels.LabelValues;
44
import com.ringcentral.platform.metrics.names.MetricName;
55

6-
import static com.ringcentral.platform.metrics.utils.ObjectUtils.hashCodeFor;
6+
import java.util.Objects;
7+
78
import static com.ringcentral.platform.metrics.utils.Preconditions.checkArgument;
89
import static java.util.Objects.requireNonNull;
910

@@ -33,7 +34,7 @@ public PrefixLabelValuesMetricKey(MetricName name, LabelValues labelValues) {
3334
"labelValues is null or empty");
3435

3536
this.labelValues = labelValues;
36-
this.hashCode = hashCodeFor(name, labelValues);
37+
this.hashCode = Objects.hash(name, labelValues);
3738
}
3839

3940
@Override

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/configs/MetricConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import com.ringcentral.platform.metrics.MetricContext;
44
import com.ringcentral.platform.metrics.labels.LabelValues;
55

6-
import static org.apache.commons.lang3.StringUtils.isBlank;
6+
import static com.ringcentral.platform.metrics.utils.StringUtils.isNotBlank;
77

88
public interface MetricConfig {
99
boolean isEnabled();
1010

1111
default boolean hasDescription() {
12-
return !isBlank(description());
12+
return isNotBlank(description());
1313
}
1414

1515
String description();

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/histogram/Histogram.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,13 @@
77
import com.ringcentral.platform.metrics.scale.ScaleBuilder;
88

99
import java.math.BigDecimal;
10-
import java.util.EnumMap;
11-
import java.util.Locale;
12-
import java.util.Map;
13-
import java.util.Set;
10+
import java.util.*;
1411
import java.util.concurrent.TimeUnit;
1512

1613
import static com.ringcentral.platform.metrics.labels.LabelValues.NO_LABEL_VALUES;
1714
import static com.ringcentral.platform.metrics.measurables.MeasurableType.*;
1815
import static com.ringcentral.platform.metrics.scale.ExpScaleBuilder.expScale;
1916
import static com.ringcentral.platform.metrics.scale.LinearScaleBuilder.linearScale;
20-
import static com.ringcentral.platform.metrics.utils.ObjectUtils.hashCodeFor;
2117
import static com.ringcentral.platform.metrics.utils.Preconditions.checkArgument;
2218
import static com.ringcentral.platform.metrics.utils.TimeUnitUtils.convertTimeUnit;
2319
import static java.lang.Math.*;
@@ -155,7 +151,7 @@ public Percentile(double quantile) {
155151
String afterPoint = this.quantileAsString.substring(this.quantileAsString.indexOf(".") + 1);
156152
this.quantileDecimalPartAsString = afterPoint.length() > 1 ? afterPoint : afterPoint + "0";
157153
this.percentile = min(max(BigDecimal.valueOf(quantile).multiply(BIG_DECIMAL_100).doubleValue(), 0.0), 100.0);
158-
this.hashCode = hashCodeFor("Histogram.Percentile", quantile);
154+
this.hashCode = Objects.hash("Histogram.Percentile", quantile);
159155
}
160156

161157
public static Percentile of(double quantile) {
@@ -335,7 +331,7 @@ public Bucket(double upperBoundInUnits, TimeUnit upperBoundUnit) {
335331
BigDecimal.valueOf(upperBoundInUnits).multiply(
336332
BigDecimal.valueOf(resolvedUpperBoundUnit.toNanos(1L)).multiply(BigDecimal.valueOf(0.000000001))).doubleValue()));
337333

338-
this.hashCode = hashCodeFor("Histogram.Bucket", upperBoundInUnits, resolvedUpperBoundUnit);
334+
this.hashCode = Objects.hash("Histogram.Bucket", upperBoundInUnits, resolvedUpperBoundUnit);
339335
}
340336

341337
static String upperBoundAsString(double b) {
@@ -512,7 +508,7 @@ public Buckets(Set<Bucket> buckets) {
512508
"buckets is null or empty");
513509

514510
this.buckets = buckets;
515-
this.hashCode = hashCodeFor("Histogram.Buckets", buckets);
511+
this.hashCode = Objects.hash("Histogram.Buckets", buckets);
516512
}
517513

518514
public static Buckets linear(long from, long step, long stepCount) {

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/labels/LabelValue.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.ringcentral.platform.metrics.labels;
22

3-
import static com.ringcentral.platform.metrics.utils.ObjectUtils.*;
43
import static java.util.Objects.*;
54

65
public class LabelValue {
@@ -12,7 +11,7 @@ public class LabelValue {
1211
public LabelValue(Label label, String value) {
1312
this.label = requireNonNull(label);
1413
this.value = requireNonNull(value);
15-
this.hashCode = hashCodeFor(label, value);
14+
this.hashCode = hash(label, value);
1615
}
1716

1817
public Label label() {

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/labels/LabelValueMask.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.ringcentral.platform.metrics.labels;
22

33
import java.util.Arrays;
4+
import java.util.regex.Pattern;
45

5-
import static com.ringcentral.platform.metrics.utils.Preconditions.*;
6-
import static org.apache.commons.lang3.StringUtils.*;
6+
import static com.ringcentral.platform.metrics.utils.Preconditions.checkArgument;
7+
import static com.ringcentral.platform.metrics.utils.StringUtils.isBlank;
78

89
public class LabelValueMask implements LabelValuePredicate {
910

@@ -25,7 +26,7 @@ public static LabelValueMask of(
2526

2627
return new LabelValueMask(
2728
label,
28-
Arrays.stream(split(s, optionsDelimiter)).map(os -> Option.of(os, optionVarPart)).toArray(Option[]::new));
29+
Arrays.stream(s.split(Pattern.quote(optionsDelimiter))).map(os -> Option.of(os, optionVarPart)).toArray(Option[]::new));
2930
}
3031

3132
private LabelValueMask(Label label, Option[] options) {
@@ -74,7 +75,7 @@ static Option of(String s, String varPart) {
7475
checkArgument(!isBlank(s), "Option is blank");
7576

7677
return new Option(
77-
split(s, varPart),
78+
s.split(Pattern.quote(varPart)),
7879
s.startsWith(varPart),
7980
s.endsWith(varPart),
8081
s.equals(varPart));

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/names/MetricNameMask.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
import static com.ringcentral.platform.metrics.names.MetricNameMask.ItemType.*;
88
import static com.ringcentral.platform.metrics.utils.Preconditions.checkArgument;
9+
import static com.ringcentral.platform.metrics.utils.StringUtils.splitByDot;
910
import static java.util.Arrays.copyOfRange;
10-
import static org.apache.commons.lang3.StringUtils.split;
1111

1212
public class MetricNameMask implements MetricNamedPredicate {
1313

@@ -113,7 +113,7 @@ public static MetricNameMask anyMetricNameMask() {
113113
private static Item[] itemsOf(String s, Item... suffix) {
114114
List<Item> items = new ArrayList<>();
115115

116-
Arrays.stream(split(s, ".")).map(Item::of).forEach(item -> {
116+
Arrays.stream(splitByDot(s)).map(Item::of).forEach(item -> {
117117
if (item.type() == FIXED_PART
118118
|| items.isEmpty()
119119
|| items.get(items.size() - 1).type() != ANY_PARTS) {

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/producers/unlabeled/DefaultGarbageCollectorsMetricsProducer.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import java.util.Collection;
1010

1111
import static com.ringcentral.platform.metrics.names.MetricName.name;
12+
import static com.ringcentral.platform.metrics.utils.StringUtils.splitByDot;
1213
import static java.lang.management.ManagementFactory.getGarbageCollectorMXBeans;
13-
import static org.apache.commons.lang3.StringUtils.split;
1414

1515
/**
1616
* Produces<br>
@@ -72,9 +72,7 @@ public DefaultGarbageCollectorsMetricsProducer(
7272
@Override
7373
public void produceMetrics(MetricRegistry registry) {
7474
for (GarbageCollectorMXBean gcMxBean : gcMxBeans) {
75-
MetricName namePrefix = nameWithSuffix(split(
76-
WHITESPACE_PATTERN.matcher(gcMxBean.getName()).replaceAll("-"),
77-
"."));
75+
MetricName namePrefix = nameWithSuffix(splitByDot(WHITESPACE_PATTERN.matcher(gcMxBean.getName()).replaceAll("-")));
7876

7977
registry.longVar(
8078
name(namePrefix, "count"),

metrics-facade-base/src/main/java/com/ringcentral/platform/metrics/producers/unlabeled/DefaultMemoryMetricsProducer.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,12 @@
66
import com.ringcentral.platform.metrics.producers.AbstractMemoryMetricsProducer;
77
import com.ringcentral.platform.metrics.producers.Ratio;
88

9-
import java.lang.management.MemoryMXBean;
10-
import java.lang.management.MemoryPoolMXBean;
11-
import java.lang.management.MemoryUsage;
9+
import java.lang.management.*;
1210
import java.util.List;
1311

1412
import static com.ringcentral.platform.metrics.names.MetricName.name;
15-
import static java.lang.management.ManagementFactory.getMemoryMXBean;
16-
import static java.lang.management.ManagementFactory.getMemoryPoolMXBeans;
17-
import static org.apache.commons.lang3.StringUtils.split;
13+
import static com.ringcentral.platform.metrics.utils.StringUtils.splitByDot;
14+
import static java.lang.management.ManagementFactory.*;
1815

1916
/**
2017
* Produces<br>
@@ -353,7 +350,7 @@ public void produceMetrics(MetricRegistry registry) {
353350
for (MemoryPoolMXBean pool : memoryPoolMxBeans) {
354351
MetricName namePrefix = nameWithSuffix(name(
355352
name("pools"),
356-
split(WHITESPACE_PATTERN.matcher(pool.getName()).replaceAll("-"), ".")));
353+
splitByDot(WHITESPACE_PATTERN.matcher(pool.getName()).replaceAll("-"))));
357354

358355
registry.doubleVar(
359356
name(namePrefix, "usage"),

0 commit comments

Comments
 (0)