diff --git a/app/MiscUnit.js b/app/MiscUnit.js index fc23e29..de9297d 100644 --- a/app/MiscUnit.js +++ b/app/MiscUnit.js @@ -39,7 +39,7 @@ class MiscUnit extends Unit { // do stuff here global.devbug = { - version: '0.6.3', + version: '0.7.0', get_inline: function(type, project){ let code = this.code[type]; if (!code) return false @@ -73,6 +73,7 @@ function devbug_microtime($difftime = 0){ $time = explode(' ', microtime()); return ((float)$time[1]+(float)$time[0])-$difftime; } $GLOBALS['devbug_dev_outs'] = []; $GLOBALS['devbug_dev_out_iters'] = []; +$GLOBALS['devbug_bench_iters'] = []; $GLOBALS['devbug_mark_time'] = devbug_microtime(); function out($key, $what, $group = null){ $dev_outs = $GLOBALS['devbug_dev_outs']; @@ -113,17 +114,24 @@ function breakpoint($continue = false, $name = null){ if ( !$continue ) { exit(); } } function devbugtime($prefix = 'time: '){ $mt = explode(' ', microtime()); $mt = $mt[1].' '.$mt[0]; return $prefix.$mt; } -function outtime($key, $what, $group = null){ out(devbugtime($key), $what, $group); } -function outiter($key, $what, $group = null){ +function outt($key, $what, $group = null){ out(devbugtime($key), $what, $group); } +function outi($key, $what, $group = null){ $keyname = $group ? $key.$group : $key; if ( !$GLOBALS['devbug_dev_out_iters'][$keyname] ) $GLOBALS['devbug_dev_out_iters'][$keyname] = 0; out($key.'_'.$GLOBALS['devbug_dev_out_iters'][$keyname], $what, $group); $GLOBALS['devbug_dev_out_iters'][$keyname]++; } -function outpoint($group){ +function point(){ + if ( !$GLOBALS['devbug_current_bench'] ) benchmark(); $bt = debug_backtrace(); $caller = array_shift($bt); - out('point: '.$caller['file'].': '.$caller['line'], devbugtime(), $group); + out('point: '.$caller['file'].': '.$caller['line'], devbugtime(), $GLOBALS['devbug_current_bench']); +} +function benchmark($name = "DevBug"){ $GLOBALS['devbug_current_bench'] = "Benchmark: ".$name; point(); } +function benchmarki($name = "DevBug"){ + if ( !$GLOBALS['devbug_bench_iters'][$name] ) $GLOBALS['devbug_bench_iters'][$name] = 1; + benchmark($name.'('.$GLOBALS['devbug_bench_iters'][$name].')'); + $GLOBALS['devbug_bench_iters'][$name]++; } function devbug_chop($string, $at=120){ return substr($string, 0, 30); } // ===========================================================`, diff --git a/app/controllers/dash/v1.controller.js b/app/controllers/dash/v1.controller.js index 930decf..e736185 100644 --- a/app/controllers/dash/v1.controller.js +++ b/app/controllers/dash/v1.controller.js @@ -217,7 +217,15 @@ class v1 { return _flitter.error(res, 500, {reason: 'Unable to parse output data. Data contains invalid JSON.'}) } - return _flitter.view(res, 'dash_v1:out', {project, user: req.session.auth.user, out, prettyd:pretty, show_back: true, title: 'Latest output: '+out.brief, title_small: true }); + return _flitter.view(res, 'dash_v1:out', { + project, + user: req.session.auth.user, + out, + prettyd:pretty, + show_back: true, + title: `Latest output: ${out.brief} (${out.created.toLocaleString({timeZone: 'America/Chicago'})})`, + title_small: true + }); } async out_delete(req, res, next){ diff --git a/app/views/dash_v1/editor_template.pug b/app/views/dash_v1/editor_template.pug index 6f3b31f..616c2bf 100644 --- a/app/views/dash_v1/editor_template.pug +++ b/app/views/dash_v1/editor_template.pug @@ -11,7 +11,7 @@ html - var e_project = (user && project && devbug.permission.project.sync_edit(project, user)) #pre-header-content DevBug | v#{devbug.version} #{(user ? " | User: "+user.username : "")} #{(e_project ? " | Project: "+project.name+" | API: "+project.uuid : "")} #{((_flitter.config('server.environment') === 'development') ? " | Development" : "" )} | Editor Mode #title-header - #title-header-content-sm #{title ? title : 'DevBug Dashboard'} + #title-header-content-sm !{title ? title : 'DevBug Dashboard'} .iheader block header .idiv @@ -32,5 +32,8 @@ html else if show_back && project li.navbar-right a#navbar-back(href='/dash/v1/project/view/'+project.id) Back to Project + if project && !hide_project_latest + li.navbar-right + a#navbar-project-latest(href="/dash/v1/out/view-latest/"+project.id) View Latest Output script(src="/assets/dash_v1.js") block scripts diff --git a/app/views/dash_v1/main.pug b/app/views/dash_v1/main.pug index 81e9591..21d309f 100644 --- a/app/views/dash_v1/main.pug +++ b/app/views/dash_v1/main.pug @@ -15,6 +15,8 @@ block content ul(style='list-style-type: none; margin: 0; padding: 0;') li.action-li a.action(href='/dash/v1/project/view/'+project.id) View + li.action-li + a.action(href='/dash/v1/out/view-latest/'+project.id) Latest Output li.action-li a.action(href='/dash/v1/project/share/'+project.id) Share li.action-li diff --git a/app/views/dash_v1/template.pug b/app/views/dash_v1/template.pug index 4d508d7..e8c54d0 100644 --- a/app/views/dash_v1/template.pug +++ b/app/views/dash_v1/template.pug @@ -23,6 +23,9 @@ html else if show_back && project li.navbar-right a#navbar-back(href='/dash/v1/project/view/'+project.id) Back to Project + if project && !hide_project_latest + li.navbar-right + a#navbar-project-latest(href="/dash/v1/out/view-latest/"+project.id) View Latest Output block navbar-right .content block content