in src/main/java/org/apache/datasketches/server/SketchStorage.java [101:141]
JsonObject listSketches() {
final JsonObject summary = new JsonObject();
final JsonArray sketchList = new JsonArray(sketchMap.size());
for (final Map.Entry<String, SketchEntry> e : sketchMap.entrySet()) {
final JsonObject item = new JsonObject();
item.addProperty(CONFIG_SKETCH_NAME_FIELD, e.getKey());
switch (e.getValue().family_) {
case UNION:
item.addProperty(CONFIG_TYPE_FIELD, e.getValue().type_.getTypeName());
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_THETA);
break;
case CPC:
item.addProperty(CONFIG_TYPE_FIELD, e.getValue().type_.getTypeName());
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_CPC);
break;
case HLL:
item.addProperty(CONFIG_TYPE_FIELD, e.getValue().type_.getTypeName());
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_HLL);
break;
case FREQUENCY:
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_FREQUENCY);
break;
case KLL:
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_KLL);
break;
case RESERVOIR:
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_RESERVOIR);
break;
case VAROPT:
item.addProperty(CONFIG_FAMILY_FIELD, SKETCH_FAMILY_VAROPT);
break;
}
sketchList.add(item);
}
summary.addProperty(RESPONSE_SKETCH_COUNT_FIELD, sketchMap.size());
summary.add(SketchConstants.CONFIG_SKETCHES_PREFIX, sketchList); // bare prefix, sketches fully qualified
return summary;
}