public static StorageConfig getDefaultConfig(Granularity maxStoredGran) { RollUpStructureBuilder builder = new RollUpStructureBuilder(); builder.add(MetricConstants.getCollectionGranularity(), Time.inMinutes(-30), Time.inMinutes(10)); // last 15 min builder.discardGranularitiesGreaterThan(maxStoredGran); builder.add(Granularity.inSeconds(30), Time.inMinutes(-60)); // last 30 min builder.add(Granularity.inMinutes(1), Time.inHours(-2)); // last hour builder.add(Granularity.inMinutes(4), Time.inHours(-8)); // last 4 hours builder.add(Granularity.inMinutes(8), Time.inHours(-20)); // last 8 hours builder.add(Granularity.inMinutes(16), Time.inHours(-40)); // 12 hour builder.add(Granularity.inMinutes(32), Time.inDays(-2)); // last day builder.add(Granularity.inMinutes(64), Time.inDays(-6)); // last 3 days builder.add(Granularity.inMinutes(128), Time.inDays(-8)); // last 7 days builder.add(Granularity.inMinutes(256), Time.inDays(-8)); builder.add(Granularity.inMinutes(512), Time.inDays(-8)); builder.add(Granularity.inMinutes(1024), Time.inDays(-16)); // Extend out so we have sufficient entries per page builder.add(Granularity.inMinutes(2048), Time.inDays(-30)); // Extend out so we have sufficient entries per page 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); }