Skip to content
This repository was archived by the owner on May 6, 2022. It is now read-only.

Commit e2714cb

Browse files
author
Florian Lautenschlager
committed
Updated example to v0.1
1 parent bc5a851 commit e2714cb

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

chronix-timeseries-exploration/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ dependencies {
1414
compile 'commons-logging:commons-logging:1.2'
1515

1616
compile 'de.qaware.chronix:chronix-api:0.0.2'
17-
compile 'de.qaware.chronix:chronix-server-client:0.0.2'
18-
compile 'de.qaware.chronix:chronix-kassiopeia-simple:0.0.2'
19-
compile 'de.qaware.chronix:chronix-kassiopeia-simple-converter:0.0.2'
17+
compile 'de.qaware.chronix:chronix-server-client:0.1'
18+
compile 'de.qaware.chronix:chronix-kassiopeia-simple:0.1'
19+
compile 'de.qaware.chronix:chronix-kassiopeia-simple-converter:0.1'
2020
}
2121

2222

chronix-timeseries-exploration/src/main/java/de/qaware/chronix/examples/exploration/ui/MainController.java

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
import de.qaware.chronix.ChronixClient;
1919
import de.qaware.chronix.converter.KassiopeiaSimpleConverter;
20-
import de.qaware.chronix.dts.MetricDataPoint;
2120
import de.qaware.chronix.examples.exploration.ui.dt.DateAxis;
2221
import de.qaware.chronix.examples.exploration.ui.log.TextAreaLogger;
2322
import de.qaware.chronix.solr.client.ChronixSolrStorage;
2423
import de.qaware.chronix.timeseries.MetricTimeSeries;
24+
import de.qaware.chronix.timeseries.Pair;
2525
import javafx.application.Platform;
2626
import javafx.concurrent.Task;
2727
import javafx.event.EventHandler;
@@ -50,6 +50,7 @@
5050
import java.util.function.BinaryOperator;
5151
import java.util.function.Function;
5252
import java.util.stream.Collectors;
53+
import java.util.stream.Stream;
5354

5455
/**
5556
* Main controller for our simple example ui
@@ -125,15 +126,24 @@ public Void call() {
125126
if (timeSeries == null || timeSeries2 == null) {
126127
return new MetricTimeSeries.Builder("empty").build();
127128
}
128-
timeSeries.addAll(timeSeries2.getPoints());
129-
return timeSeries;
129+
MetricTimeSeries.Builder reduced = new MetricTimeSeries.Builder(timeSeries.getMetric())
130+
.attributes(timeSeries.attributes())
131+
.data(concat(timeSeries.getTimestamps(), timeSeries2.getTimestamps()),
132+
concat(timeSeries.getValues(), timeSeries2.getValues()));
133+
134+
return reduced.build();
130135
};
131136

137+
132138
chronix = new ChronixClient<>(new KassiopeiaSimpleConverter(), new ChronixSolrStorage<>(200, groupBy, reduce));
133139

134140

135141
return null;
136142
}
143+
144+
private <T> List<T> concat(Stream<T> first, Stream<T> second) {
145+
return Stream.concat(first, second).collect(Collectors.toList());
146+
}
137147
};
138148

139149
new Thread(task).start();
@@ -189,21 +199,21 @@ private int size(List<MetricTimeSeries> result) {
189199
}
190200

191201
private void convertTsToSeries(MetricTimeSeries ts, XYChart.Series<DateAxis, NumberAxis> series) {
192-
MetricDataPoint former = null;
202+
Pair former = null;
193203

194-
List<MetricDataPoint> points = ts.getPoints();
204+
List<Pair> points = ts.points().collect(Collectors.toList());
195205
//reduce the amount shown in the chart
196206
for (int i = 0; i < points.size(); i++) {
197-
MetricDataPoint point = points.get(i);
207+
Pair point = points.get(i);
198208
if (former != null && former.getValue() != point.getValue()) {
199-
series.getData().add(new XYChart.Data(Instant.ofEpochMilli(point.getDate()), point.getValue()));
209+
series.getData().add(new XYChart.Data(Instant.ofEpochMilli(point.getTimestamp()), point.getValue()));
200210

201211
}
202212
//Little hack. The line chart does not show points
203213
if (i == points.size() - 1) {
204-
series.getData().add(new XYChart.Data(Instant.ofEpochMilli(point.getDate()), point.getValue()));
214+
series.getData().add(new XYChart.Data(Instant.ofEpochMilli(point.getTimestamp()), point.getValue()));
205215
if (series.getData().size() == 1) {
206-
series.getData().add(new XYChart.Data(Instant.ofEpochMilli(point.getDate() + 1), point.getValue()));
216+
series.getData().add(new XYChart.Data(Instant.ofEpochMilli(point.getTimestamp() + 1), point.getValue()));
207217
}
208218

209219
}

0 commit comments

Comments
 (0)