mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
add timing information from /usr/bin/time
This commit is contained in:
parent
ebcf9a75ae
commit
3eebca4c01
2 changed files with 12 additions and 6 deletions
|
@ -43,17 +43,19 @@ module.exports = CompileManager =
|
||||||
compiler: request.compiler
|
compiler: request.compiler
|
||||||
timeout: request.timeout
|
timeout: request.timeout
|
||||||
image: request.imageName
|
image: request.imageName
|
||||||
}, (error, output, stats) ->
|
}, (error, output, stats, timings) ->
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
Metrics.inc("compiles-succeeded")
|
Metrics.inc("compiles-succeeded")
|
||||||
for metric_key, metric_value of stats or {}
|
for metric_key, metric_value of stats or {}
|
||||||
Metrics.count(metric_key, metric_value)
|
Metrics.count(metric_key, metric_value)
|
||||||
|
for metric_key, metric_value of timings or {}
|
||||||
|
Metrics.timing(metric_key, metric_value)
|
||||||
loadavg = os.loadavg?()
|
loadavg = os.loadavg?()
|
||||||
Metrics.gauge("load-avg", loadavg[0]) if loadavg?
|
Metrics.gauge("load-avg", loadavg[0]) if loadavg?
|
||||||
ts = timer.done()
|
ts = timer.done()
|
||||||
logger.log {project_id: request.project_id, time_taken: ts, stats:stats, loadavg:loadavg}, "done compile"
|
logger.log {project_id: request.project_id, time_taken: ts, stats:stats, timings:timings, loadavg:loadavg}, "done compile"
|
||||||
if stats?["latex-runs"] > 0
|
if stats?["latex-runs"] > 0 and timings?["cpu-time"] > 0
|
||||||
Metrics.timing("run-compile-per-pass", ts / stats["latex-runs"])
|
Metrics.timing("run-compile-per-pass", timings["cpu-time"] / stats["latex-runs"])
|
||||||
|
|
||||||
OutputFileFinder.findOutputFiles request.resources, compileDir, (error, outputFiles) ->
|
OutputFileFinder.findOutputFiles request.resources, compileDir, (error, outputFiles) ->
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
|
|
|
@ -41,9 +41,13 @@ module.exports = LatexRunner =
|
||||||
stats["latex-runs-with-errors"] = if failed then runs else 0
|
stats["latex-runs-with-errors"] = if failed then runs else 0
|
||||||
stats["latex-runs-#{runs}"] = 1
|
stats["latex-runs-#{runs}"] = 1
|
||||||
stats["latex-runs-with-errors-#{runs}"] = if failed then 1 else 0
|
stats["latex-runs-with-errors-#{runs}"] = if failed then 1 else 0
|
||||||
callback error, output, stats
|
# timing information from /usr/bin/time
|
||||||
|
timings = {}
|
||||||
|
timings["cpu-percent"] = output?.stderr?.match(/Percent of CPU this job got: (\d+)/m)?[1] or 0
|
||||||
|
timings["cpu-time"] = output?.stderr?.match(/User time.*: (\d+.\d+)/m)?[1] or 0
|
||||||
|
callback error, output, stats, timings
|
||||||
|
|
||||||
_latexmkBaseCommand: ["latexmk", "-cd", "-f", "-jobname=output", "-auxdir=$COMPILE_DIR", "-outdir=$COMPILE_DIR"]
|
_latexmkBaseCommand: ["/usr/bin/time", "-v", "latexmk", "-cd", "-f", "-jobname=output", "-auxdir=$COMPILE_DIR", "-outdir=$COMPILE_DIR"]
|
||||||
|
|
||||||
_pdflatexCommand: (mainFile) ->
|
_pdflatexCommand: (mainFile) ->
|
||||||
LatexRunner._latexmkBaseCommand.concat [
|
LatexRunner._latexmkBaseCommand.concat [
|
||||||
|
|
Loading…
Reference in a new issue