diff --git a/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java b/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java
index 0c6ca85152ef21a72033e256889627318774a05b..a25fde8da164ed31931e71eb3af3fcf7fa366043 100644
--- a/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java
+++ b/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java
@@ -1,27 +1,45 @@
 package moobench.tools.results.data;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 public class Chart {
-	
-	final String name;
-	final List<String> headers = new ArrayList<>();
-	final List<ValueTuple> values = new ArrayList<ValueTuple>();
-	
-	public Chart(String name) {
-		this.name = name;
-	}
-	
-	public String getName() {
-		return name;
-	}
-
-	public List<String> getHeaders() {
-		return headers;
-	}
-	
-	public List<ValueTuple> getValues() {
-		return values;
-	}	
+
+    final String name;
+    final List<String> headers = new ArrayList<>();
+    final List<ValueTuple> values = new ArrayList<ValueTuple>();
+
+    public Chart(final String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public List<String> getHeaders() {
+        return this.headers;
+    }
+
+    public List<ValueTuple> getValues() {
+        return this.values;
+    }
+
+    public void sort() {
+        Collections.sort(this.values, new Comparator<ValueTuple>() {
+
+            @Override
+            public int compare(final ValueTuple left, final ValueTuple right) {
+                if (left.getTimestamp() < right.getTimestamp()) {
+                    return -1;
+                } else if (left.getTimestamp() > right.getTimestamp()) {
+                    return 1;
+                } else {
+                    return 0;
+                }
+            }
+        });
+    }
 }
diff --git a/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java b/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java
index 905a075dcf60ae76ffa9dea58cc41805141562fd..26db5673fb408464262c0da1444caa9f2297db72 100644
--- a/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java
+++ b/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java
@@ -4,20 +4,20 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class ValueTuple {
-	
-	long timestamp;
-	
-	List<Double> values = new ArrayList<>();
-	
-	public ValueTuple(long timestamp) {
-		this.timestamp = timestamp;
-	}
-	
-	public long getTimestamp() {
-		return timestamp;
-	}
-	
-	public List<Double> getValues() {
-		return values;
-	}
+
+    private final long timestamp;
+
+    List<Double> values = new ArrayList<>();
+
+    public ValueTuple(final long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public long getTimestamp() {
+        return this.timestamp;
+    }
+
+    public List<Double> getValues() {
+        return this.values;
+    }
 }
diff --git a/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java b/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java
index 6a9fd5ed9369a1b25af7385feaad245a7a9472d9..296635d0441b6c5e25dbf655cc16c6bcae9d55db 100644
--- a/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java
+++ b/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java
@@ -28,7 +28,10 @@ public class JsonChartSink extends AbstractConsumerStage<Chart> {
         final ObjectNode node = mapper.createObjectNode();
         final ArrayNode arrayNode = node.putArray("results");
 
+        chart.sort();
+
         for(final ValueTuple value : chart.getValues()) {
+            System.err.printf("time %d\n", value.getTimestamp());
             final ObjectNode objectNode = mapper.createObjectNode();
             for (int i = 0;i < chart.getHeaders().size();i++) {
                 final String name = chart.getHeaders().get(i);