Skip to content

Commit 7db2b8e

Browse files
committed
#49: fix after review
1 parent 576bf99 commit 7db2b8e

File tree

9 files changed

+17
-67
lines changed

9 files changed

+17
-67
lines changed

metrics-facade-prometheus/src/main/java/com/ringcentral/platform/metrics/reporters/prometheus/DefaultPrometheusMetricSanitizer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class DefaultPrometheusMetricSanitizer implements PrometheusMetricSanitiz
1414

1515
public static final boolean DEFAULT_SANITIZE_METRIC_NAME = true;
1616
public static final boolean DEFAULT_SANITIZE_LABEL_NAME = true;
17-
public static final String DEFAULT_NON_LETTER_LABEL_NAME_FIRST_CHAR_PREFIX = "label_";
17+
public static final String DEFAULT_NON_LETTER_LABEL_NAME_FIRST_CHAR_PREFIX = "l_";
1818

1919
private static final Pattern LABEL_NAME_FORBIDDEN_CHAR_PATTERN = Pattern.compile("\\W");
2020

metrics-facade-prometheus/src/main/java/com/ringcentral/platform/metrics/reporters/prometheus/PrometheusMetricsExporter.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@
1313

1414
import java.io.IOException;
1515
import java.io.Writer;
16-
import java.util.*;
16+
import java.util.ArrayList;
17+
import java.util.LinkedHashMap;
18+
import java.util.List;
19+
import java.util.Map;
1720

