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/04 11:51:22 UTC
[sling-org-apache-sling-scripting-core] 01/01: SLING-11122 log the time it took to add all bindings
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 <jh...@adobe.com>
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,