This is an automated email from the ASF dual-hosted git repository. joerghoh pushed a commit to branch improvement/SLING-11122-log-bvp in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-core.git
commit b38578da6830732c9c391cf9550ecf5f34aba202 Author: Joerg Hoh <[email protected]> AuthorDate: Fri Feb 4 12:51:07 2022 +0100 SLING-11122 log the time it took to add all bindings --- .../org/apache/sling/scripting/core/impl/DefaultSlingScript.java | 5 ++++- .../sling/scripting/core/impl/bundled/ScriptContextProvider.java | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java b/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java index d47c7e7..c127cde 100644 --- a/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java +++ b/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java @@ -732,8 +732,9 @@ class DefaultSlingScript implements SlingScript, Servlet, ServletConfig { if (!bindingsValuesProviders.isEmpty()) { Set<String> protectedKeys = new HashSet<String>(); protectedKeys.addAll(PROTECTED_KEYS); - ProtectedBindings protectedBindings = new ProtectedBindings(bindings, protectedKeys); + + long inclusionStart = System.nanoTime(); for (BindingsValuesProvider provider : bindingsValuesProviders) { long start = System.nanoTime(); provider.addBindings(protectedBindings); @@ -746,6 +747,8 @@ class DefaultSlingScript implements SlingScript, Servlet, ServletConfig { new Object[]{provider.getClass().getName(), (stop-start)/1000, WARN_LIMIT_FOR_BVP_NANOS/1000}); } } + long duration = (System.nanoTime() - inclusionStart) / 1000; + request.getRequestProgressTracker().log("Adding bindings took " + duration + " microseconds"); } return bindings; diff --git a/src/main/java/org/apache/sling/scripting/core/impl/bundled/ScriptContextProvider.java b/src/main/java/org/apache/sling/scripting/core/impl/bundled/ScriptContextProvider.java index 43aba63..4ca95c9 100644 --- a/src/main/java/org/apache/sling/scripting/core/impl/bundled/ScriptContextProvider.java +++ b/src/main/java/org/apache/sling/scripting/core/impl/bundled/ScriptContextProvider.java @@ -122,6 +122,7 @@ public class ScriptContextProvider implements BundleListener { bindings.put(ScriptEngine.FILENAME.replaceAll("\\.", "_"), executable.getPath()); ProtectedBindings protectedBindings = new ProtectedBindings(bindings, PROTECTED_BINDINGS); + long inclusionStart = System.nanoTime(); for (BindingsValuesProvider bindingsValuesProvider : bvpTracker.getBindingsValuesProviders(scriptEngine.getFactory(), BindingsValuesProvider.DEFAULT_CONTEXT)) { long start = System.nanoTime(); @@ -135,6 +136,9 @@ public class ScriptContextProvider implements BundleListener { new Object[]{bindingsValuesProvider.getClass().getName(), (stop-start)/1000, WARN_LIMIT_FOR_BVP_NANOS/1000}); } } + long duration = (System.nanoTime() - inclusionStart) / 1000; + request.getRequestProgressTracker().log("Adding bindings took " + duration + " microseconds"); + ScriptContext scriptContext = new BundledScriptContext(); Map<String, LazyBindings.Supplier> slingBindingsSuppliers = new HashMap<>(); slingBindingsSuppliers.put(SlingScriptConstants.ATTR_SCRIPT_RESOURCE_RESOLVER,
