summaryrefslogtreecommitdiff
path: root/statserver/src/main/java/com/orbekk/stats/Experiment1Impl.java
blob: 1ec4ff3ad21b5c8c5037c09b83e0a340076e3889 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.orbekk.stats;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import com.google.protobuf.RpcCallback;
import com.google.protobuf.RpcController;
import com.orbekk.stats.Experiments.Empty;
import com.orbekk.stats.Experiments.Experiment1;
import com.orbekk.stats.Experiments.SimpleTiming;

public class Experiment1Impl extends Experiment1 {
    List<SimpleTiming> samples = new ArrayList<SimpleTiming>();
    
    @Override
    public synchronized void registerSample(RpcController controller, SimpleTiming request,
            RpcCallback<Empty> done) {
        samples.add(request);
        done.run(Empty.getDefaultInstance());
    }
    
    public void writeSamples(String filename) {
        PrintWriter printer = null;
        try {
            printer = new PrintWriter(filename);
            System.out.println("Writing results to " + filename);
            printer.println("# Automatically generated by Experiment1Impl.java");
            for (SimpleTiming timing : samples) {
                printer.println(timing);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (printer != null) {
                printer.close();
            }
        }
    }
}