jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/383936 )

Change subject: Improve reporting of parse times by tracking initializations
......................................................................


Improve reporting of parse times by tracking initializations

Change-Id: Ic674cdcdc0e0e15c4c9e89be79155e953ce78d91
---
M bin/parse.js
M lib/wt2html/parser.js
2 files changed, 22 insertions(+), 1 deletion(-)

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



diff --git a/bin/parse.js b/bin/parse.js
index ba32008..1c4441e 100755
--- a/bin/parse.js
+++ b/bin/parse.js
@@ -19,6 +19,8 @@
 var yargs = require('yargs');
 var yaml = require('js-yaml');
 
+var initTime;
+
 process.on('SIGUSR2', function() {
        var heapdump = require('heapdump');
        console.error('SIGUSR2 received! Writing snapshot.');
@@ -240,12 +242,22 @@
 
 var parse = exports.parse = function(input, argv, parsoidConfig, prefix, 
domain) {
        var env;
+       var s1, s2;
+       s1 = Date.now();
        return ParserEnv.getParserEnv(parsoidConfig, {
                prefix: prefix,
                domain: domain,
                pageName: argv.page,
        }).then(function(_env) {
                env = _env;
+               env.startTime = s1;
+               if (initTime) {
+                       // When used in lib/index.js as an exported module,
+                       // this will be undefined. And, since we will be
+                       // may be using this in a repl setup, init time is
+                       // not as relevant.
+                       env.bumpTimeUse("Init", initTime);
+               }
 
                // fetch templates from enwiki by default.
                if (argv.wgScriptPath) {
@@ -294,6 +306,9 @@
                if (typeof input === 'string') {
                        return input;
                }
+
+               s2 = Date.now();
+               env.bumpTimeUse("Setup Environment", s2 - s1);
 
                if (argv.inputfile) {
                        // read input from the file, then process
@@ -348,6 +363,7 @@
                        }
                        return startsAtHTML(argv, env, str, pb);
                } else {
+                       env.bumpTimeUse("Pre-parse (source fetch)", Date.now() 
- s2);
                        return startsAtWikitext(argv, env, str);
                }
        });
@@ -355,6 +371,7 @@
 
 if (require.main === module) {
        (function() {
+               var start = Date.now();
                var defaultModeStr = "Default conversion mode : --wt2html";
 
                var opts = yargs.usage(
@@ -448,6 +465,8 @@
                        }
                }
 
+               initTime = Date.now() - start;
+
                return parse(null, argv, pc, prefix, domain)
                .then(function(res) {
                        var stdout = process.stdout;
diff --git a/lib/wt2html/parser.js b/lib/wt2html/parser.js
index dc77ed9..caf40ce 100644
--- a/lib/wt2html/parser.js
+++ b/lib/wt2html/parser.js
@@ -478,7 +478,9 @@
        // maintained across all pipelines used by the document.
        // (Ex: Cite state)
        this.resetState({ toplevel: true });
-       this.env.startTime = Date.now();
+       if (!this.env.startTime) {
+               this.env.startTime = Date.now();
+       }
        this.env.log('trace/time', 'Starting parse at ', this.env.startTime);
        this.process(input);
 };

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic674cdcdc0e0e15c4c9e89be79155e953ce78d91
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <ssas...@wikimedia.org>
Gerrit-Reviewer: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: C. Scott Ananian <canan...@wikimedia.org>
Gerrit-Reviewer: Sbailey <sbai...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to