55import org .influxdb .dto .Point ;
66import org .influxdb .dto .Query ;
77import org .influxdb .dto .QueryResult ;
8+ import org .influxdb .impl .TimeUtil ;
89
910import java .time .Instant ;
1011import java .util .*;
@@ -31,39 +32,32 @@ public static void main(String[] args) {
3132 //time written
3233 //---- -------
3334 //0 14076
34- String oldMeasure = "result_backup_20210519 " ;
35+ String oldMeasure = "result_backup_20210525 " ;
3536 String newMeasure = "result" ;
36-
3737 QueryResult queryResult = influxDB .query (new Query ("select * from " + oldMeasure + " group by *" , "scala_benchmark" ));
3838 for (QueryResult .Result result : queryResult .getResults ()) {
3939 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 );
4540 Point .Builder builder = Point .measurement (newMeasure );
4641 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 );
4748 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 ("" ));
5249 builder .tag (newTags );
50+
51+ List <String > newFieldNames = new ArrayList <>(series .getColumns ());
5352 LinkedHashMap <String , Object > newFieldsMap = new LinkedHashMap <>();
5453 assert (newFieldNames .size () == newValues .size ());
5554 for (int i = 0 ; i < newFieldNames .size (); i ++) {
5655 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 ));
6357 }
6458 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 );
6761 Point point = builder .build ();
6862 batchPoints .point (point );
6963 }
0 commit comments