h4 profile
table.profile
    thead: tr.collapse
        th name
        th route
        th handler
        th.right time
    tbody
        tr
            td req total
            td(colspan=2) *
            td.right #{(global_time.seconds * 1000 + global_time.milliseconds).toFixed(2)}ms

        - middleware.forEach(function(val, i){
            tr
                td middleware ##{i}
                td
                    - if (val.action.route === '')
                        span *
                    - else
                        span.string #{val.action.route}
                td: mixin print_val(val.action.handler, 0)
                td.right #{(val.time.seconds * 1000 + val.time.milliseconds).toFixed(2)}ms
        - })

        - params.forEach(function(val, i){
            tr
                td param ##{i}
                td: span */:#{val.action.param}/*
                td: mixin print_val(val.action.action, 0)
                td.right #{(val.time.seconds * 1000 + val.time.milliseconds).toFixed(2)}ms
        - })

        - routes.forEach(function(val, i){
            tr
                td route ##{i}
                td: span #{val.action.method} #{val.action.route}
                td: mixin print_val(val.action.handler, 0)
                td.right #{(val.time.seconds * 1000 + val.time.milliseconds).toFixed(2)}ms
        - })
        - if (render)
            tr
                td(colspan=3) render
                td.right #{(render.seconds * 1000 + render.milliseconds).toFixed(2)}ms

h4 notes:
p params and routes are executed inside the router middleware
p shown times are based on <a href="http://nodejs.org/api/process.html#process_process_hrtime">process.hrtime()</a>
p to show a function's name, use a function name instead of an anonymous definition. ex: routes.users.login = function userLogin(req, res, next) { ...
