Search in sources :

Example 6 with Args

use of org.neo4j.internal.helpers.Args in project neo4j-documentation by neo4j.

the class GenerateConfigDocumentation method main.

public static void main(String[] argv) throws Exception {
    Args arguments = Args.parse(argv);
    Path output = arguments.has("o") ? Path.of(arguments.get("o")) : null;
    List<String> settingsClasses = arguments.orphans();
    if (settingsClasses.size() == 0) {
        System.out.println("Usage: GenerateConfigDocumentation [-o output file] SETTINGS_CLASS..");
        System.exit(0);
    }
    String doc = new SettingsDocumenter().document(settingsClasses.stream().map(classFromString));
    if (output != null) {
        System.out.println("Saving docs in '" + output.toAbsolutePath() + "'.");
        FileUtils.writeToFile(output, doc, false);
    } else {
        System.out.println(doc);
    }
}
Also used : Path(java.nio.file.Path) Args(org.neo4j.internal.helpers.Args)

Example 7 with Args

use of org.neo4j.internal.helpers.Args 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)

Example 8 with Args

use of org.neo4j.internal.helpers.Args in project neo4j by neo4j.

the class QuickImport method main.

public static void main(String[] arguments) throws IOException {
    Args args = Args.parse(arguments);
    long nodeCount = parseLongWithUnit(args.get("nodes", null));
    long relationshipCount = parseLongWithUnit(args.get("relationships", null));
    int labelCount = args.getNumber("labels", 4).intValue();
    int relationshipTypeCount = args.getNumber("relationship-types", 4).intValue();
    Path dir = Path.of(args.get("into"));
    long randomSeed = args.getNumber("random-seed", currentTimeMillis()).longValue();
    Configuration config = Configuration.COMMAS;
    Extractors extractors = new Extractors(config.arrayDelimiter());
    IdType idType = IdType.valueOf(args.get("id-type", IdType.INTEGER.name()));
    Groups groups = new Groups();
    Header nodeHeader = parseNodeHeader(args, idType, extractors, groups);
    Header relationshipHeader = parseRelationshipHeader(args, idType, extractors, groups);
    Config dbConfig;
    String dbConfigFileName = args.get("db-config", null);
    if (dbConfigFileName != null) {
        dbConfig = Config.newBuilder().fromFile(Path.of(dbConfigFileName)).build();
    } else {
        dbConfig = Config.defaults();
    }
    Boolean highIo = args.has("high-io") ? args.getBoolean("high-io") : null;
    LogProvider logging = NullLogProvider.getInstance();
    long pageCacheMemory = args.getNumber("pagecache-memory", org.neo4j.internal.batchimport.Configuration.MAX_PAGE_CACHE_MEMORY).longValue();
    org.neo4j.internal.batchimport.Configuration importConfig = new org.neo4j.internal.batchimport.Configuration.Overridden(defaultConfiguration(dir)) {

        @Override
        public int maxNumberOfProcessors() {
            return args.getNumber("processors", super.maxNumberOfProcessors()).intValue();
        }

        @Override
        public boolean highIO() {
            return highIo != null ? highIo : super.highIO();
        }

        @Override
        public long pageCacheMemory() {
            return pageCacheMemory;
        }

        @Override
        public long maxMemoryUsage() {
            String custom = args.get("max-memory", null);
            return custom != null ? parseMaxMemory(custom) : super.maxMemoryUsage();
        }

        @Override
        public IndexConfig indexConfig() {
            return IndexConfig.create().withLabelIndex().withRelationshipTypeIndex();
        }
    };
    float factorBadNodeData = args.getNumber("factor-bad-node-data", 0).floatValue();
    float factorBadRelationshipData = args.getNumber("factor-bad-relationship-data", 0).floatValue();
    Input input = new DataGeneratorInput(nodeCount, relationshipCount, idType, randomSeed, 0, nodeHeader, relationshipHeader, labelCount, relationshipTypeCount, factorBadNodeData, factorBadRelationshipData);
    try (FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction();
        Lifespan life = new Lifespan()) {
        BatchImporter consumer;
        if (args.getBoolean("to-csv")) {
            consumer = new CsvOutput(dir, nodeHeader, relationshipHeader, config);
        } else {
            System.out.println("Seed " + randomSeed);
            final JobScheduler jobScheduler = life.add(createScheduler());
            boolean verbose = args.getBoolean("v");
            ExecutionMonitor monitor = verbose ? new SpectrumExecutionMonitor(2, TimeUnit.SECONDS, System.out, 100) : defaultVisible();
            consumer = BatchImporterFactory.withHighestPriority().instantiate(DatabaseLayout.ofFlat(dir), fileSystem, PageCacheTracer.NULL, importConfig, new SimpleLogService(logging, logging), monitor, EMPTY, dbConfig, RecordFormatSelector.selectForConfig(dbConfig, logging), NO_MONITOR, jobScheduler, Collector.EMPTY, TransactionLogInitializer.getLogFilesInitializer(), new IndexImporterFactoryImpl(dbConfig), INSTANCE);
        }
        consumer.doImport(input);
    }
}
Also used : DefaultFileSystemAbstraction(org.neo4j.io.fs.DefaultFileSystemAbstraction) FileSystemAbstraction(org.neo4j.io.fs.FileSystemAbstraction) SpectrumExecutionMonitor(org.neo4j.internal.batchimport.staging.SpectrumExecutionMonitor) Configuration(org.neo4j.csv.reader.Configuration) Configuration.defaultConfiguration(org.neo4j.internal.batchimport.Configuration.defaultConfiguration) SimpleLogService(org.neo4j.logging.internal.SimpleLogService) Config(org.neo4j.configuration.Config) IndexConfig(org.neo4j.internal.batchimport.IndexConfig) DataGeneratorInput(org.neo4j.internal.batchimport.input.DataGeneratorInput) Input(org.neo4j.internal.batchimport.input.Input) BatchImporter(org.neo4j.internal.batchimport.BatchImporter) ParallelBatchImporter(org.neo4j.internal.batchimport.ParallelBatchImporter) Groups(org.neo4j.internal.batchimport.input.Groups) SpectrumExecutionMonitor(org.neo4j.internal.batchimport.staging.SpectrumExecutionMonitor) ExecutionMonitor(org.neo4j.internal.batchimport.staging.ExecutionMonitor) Path(java.nio.file.Path) JobScheduler(org.neo4j.scheduler.JobScheduler) Args(org.neo4j.internal.helpers.Args) DefaultFileSystemAbstraction(org.neo4j.io.fs.DefaultFileSystemAbstraction) IdType(org.neo4j.internal.batchimport.input.IdType) LogProvider(org.neo4j.logging.LogProvider) NullLogProvider(org.neo4j.logging.NullLogProvider) Extractors(org.neo4j.csv.reader.Extractors) Header(org.neo4j.internal.batchimport.input.csv.Header) IndexImporterFactoryImpl(org.neo4j.kernel.impl.index.schema.IndexImporterFactoryImpl) DataGeneratorInput(org.neo4j.internal.batchimport.input.DataGeneratorInput) Lifespan(org.neo4j.kernel.lifecycle.Lifespan)

Aggregations

Path (java.nio.file.Path)8 Args (org.neo4j.internal.helpers.Args)8 NoSuchFileException (java.nio.file.NoSuchFileException)3 NoSuchElementException (java.util.NoSuchElementException)3 DefaultFileSystemAbstraction (org.neo4j.io.fs.DefaultFileSystemAbstraction)3 FileSystemAbstraction (org.neo4j.io.fs.FileSystemAbstraction)3 BufferedOutputStream (java.io.BufferedOutputStream)2 PrintStream (java.io.PrintStream)2 MetricGroup (com.neo4j.metrics.source.MetricGroup)1 Metrics (com.neo4j.metrics.source.Metrics)1 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 Comparator (java.util.Comparator)1 List (java.util.List)1 LongPredicate (java.util.function.LongPredicate)1 EntityType (org.neo4j.common.EntityType)1 Config (org.neo4j.configuration.Config)1 SettingImpl (org.neo4j.configuration.SettingImpl)1 Configuration (org.neo4j.csv.reader.Configuration)1 Extractors (org.neo4j.csv.reader.Extractors)1