From 7c72879acb3e6d59822dd5da9080f79d01131fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Finn=C3=A9?= Date: Thu, 9 Nov 2017 14:16:38 +0100 Subject: [PATCH] Added "c" command to print only current stage details --- .../OnDemandDetailsExecutionMonitor.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/staging/OnDemandDetailsExecutionMonitor.java b/community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/staging/OnDemandDetailsExecutionMonitor.java index e7ce919a7c406..16b2a783ab1a2 100644 --- a/community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/staging/OnDemandDetailsExecutionMonitor.java +++ b/community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/staging/OnDemandDetailsExecutionMonitor.java @@ -78,6 +78,7 @@ public OnDemandDetailsExecutionMonitor( PrintStream out ) { this.out = out; this.actions.put( "i", Pair.of( "Print more detailed information", this::printDetails ) ); + this.actions.put( "c", Pair.of( "Print more detailed information about current stage", this::printDetailsForCurrentStage ) ); this.actions.put( "gc", Pair.of( "Trigger GC", this::triggerGC ) ); this.gcMonitor = new MeasureDoNothing( "Importer GC monitor", gcBlockTime, 100, 200 ); } @@ -128,7 +129,7 @@ public void check( StageExecution execution ) private void printDetails() { - out.println( format( "%n************** DETAILS **************%n" ) ); + printDetailsHeadline(); for ( StageDetails stageDetails : details ) { stageDetails.print( out ); @@ -139,6 +140,20 @@ private void printDetails() out.println( " Max VM memory: " + bytes( Runtime.getRuntime().maxMemory() ) ); out.println( " Free VM memory: " + bytes( Runtime.getRuntime().freeMemory() ) ); out.println( " GC block time: " + duration( gcBlockTime.getGcBlockTime() ) ); + } + + private void printDetailsForCurrentStage() + { + printDetailsHeadline(); + if ( !details.isEmpty() ) + { + details.get( details.size() - 1 ).print( out ); + } + } + + private void printDetailsHeadline() + { + out.println( format( "%n************** DETAILS **************%n" ) ); // Make sure that if user is interested in details then also print the entire details set when import is done printDetailsOnDone = true;