Search in sources :

Example 1 with Metrics

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());
    }
}
Also used : Args(org.neo4j.internal.helpers.Args) List(java.util.List) Metrics(com.neo4j.metrics.source.Metrics) Collection(java.util.Collection) FileUtils(org.neo4j.io.fs.FileUtils) MetricGroup(com.neo4j.metrics.source.MetricGroup) Comparator(java.util.Comparator) Path(java.nio.file.Path) Services(org.neo4j.service.Services) ArrayList(java.util.ArrayList) Path(java.nio.file.Path) Args(org.neo4j.internal.helpers.Args) Metrics(com.neo4j.metrics.source.Metrics) MetricGroup(com.neo4j.metrics.source.MetricGroup) ArrayList(java.util.ArrayList)

Aggregations

MetricGroup (com.neo4j.metrics.source.MetricGroup)1 Metrics (com.neo4j.metrics.source.Metrics)1 Path (java.nio.file.Path)1 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 Comparator (java.util.Comparator)1 List (java.util.List)1 Args (org.neo4j.internal.helpers.Args)1 FileUtils (org.neo4j.io.fs.FileUtils)1 Services (org.neo4j.service.Services)1