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