Search in sources :

Example 1 with ZipfianGenerator

use of com.yahoo.ycsb.generator.ZipfianGenerator in project YCSB by brianfrankcooper.

the class TestMeasurementsExporter method testJSONArrayMeasurementsExporter.

@Test
public void testJSONArrayMeasurementsExporter() throws IOException {
    Properties props = new Properties();
    props.put(Measurements.MEASUREMENT_TYPE_PROPERTY, "histogram");
    Measurements mm = new Measurements(props);
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    JSONArrayMeasurementsExporter export = new JSONArrayMeasurementsExporter(out);
    long min = 5000;
    long max = 100000;
    ZipfianGenerator zipfian = new ZipfianGenerator(min, max);
    for (int i = 0; i < 1000; i++) {
        int rnd = zipfian.nextValue().intValue();
        mm.measure("UPDATE", rnd);
    }
    mm.exportMeasurements(export);
    export.close();
    ObjectMapper mapper = new ObjectMapper();
    JsonNode json = mapper.readTree(out.toString("UTF-8"));
    assertTrue(json.isArray());
    assertEquals(json.get(0).get("measurement").asText(), "Operations");
    assertEquals(json.get(4).get("measurement").asText(), "MaxLatency(us)");
    assertEquals(json.get(11).get("measurement").asText(), "4");
}
Also used : ZipfianGenerator(com.yahoo.ycsb.generator.ZipfianGenerator) Measurements(com.yahoo.ycsb.measurements.Measurements) JsonNode(org.codehaus.jackson.JsonNode) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Properties(java.util.Properties) ObjectMapper(org.codehaus.jackson.map.ObjectMapper) Test(org.testng.annotations.Test)

Aggregations

ZipfianGenerator (com.yahoo.ycsb.generator.ZipfianGenerator)1 Measurements (com.yahoo.ycsb.measurements.Measurements)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 Properties (java.util.Properties)1 JsonNode (org.codehaus.jackson.JsonNode)1 ObjectMapper (org.codehaus.jackson.map.ObjectMapper)1 Test (org.testng.annotations.Test)1