You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by jo...@apache.org on 2022/02/09 13:06:32 UTC

[sling-org-apache-sling-scripting-core] branch master updated: SLING-11122 log the time it took to add all bindings (#12)

This is an automated email from the ASF dual-hosted git repository.

joerghoh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-core.git


The following commit(s) were added to refs/heads/master by this push:
     new b2cd574  SLING-11122 log the time it took to add all bindings (#12)
b2cd574 is described below

commit b2cd574592f04de9591d9b8da53b00a432fb159a
Author: Jörg Hoh <jo...@users.noreply.github.com>
AuthorDate: Wed Feb 9 14:06:09 2022 +0100

    SLING-11122 log the time it took to add all bindings (#12)
---
 .../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 362d3fe..bdc0a16 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
@@ -113,6 +113,7 @@ public class ScriptContextProvider {
         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();
@@ -126,6 +127,9 @@ public class ScriptContextProvider {
                         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,