1821
import static com.ringcentral.platform.metrics.reporters.prometheus.PrometheusMetricsExporter.Format.PROMETHEUS_TEXT_O_O_4;
1922
import static io.prometheus.client.Collector.MetricFamilySamples;
2023
import static java.lang.String.join;
2124
import static java.util.Collections.emptyList;
2225
import static java.util.Collections.enumeration;
26+
import static java.util.Locale.ENGLISH;
2327
import static java.util.Objects.requireNonNull;
2428
import static java.util.stream.Collectors.toList;
2529
import static org.slf4j.LoggerFactory.getLogger;
@@ -40,11 +44,9 @@ public enum Format {
4044
public static final Format DEFAULT_FORMAT = PROMETHEUS_TEXT_O_O_4;
4145
public static final String NAME_PARTS_DELIMITER = "_";
4246
public static final boolean DEFAULT_CONVERT_NAME_TO_LOWER_CASE = false;
43-
public static final Locale DEFAULT_LOCALE = Locale.ENGLISH;
4447

4548
private final Format defaultFormat;
4649
private final boolean convertNameToLowercase;
47-
private final Locale locale;
4850
private final PrometheusMetricSanitizer sanitizer;
4951
private final InstanceSamplesProvider<? extends PrometheusSample, ? extends PrometheusInstanceSample> instanceSamplesProvider;
5052

@@ -54,21 +56,18 @@ public PrometheusMetricsExporter(MetricRegistry metricRegistry) {
5456
this(
5557
DEFAULT_FORMAT,
5658
DEFAULT_CONVERT_NAME_TO_LOWER_CASE,
57-
DEFAULT_LOCALE,
5859
new DefaultPrometheusMetricSanitizer(),
5960
new PrometheusInstanceSamplesProvider(metricRegistry));
6061
}
6162

6263
public PrometheusMetricsExporter(
6364
Format defaultFormat,
6465
boolean convertNameToLowercase,
65-
Locale locale,
6666
PrometheusMetricSanitizer sanitizer,
6767
InstanceSamplesProvider<? extends PrometheusSample, ? extends PrometheusInstanceSample> instanceSamplesProvider) {
6868

6969
this.defaultFormat = requireNonNull(defaultFormat);
7070
this.convertNameToLowercase = convertNameToLowercase;
71-
this.locale = locale != null ? locale : DEFAULT_LOCALE;
7271
this.sanitizer = requireNonNull(sanitizer);
7372
this.instanceSamplesProvider = requireNonNull(instanceSamplesProvider);
7473
}
@@ -167,13 +166,13 @@ private MetricFamilySamples toMetricFamilySamples(PrometheusInstanceSample is) {
167166

168167
private String buildName(MetricName name) {
169168
final var sanitizedName = sanitizer.sanitizeMetricName(join(NAME_PARTS_DELIMITER, name));
170-
return convertNameToLowercase ? sanitizedName.toLowerCase(locale) : sanitizedName;
169+
return convertNameToLowercase ? sanitizedName.toLowerCase(ENGLISH) : sanitizedName;
171170
}
172171

173172
private String buildNameSuffix(PrometheusSample ps) {
174173
final var suffix = ps.nameSuffix();
175174
final var sanitizedSuffix = sanitizer.sanitizeMetricName(suffix);
176-
return convertNameToLowercase ? sanitizedSuffix.toLowerCase(locale) : sanitizedSuffix;
175+
return convertNameToLowercase ? sanitizedSuffix.toLowerCase(ENGLISH) : sanitizedSuffix;
177176
}
178177

179178
private static String helpFor(PrometheusInstanceSample is) {

metrics-facade-prometheus/src/main/java/com/ringcentral/platform/metrics/reporters/prometheus/PrometheusMetricsExporterBuilder.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import java.util.ArrayList;
1111
import java.util.List;
12-
import java.util.Locale;
1312

1413
import static com.ringcentral.platform.metrics.samples.prometheus.PrometheusInstanceSamplesProviderBuilder.prometheusInstanceSamplesProvider;
1514
import static java.util.Objects.requireNonNull;
@@ -18,7 +17,6 @@ public class PrometheusMetricsExporterBuilder {
1817

1918
private PrometheusMetricsExporter.Format defaultFormat = PrometheusMetricsExporter.DEFAULT_FORMAT;
2019
private boolean convertNameToLowercase = PrometheusMetricsExporter.DEFAULT_CONVERT_NAME_TO_LOWER_CASE;
21-
private Locale locale = PrometheusMetricsExporter.DEFAULT_LOCALE;
2220
private PrometheusMetricSanitizer sanitizer = new DefaultPrometheusMetricSanitizer();
2321
private final List<InstanceSamplesProvider<? extends PrometheusSample, ? extends PrometheusInstanceSample>> instanceSamplesProviders = new ArrayList<>();
2422

@@ -49,11 +47,6 @@ public PrometheusMetricsExporterBuilder convertNameToLowercase(boolean convertNa
4947
return this;
5048
}
5149

52-
public PrometheusMetricsExporterBuilder locale(Locale locale) {
53-
this.locale = requireNonNull(locale);
54-
return this;
55-
}
56-
5750
public PrometheusMetricsExporterBuilder sanitizer(PrometheusMetricSanitizer sanitizer) {
5851
this.sanitizer = requireNonNull(sanitizer);
5952
return this;
@@ -72,7 +65,6 @@ public PrometheusMetricsExporter build() {
7265
return new PrometheusMetricsExporter(
7366
defaultFormat,
7467
convertNameToLowercase,
75-
locale,
7668
sanitizer,
7769
instanceSamplesProviders.size() == 1 ? instanceSamplesProviders.get(0) : new CompositeInstanceSamplesProvider<>(instanceSamplesProviders));
7870
}

metrics-facade-prometheus/src/test/java/com/ringcentral/platform/metrics/reporters/prometheus/DefaultPrometheusMetricSanitizerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ public void sanitizingMetricName() {
2828
@Test
2929
public void sanitizingLabelName() {
3030
assertThat(sanitizer.sanitizeLabelName("a.1.:._.й.|"), is("a_1________"));
31-
assertThat(sanitizer.sanitizeLabelNames(List.of(".a.1.:._.й.|")), is(List.of("label__a_1________")));
31+
assertThat(sanitizer.sanitizeLabelNames(List.of(".a.1.:._.й.|")), is(List.of("l__a_1________")));
3232
}
3333
}

metrics-facade-samples/src/main/java/com/ringcentral/platform/metrics/samples/reporters/PrometheusMetricsExporterSample.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import static com.ringcentral.platform.metrics.samples.prometheus.PrometheusInstanceSamplesProviderBuilder.prometheusInstanceSamplesProvider;
2828
import static com.ringcentral.platform.metrics.samples.prometheus.PrometheusSampleSpec.sampleSpec;
2929
import static com.ringcentral.platform.metrics.timer.configs.builders.TimerConfigBuilder.withTimer;
30-
import static java.util.Locale.ENGLISH;
3130
import static java.util.concurrent.TimeUnit.SECONDS;
3231

3332
@SuppressWarnings("ALL")
@@ -91,7 +90,6 @@ public static void main(String[] args) throws Exception {
9190

9291
PrometheusMetricsExporter exporter = prometheusMetricsExporter()
9392
.convertNameToLowercase()
94-
.locale(ENGLISH)
9593
.addInstanceSamplesProvider(miSamplesProvider)
9694
.addInstanceSamplesProvider(new SimpleCollectorRegistryPrometheusInstanceSamplesProvider(
9795
name("defaultRegistry"), // optional prefix

metrics-facade-spring/metrics-facade-prometheus-spring-boot-autoconfigure/src/main/java/com/ringcentral/platform/metrics/spring/prometheus/MfPrometheusAutoConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ public PrometheusMetricsExporter prometheusMetricsExporter(
6666

6767
configBuilder = new MfPrometheusConfigBuilder()
6868
.convertNameToLowercase(properties.getConvertNameToLowercase())
69-
.locale(properties.getLocale())
7069
.rebase(configBuilder);
7170

7271
MfPrometheusConfig config = configBuilder.build();
@@ -78,7 +77,6 @@ public PrometheusMetricsExporter prometheusMetricsExporter(
7877

7978
PrometheusMetricsExporter exporter = prometheusMetricsExporterBuilder()
8079
.convertNameToLowercase(config.convertNameToLowercase())
81-
.locale(config.locale())
8280
.addInstanceSamplesProvider(instanceSamplesProvider)
8381
.build();
8482

Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
package com.ringcentral.platform.metrics.spring.prometheus;
22

3-
import com.ringcentral.platform.metrics.samples.*;
4-
import com.ringcentral.platform.metrics.samples.prometheus.*;
5-
6-
import java.util.Locale;
3+
import com.ringcentral.platform.metrics.samples.InstanceSamplesProvider;
4+
import com.ringcentral.platform.metrics.samples.prometheus.PrometheusInstanceSample;
5+
import com.ringcentral.platform.metrics.samples.prometheus.PrometheusSample;
76

87
public class MfPrometheusConfig {
98

109
private final InstanceSamplesProvider<? extends PrometheusSample, ? extends PrometheusInstanceSample> instanceSamplesProvider;
1110
private final boolean convertNameToLowercase;
12-
private final Locale locale;
1311

1412
public MfPrometheusConfig(
1513
InstanceSamplesProvider<? extends PrometheusSample, ? extends PrometheusInstanceSample> instanceSamplesProvider,
16-
boolean convertNameToLowercase,
17-
Locale locale) {
14+
boolean convertNameToLowercase) {
1815

1916
this.instanceSamplesProvider = instanceSamplesProvider;
2017
this.convertNameToLowercase = convertNameToLowercase;
21-
this.locale = locale;
2218
}
2319

2420
public boolean hasInstanceSamplesProvider() {
@@ -32,12 +28,4 @@ public boolean hasInstanceSamplesProvider() {
3228
public boolean convertNameToLowercase() {
3329
return convertNameToLowercase;
3430
}
35-
36-
public boolean hasLocale() {
37-
return locale != null;
38-
}
39-
40-
public Locale locale() {
41-
return locale;
42-
}
4331
}
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package com.ringcentral.platform.metrics.spring.prometheus;
22

33
import com.ringcentral.platform.metrics.samples.InstanceSamplesProvider;
4-
import com.ringcentral.platform.metrics.samples.prometheus.*;
4+
import com.ringcentral.platform.metrics.samples.prometheus.PrometheusInstanceSample;
5+
import com.ringcentral.platform.metrics.samples.prometheus.PrometheusSample;
56

6-
import java.util.Locale;
7-
8-
import static com.ringcentral.platform.metrics.reporters.prometheus.PrometheusMetricsExporter.*;
7+
import static com.ringcentral.platform.metrics.reporters.prometheus.PrometheusMetricsExporter.DEFAULT_CONVERT_NAME_TO_LOWER_CASE;
98

109
public class MfPrometheusConfigBuilder {
1110

1211
private InstanceSamplesProvider<? extends PrometheusSample, ? extends PrometheusInstanceSample> instanceSamplesProvider;
1312
private Boolean convertNameToLowercase;
14-
private Locale locale;
1513

1614
public MfPrometheusConfigBuilder() {}
1715

@@ -24,10 +22,6 @@ public MfPrometheusConfigBuilder rebase(MfPrometheusConfigBuilder base) {
2422
convertNameToLowercase = base.convertNameToLowercase;
2523
}
2624

27-
if (base.locale != null && locale == null) {
28-
locale = base.locale;
29-
}
30-
3125
return this;
3226
}
3327

@@ -41,21 +35,13 @@ public MfPrometheusConfigBuilder convertNameToLowercase(Boolean convertNameToLow
4135
return this;
4236
}
4337

44-
public MfPrometheusConfigBuilder locale(Locale locale) {
45-
this.locale = locale;
46-
return this;
47-
}
48-
4938
public MfPrometheusConfig build() {
5039
boolean convertNameToLowercase = DEFAULT_CONVERT_NAME_TO_LOWER_CASE;
5140

5241
if (this.convertNameToLowercase != null) {
5342
convertNameToLowercase = this.convertNameToLowercase;
5443
}
5544

56-
return new MfPrometheusConfig(
57-
instanceSamplesProvider,
58-
convertNameToLowercase,
59-
locale != null ? locale : DEFAULT_LOCALE);
45+
return new MfPrometheusConfig(instanceSamplesProvider, convertNameToLowercase);
6046
}
6147
}

metrics-facade-spring/metrics-facade-prometheus-spring-boot-autoconfigure/src/main/java/com/ringcentral/platform/metrics/spring/prometheus/MfPrometheusProperties.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@
33
import com.ringcentral.platform.metrics.spring.MfProperties;
44
import org.springframework.boot.context.properties.ConfigurationProperties;
55

6-
import java.util.Locale;
7-
86
@ConfigurationProperties(prefix = MfPrometheusProperties.PREFIX)
97
public class MfPrometheusProperties {
108

119
public static final String PREFIX = MfProperties.PREFIX + ".prometheus";
1210

1311
private Boolean convertNameToLowercase;
14-
private Locale locale;
1512

1613
public Boolean getConvertNameToLowercase() {
1714
return convertNameToLowercase;
@@ -20,12 +17,4 @@ public Boolean getConvertNameToLowercase() {
2017
public void setConvertNameToLowercase(Boolean convertNameToLowercase) {
2118
this.convertNameToLowercase = convertNameToLowercase;
2219
}
23-
24-
public Locale getLocale() {
25-
return locale;
26-
}
27-
28-
public void setLocale(Locale locale) {
29-
this.locale = locale;
30-
}
3120
}

0 commit comments

Comments
 (0)