Skip to content

Commit 5a3a5f9

Browse files
authored
Get rid of metrics-transmitter (#20)
1 parent e9dd58b commit 5a3a5f9

File tree

18 files changed

+286
-1032
lines changed

18 files changed

+286
-1032
lines changed

metrics-examples/src/main/java/io/scalecube/metrics/mimir/MimirAllInOneAeron.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import io.scalecube.metrics.HistogramMetric;
3131
import io.scalecube.metrics.MetricsReaderAgent;
3232
import io.scalecube.metrics.MetricsRecorder;
33-
import io.scalecube.metrics.MetricsTransmitter;
3433
import io.scalecube.metrics.TpsMetric;
3534
import io.scalecube.metrics.aeron.CncCountersReaderAgent;
3635
import java.time.Duration;
@@ -82,8 +81,6 @@ public static void main(String[] args) throws Exception {
8281
System.out.println("Grafana is available at: " + grafanaUrl);
8382

8483
final var metricsRecorder = MetricsRecorder.launch();
85-
final var metricsTransmitter = MetricsTransmitter.launch();
86-
8784
final var countersRegistry = CountersRegistry.create();
8885
final var countersManager = countersRegistry.countersManager();
8986
final var sessionCounter = countersManager.newCounter("session_count");
@@ -159,7 +156,8 @@ public static void main(String[] args) throws Exception {
159156
new CountersMimirHandler(null, mimirPublisher.proxy())),
160157
new MetricsReaderAgent(
161158
"MetricsReaderAgent",
162-
metricsTransmitter.context().broadcastBuffer(),
159+
metricsRecorder.context().metricsDir(),
160+
true,
163161
SystemEpochClock.INSTANCE,
164162
Duration.ofSeconds(3),
165163
new MetricsMimirHandler(null, mimirPublisher.proxy())));

metrics-examples/src/main/java/io/scalecube/metrics/mimir/MimirAllInOneHistogram.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.scalecube.metrics.MetricsHandler;
77
import io.scalecube.metrics.MetricsReaderAgent;
88
import io.scalecube.metrics.MetricsRecorder;
9-
import io.scalecube.metrics.MetricsTransmitter;
109
import java.net.URI;
1110
import java.net.http.HttpClient;
1211
import java.net.http.HttpRequest;
@@ -68,7 +67,6 @@ public static void main(String[] args) {
6867
System.out.println("Grafana is available at: " + grafanaUrl);
6968

7069
final var metricsRecorder = MetricsRecorder.launch();
71-
final var metricsTransmitter = MetricsTransmitter.launch();
7270

7371
AgentRunner.startOnThread(
7472
new AgentRunner(
@@ -77,7 +75,8 @@ public static void main(String[] args) {
7775
null,
7876
new MetricsReaderAgent(
7977
"MetricsReaderAgent",
80-
metricsTransmitter.context().broadcastBuffer(),
78+
metricsRecorder.context().metricsDir(),
79+
true,
8180
SystemEpochClock.INSTANCE,
8281
Duration.ofSeconds(3),
8382
new MimirHistogramHandler(pushUrl))));

metrics-examples/src/main/java/io/scalecube/metrics/mimir/MimirAllInOnePercentiles.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import io.scalecube.metrics.MetricsReaderAgent;
66
import io.scalecube.metrics.MetricsRecorder;
7-
import io.scalecube.metrics.MetricsTransmitter;
87
import java.time.Duration;
98
import org.agrona.concurrent.AgentRunner;
109
import org.agrona.concurrent.BackoffIdleStrategy;
@@ -49,7 +48,6 @@ public static void main(String[] args) {
4948
System.out.println("Grafana is available at: " + grafanaUrl);
5049

5150
final var metricsRecorder = MetricsRecorder.launch();
52-
final var metricsTransmitter = MetricsTransmitter.launch();
5351
final var mimirPublisher = MimirPublisher.launch(new MimirPublisher.Context().url(pushUrl));
5452

5553
// Metrics
@@ -61,7 +59,8 @@ public static void main(String[] args) {
6159
null,
6260
new MetricsReaderAgent(
6361
"MetricsReaderAgent",
64-
metricsTransmitter.context().broadcastBuffer(),
62+
metricsRecorder.context().metricsDir(),
63+
true,
6564
SystemEpochClock.INSTANCE,
6665
Duration.ofSeconds(3),
6766
new MetricsMimirHandler(null, mimirPublisher.proxy()))));

metrics-examples/src/main/java/io/scalecube/metrics/prometheus/PrometheusAllInOneAeron.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import io.scalecube.metrics.HistogramMetric;
3131
import io.scalecube.metrics.MetricsReaderAgent;
3232
import io.scalecube.metrics.MetricsRecorder;
33-
import io.scalecube.metrics.MetricsTransmitter;
3433
import io.scalecube.metrics.TpsMetric;
3534
import io.scalecube.metrics.aeron.CncCountersReaderAgent;
3635
import java.io.IOException;
@@ -80,7 +79,6 @@ public static void main(String[] args) throws IOException, InterruptedException
8079
System.out.println("Grafana: " + grafanaUrl);
8180

8281
final var metricsRecorder = MetricsRecorder.launch();
83-
final var metricsTransmitter = MetricsTransmitter.launch();
8482

8583
final var highestTrackableValue = (long) 1e9;
8684
final var conversionFactor = 1e-3;
@@ -185,7 +183,8 @@ public static void main(String[] args) throws IOException, InterruptedException
185183
cncCountersAdapter),
186184
new MetricsReaderAgent(
187185
"MetricsReaderAgent",
188-
metricsTransmitter.context().broadcastBuffer(),
186+
metricsRecorder.context().metricsDir(),
187+
true,
189188
SystemEpochClock.INSTANCE,
190189
Duration.ofSeconds(3),
191190
metricsAdapter));

metrics-examples/src/main/java/io/scalecube/metrics/prometheus/PrometheusNativeHistogram.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import io.scalecube.metrics.MetricsHandler;
99
import io.scalecube.metrics.MetricsReaderAgent;
1010
import io.scalecube.metrics.MetricsRecorder;
11-
import io.scalecube.metrics.MetricsTransmitter;
1211
import java.io.IOException;
1312
import java.io.OutputStream;
1413
import java.net.InetSocketAddress;
@@ -69,7 +68,6 @@ public static void main(String[] args) throws IOException {
6968
System.out.println(Instant.now() + " | Server started on " + socketAddress);
7069

7170
final var metricsRecorder = MetricsRecorder.launch();
72-
final var metricsTransmitter = MetricsTransmitter.launch();
7371

7472
AgentRunner.startOnThread(
7573
new AgentRunner(
@@ -78,7 +76,8 @@ public static void main(String[] args) throws IOException {
7876
null,
7977
new MetricsReaderAgent(
8078
"MetricsReaderAgent",
81-
metricsTransmitter.context().broadcastBuffer(),
79+
metricsRecorder.context().metricsDir(),
80+
true,
8281
SystemEpochClock.INSTANCE,
8382
Duration.ofSeconds(3),
8483
metricsHandlerAdapter)));
@@ -88,6 +87,7 @@ public static void main(String[] args) throws IOException {
8887
final var highestTrackableValue = (long) 1e9;
8988
final var conversionFactor = 1e-3;
9089
final var resolutionMs = 1000;
90+
9191
final var latencyMetric =
9292
metricsRecorder.newHistogram(
9393
keyFlyweight -> keyFlyweight.tagsCount(1).stringValue("name", "hft_latency"),

metrics-mimir/src/main/java/io/scalecube/metrics/mimir/MimirPublisher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ private void conclude() {
150150
}
151151

152152
if (errorHandler == null) {
153-
errorHandler = ex -> LOGGER.error("Exception occurred: ", ex);
153+
errorHandler = ex -> LOGGER.error("Exception occurred", ex);
154154
}
155155

156156
if (idleStrategy == null) {

metrics/src/main/java/io/scalecube/metrics/CountersRegistry.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -170,14 +170,10 @@ private void concludeCountersBuffers() {
170170
throw new IllegalArgumentException("countersValuesBufferLength must be power of 2");
171171
}
172172

173-
final var countersMetaDataBufferLength =
174-
LayoutDescriptor.countersMetaDataBufferLength(countersValuesBufferLength);
175-
final var countersFileLength =
176-
LayoutDescriptor.HEADER_LENGTH
177-
+ countersMetaDataBufferLength
178-
+ countersValuesBufferLength;
179-
180-
mappedByteBuffer = mapNewFile(new File(countersDir, COUNTERS_FILE), countersFileLength);
173+
mappedByteBuffer =
174+
mapNewFile(
175+
new File(countersDir, COUNTERS_FILE),
176+
LayoutDescriptor.countersFileLength(countersValuesBufferLength));
181177

182178
final var headerBuffer = LayoutDescriptor.createHeaderBuffer(mappedByteBuffer);
183179
final var startTimestamp = ManagementFactory.getRuntimeMXBean().getStartTime();
@@ -274,6 +270,12 @@ public static class LayoutDescriptor {
274270

275271
private LayoutDescriptor() {}
276272

273+
public static int countersFileLength(int countersValuesBufferLength) {
274+
return LayoutDescriptor.HEADER_LENGTH
275+
+ LayoutDescriptor.countersMetaDataBufferLength(countersValuesBufferLength)
276+
+ countersValuesBufferLength;
277+
}
278+
277279
public static int countersMetaDataBufferLength(int countersValuesBufferLength) {
278280
return countersValuesBufferLength * (METADATA_LENGTH / COUNTER_LENGTH);
279281
}

metrics/src/main/java/io/scalecube/metrics/HistogramAggregate.java

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

33
import static io.scalecube.metrics.HistogramRecorder.NUMBER_OF_SIGNIFICANT_VALUE_DIGITS;
44

5-
import io.scalecube.metrics.MetricsRecorder.MetricsPublication;
65
import org.HdrHistogram.Histogram;
76
import org.agrona.DirectBuffer;
7+
import org.agrona.concurrent.broadcast.BroadcastTransmitter;
88

99
class HistogramAggregate {
1010

@@ -13,7 +13,7 @@ class HistogramAggregate {
1313
private final double conversionFactor;
1414
private final long resolutionMs;
1515
private final MetricsEncoder encoder;
16-
private final MetricsPublication metricsPublication;
16+
private final BroadcastTransmitter metricsTransmitter;
1717

1818
private final Histogram accumulated;
1919
private final Histogram distinct;
@@ -24,13 +24,13 @@ class HistogramAggregate {
2424
double conversionFactor,
2525
long resolutionMs,
2626
MetricsEncoder encoder,
27-
MetricsPublication metricsPublication) {
27+
BroadcastTransmitter metricsTransmitter) {
2828
this.keyBuffer = keyBuffer;
2929
this.highestTrackableValue = highestTrackableValue;
3030
this.conversionFactor = conversionFactor;
3131
this.resolutionMs = resolutionMs;
3232
this.encoder = encoder;
33-
this.metricsPublication = metricsPublication;
33+
this.metricsTransmitter = metricsTransmitter;
3434
accumulated = new Histogram(highestTrackableValue, NUMBER_OF_SIGNIFICANT_VALUE_DIGITS);
3535
distinct = new Histogram(highestTrackableValue, NUMBER_OF_SIGNIFICANT_VALUE_DIGITS);
3636
}
@@ -49,7 +49,7 @@ void publish(long timestamp) {
4949
final var length =
5050
encoder.encodeHistogram(
5151
timestamp, keyBuffer, accumulated, distinct, highestTrackableValue, conversionFactor);
52-
metricsPublication.publish(encoder.buffer(), 0, length);
52+
metricsTransmitter.transmit(1, encoder.buffer(), 0, length);
5353
} finally {
5454
distinct.reset();
5555
}

metrics/src/main/java/io/scalecube/metrics/MetricsReader.java

Lines changed: 0 additions & 119 deletions
This file was deleted.

0 commit comments

Comments
 (0)