5
5
import org .influxdb .dto .Point ;
6
6
import org .influxdb .dto .Query ;
7
7
import org .influxdb .dto .QueryResult ;
8
+ import org .influxdb .impl .TimeUtil ;
8
9
9
10
import java .time .Instant ;
10
11
import java .util .*;
@@ -31,39 +32,32 @@ public static void main(String[] args) {
31
32
//time written
32
33
//---- -------
33
34
//0 14076
34
- String oldMeasure = "result_backup_20210519 " ;
35
+ String oldMeasure = "result_backup_20210525 " ;
35
36
String newMeasure = "result" ;
36
-
37
37
QueryResult queryResult = influxDB .query (new Query ("select * from " + oldMeasure + " group by *" , "scala_benchmark" ));
38
38
for (QueryResult .Result result : queryResult .getResults ()) {
39
39
for (QueryResult .Series series : result .getSeries ()) {
40
- List <String > newFieldNames = new ArrayList <>(series .getColumns ());
41
- int javaVersionIndex = newFieldNames .indexOf (JAVA_VERSION_TAG_NAME );
42
- newFieldNames .remove (javaVersionIndex );
43
- assert (newFieldNames .get (0 ).equals ("time" ));
44
- newFieldNames .remove (0 );
45
40
Point .Builder builder = Point .measurement (newMeasure );
46
41
Map <String , String > newTags = new HashMap <>(series .getTags ());
42
+ String javaVersion = newTags .get (JAVA_VERSION_TAG_NAME );
43
+ if (javaVersion .equals ("1.8.0_131-b11" )) {
44
+ newTags .put (JAVA_VERSION_TAG_NAME , "1.8.0_131" );
45
+ }
46
+
47
+ assert (series .getValues ().size () == 1 );
47
48
List <Object > newValues = new ArrayList <>(series .getValues ().get (0 ));
48
- Object removed = newValues .remove (javaVersionIndex );
49
- String time = (String ) newValues .remove (0 );
50
- newTags .put (JAVA_VERSION_TAG_NAME , (String ) removed );
51
- newTags .entrySet ().removeIf (x -> x .getValue () == null || x .getValue ().equals ("" ));
52
49
builder .tag (newTags );
50
+
51
+ List <String > newFieldNames = new ArrayList <>(series .getColumns ());
53
52
LinkedHashMap <String , Object > newFieldsMap = new LinkedHashMap <>();
54
53
assert (newFieldNames .size () == newValues .size ());
55
54
for (int i = 0 ; i < newFieldNames .size (); i ++) {
56
55
String fieldName = newFieldNames .get (i );
57
- boolean isLong = fieldName .equals ("sampleCount" );
58
- if (isLong ) {
59
- newFieldsMap .put (fieldName , ((Number ) newValues .get (i )).longValue ());
60
- } else {
61
- newFieldsMap .put (fieldName , newValues .get (i ));
62
- }
56
+ newFieldsMap .put (fieldName , newValues .get (i ));
63
57
}
64
58
builder .fields (newFieldsMap );
65
- Instant parse = Instant . parse ( time ) ;
66
- builder .time (parse . toEpochMilli () , TimeUnit .MILLISECONDS );
59
+ long epochMillis = ( long ) newValues . remove ( 0 ) / 1000L / 1000L ;
60
+ builder .time (epochMillis , TimeUnit .MILLISECONDS );
67
61
Point point = builder .build ();
68
62
batchPoints .point (point );
69
63
}
0 commit comments