use of com.neo4j.metrics.source.Metrics in project neo4j-documentation by neo4j.
the class GenerateMetricsDocumentation method main.
public static void main(String[] input) throws Exception {
Args args = Args.withFlags(OUTPUT_FILE_FLAG).parse(input);
List<String> metricGroups = args.orphans();
if (metricGroups.size() != 1) {
System.out.println("Usage: GenerateMetricsDocumentation [--output file] metricGroup");
System.exit(1);
}
MetricGroup metricGroup = MetricGroup.valueOf(metricGroups.get(0));
MetricsAsciiDocGenerator generator = new MetricsAsciiDocGenerator();
StringBuilder builder = new StringBuilder();
Collection<Metrics> metricsClasses = Services.loadAll(Metrics.class);
ArrayList<Metrics> sortedMetrics = new ArrayList<>(metricsClasses);
sortedMetrics.sort(Comparator.comparing((metric) -> metric.getClass().getName()));
for (Metrics metricsClass : sortedMetrics) {
if (metricGroup.equals(metricsClass.getGroup())) {
generator.generateDocsFor(metricsClass, builder);
}
}
String outputFileName = args.get(OUTPUT_FILE_FLAG);
if (outputFileName != null) {
Path output = Path.of(outputFileName);
System.out.println("Saving docs for '" + metricGroups + "' metrics in '" + output.toAbsolutePath() + "'.");
FileUtils.writeToFile(output, builder.toString(), false);
} else {
System.out.println(builder.toString());
}
}
Aggregations