public static StorageConfig getDefaultConfig(Granularity maxStoredGran) {
RollUpStructureBuilder builder = new RollUpStructureBuilder();
builder.add(MetricConstants.getCollectionGranularity(), Time.inMinutes(-30), Time.inMinutes(10));
builder.discardGranularitiesGreaterThan(maxStoredGran);
builder.add(Granularity.inSeconds(30), Time.inMinutes(-60));
builder.add(Granularity.inMinutes(1), Time.inHours(-2));
builder.add(Granularity.inMinutes(4), Time.inHours(-8));
builder.add(Granularity.inMinutes(8), Time.inHours(-20));
builder.add(Granularity.inMinutes(16), Time.inHours(-40));
builder.add(Granularity.inMinutes(32), Time.inDays(-2));
builder.add(Granularity.inMinutes(64), Time.inDays(-6));
builder.add(Granularity.inMinutes(128), Time.inDays(-8));
builder.add(Granularity.inMinutes(256), Time.inDays(-8));
builder.add(Granularity.inMinutes(512), Time.inDays(-8));
builder.add(Granularity.inMinutes(1024), Time.inDays(-16));
builder.add(Granularity.inMinutes(2048), Time.inDays(-30));
RollUpStructure struct = builder.build();
int numPagesPerLayer = PAGES_PER_LAYER;
PageDefinitions pageDefs = new PageDefinitions();
for (GranularityLayer layer : struct.getLayers()) {
pageDefs.addDefinition(makeDefinitionForLayer(layer, numPagesPerLayer));
}
return new StorageConfig(struct, pageDefs, numPagesPerLayer);
}