From ed172bf321ddd0f5d9927d47286bdb5b0dbd164a Mon Sep 17 00:00:00 2001 From: sebr72 Date: Tue, 11 Jun 2024 17:38:46 +0200 Subject: [PATCH] Stop timers appropriately --- .../print/processor/ProcessorGraphNode.java | 15 +++++---------- .../processor/jasper/JasperReportBuilder.java | 10 ++++------ 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/core/src/main/java/org/mapfish/print/processor/ProcessorGraphNode.java b/core/src/main/java/org/mapfish/print/processor/ProcessorGraphNode.java index 6d4c76c4f..17101752f 100644 --- a/core/src/main/java/org/mapfish/print/processor/ProcessorGraphNode.java +++ b/core/src/main/java/org/mapfish/print/processor/ProcessorGraphNode.java @@ -171,14 +171,7 @@ protected Values compute() { .mdcContext( () -> { final Values values = this.execContext.getValues(); - - final Processor process = this.node.processor; - final String timerName = - String.format( - "%s.compute.%s", - ProcessorGraphNode.class.getName(), process.getClass().getName()); - executeProcess(process, values, timerName); - + executeProcess(this.node.processor, values); this.execContext.getContext().stopIfCanceled(); ProcessorDependencyGraph.tryExecuteNodes( this.node.dependencies, this.execContext, true); @@ -187,8 +180,10 @@ protected Values compute() { }); } - private void executeProcess( - final Processor process, final Values values, final String timerName) { + private void executeProcess(final Processor process, final Values values) { + final String timerName = + String.format( + "%s.compute.%s", ProcessorGraphNode.class.getName(), process.getClass().getName()); final Timer.Context timerContext = this.node.metricRegistry.timer(timerName).time(); try { final In inputParameter = ProcessorUtils.populateInputParameter(process, values); diff --git a/core/src/main/java/org/mapfish/print/processor/jasper/JasperReportBuilder.java b/core/src/main/java/org/mapfish/print/processor/jasper/JasperReportBuilder.java index f5cd9b1af..bafdda38b 100644 --- a/core/src/main/java/org/mapfish/print/processor/jasper/JasperReportBuilder.java +++ b/core/src/main/java/org/mapfish/print/processor/jasper/JasperReportBuilder.java @@ -81,10 +81,7 @@ File compileJasperReport(final File buildFile, final File jasperFile) throws JRE // of once. LOGGER.info("Building Jasper report: {}", jasperFile.getAbsolutePath()); LOGGER.debug("To: {}", buildFile.getAbsolutePath()); - final String timerName = getClass().getName() + ".compile." + jasperFile; - try (Timer.Context compileJasperReport = this.metricRegistry.timer(timerName).time()) { - doCompileAndMoveReport(buildFile, jasperFile, compileJasperReport); - } + doCompileAndMoveReport(buildFile, jasperFile); } catch (IOException e) { throw new JRException(e); } @@ -94,11 +91,12 @@ File compileJasperReport(final File buildFile, final File jasperFile) throws JRE return buildFile; } - private static void doCompileAndMoveReport( - final File buildFile, final File jasperFile, final Timer.Context compileTimerContext) + private void doCompileAndMoveReport(final File buildFile, final File jasperFile) throws JRException, IOException { final File tmpBuildFile = File.createTempFile("temp_", JASPER_REPORT_COMPILED_FILE_EXT, buildFile.getParentFile()); + final String timerName = getClass().getName() + ".compile." + jasperFile; + Timer.Context compileTimerContext = this.metricRegistry.timer(timerName).time(); try { JasperCompileManager.compileReportToFile( jasperFile.getAbsolutePath(), tmpBuildFile.getAbsolutePath());