jenkins-bot has submitted this change and it was merged.

Change subject: Add ScribuntoEngineBase::getResourceUsage()
......................................................................


Add ScribuntoEngineBase::getResourceUsage()

Introduce a method, ScribuntoEngineBase::getResourceUsage(), which may be
overridden by script engine implementations to provide CPU and memory usage
data.

Change-Id: I6a4ed03c1261f43a7ce7de6f274c32c450e66abb
---
M common/Base.php
M engines/LuaSandbox/Engine.php
2 files changed, 32 insertions(+), 0 deletions(-)

Approvals:
  Tim Starling: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/common/Base.php b/common/Base.php
index 9fa6907..180c375 100644
--- a/common/Base.php
+++ b/common/Base.php
@@ -27,6 +27,11 @@
  * modules or loading module texts.
  */
 abstract class ScribuntoEngineBase {
+
+       // Flags for ScribuntoEngineBase::getResourceUsage()
+       const CPU_SECONDS = 1;
+       const MEM_PEAK_BYTES = 2;
+
        /**
         * @var Title
         */
@@ -189,6 +194,22 @@
        }
 
        /**
+        * Get CPU and memory usage information, if the script engine
+        * provides it.
+        *
+        * If the script engine is capable of reporting CPU and memory usage
+        * data, it should override this implementation.
+        *
+        * @param int $resource One of ScribuntoEngineBase::CPU_SECONDS
+        *  or ScribuntoEngineBase::MEM_PEAK_BYTES.
+        * @return float|false Resource usage for the specified resource
+        *  or false if not available.
+        */
+       public function getResourceUsage( $resource ) {
+               return false;
+       }
+
+       /**
         * Get the language for GeSHi syntax highlighter.
         */
        function getGeSHiLanguage() {
diff --git a/engines/LuaSandbox/Engine.php b/engines/LuaSandbox/Engine.php
index 70cc8fb..21e9d91 100644
--- a/engines/LuaSandbox/Engine.php
+++ b/engines/LuaSandbox/Engine.php
@@ -342,6 +342,17 @@
                return $this->sandbox->getCPUUsage();
        }
 
+       public function getResourceUsage( $resource ) {
+               switch ( $resource ) {
+               case self::MEMORY_PEAK_BYTES:
+                       return $this->getPeakMemoryUsage();
+               case self::CPU_SECONDS:
+                       return $this->getCPUUsage();
+               default:
+                       return false;
+               }
+       }
+
        public function getProfilerFunctionReport( $units ) {
                if ( $this->profilerEnabled ) {
                        static $unitsMap;

-- 
To view, visit https://gerrit.wikimedia.org/r/249337
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6a4ed03c1261f43a7ce7de6f274c32c450e66abb
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Scribunto
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Anomie <[email protected]>
Gerrit-Reviewer: Jackmcbarn <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: Tim Starling <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to