diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/trac-log.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/trac-log.lua | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/trac-log.lua b/Master/texmf-dist/tex/context/base/mkiv/trac-log.lua index 206af566803..1471bd4c7f2 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/trac-log.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/trac-log.lua @@ -405,15 +405,6 @@ if runningtex then setlogfile = ignore settimedlog = ignore - -- settimedlog = function() - -- local localtime = os.localtime - -- local writeline = write_nl - -- write_nl = function(f,...) - -- writeline(f,localtime() .. " | " .. concat { ... }) - -- end - -- settimedlog = ignore - -- end - else local report_yes, subreport_yes, status_yes @@ -767,7 +758,7 @@ if tex then local report = logs.reporter("pages") -- not needed but saves checking when we grep for it local texgetcount = tex and tex.getcount - local real, user, sub = 0, 0, 0 + local real, user, sub function logs.start_page_number() real = texgetcount("realpageno") @@ -775,35 +766,47 @@ if tex then sub = texgetcount("subpageno") end - local timing = false - local lasttime = nil + local timing = false + local starttime = nil + local lasttime = nil trackers.register("pages.timing", function(v) -- only for myself (diagnostics) - timing = "" + starttime = os.clock() -- todo: use other timer + timing = true end) function logs.stop_page_number() -- the first page can includes the initialization so we omit this in average if timing then - local elapsed = statistics.currenttime(statistics) - local average, page + local elapsed, average + local stoptime = os.clock() if not lasttime or real < 2 then - average = elapsed - page = elapsed + elapsed = stoptime + average = stoptime + starttime = stoptime else - average = elapsed / (real - 1) - page = elapsed - lasttime + elapsed = stoptime - lasttime + average = (stoptime - starttime) / (real - 1) + end + lasttime = stoptime + if real <= 0 then + report("flushing page, time %0.04f / %0.04f",elapsed,average) + elseif user <= 0 then + report("flushing realpage %s, time %0.04f / %0.04f",real,elapsed,average) + elseif sub <= 0 then + report("flushing realpage %s, userpage %s, time %0.04f / %0.04f",real,user,elapsed,average) + else + report("flushing realpage %s, userpage %s, subpage %s, time %0.04f / %0.04f",real,user,sub,elapsed,average) end - lasttime = elapsed - timing = formatters[", total %0.03f, page %0.03f, average %0.03f"](elapsed,page,average) - end - if real <= 0 then - report("flushing page%s",timing) - elseif user <= 0 then - report("flushing realpage %s%s",real,timing) - elseif sub <= 0 then - report("flushing realpage %s, userpage %s%s",real,user,timing) else - report("flushing realpage %s, userpage %s, subpage %s%s",real,user,sub,timing) + if real <= 0 then + report("flushing page") + elseif user <= 0 then + report("flushing realpage %s",real) + elseif sub <= 0 then + report("flushing realpage %s, userpage %s",real,user) + else + report("flushing realpage %s, userpage %s, subpage %s",real,user,sub) + end end logs.flush() end @@ -1028,7 +1031,7 @@ end if tex and tex.error then function logs.texerrormessage(...) -- for the moment we put this function here - tex.error(format(...)) + tex.error(format(...), { }) end else function logs.texerrormessage(...) |