)]}'
{"functions-common":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9858560d96862a42c3b9f16e85bb9a13846d8e7a","unresolved":false,"context_lines":[{"line_number":2106,"context_line":""},{"line_number":2107,"context_line":"# Timing functions"},{"line_number":2108,"context_line":""},{"line_number":2109,"context_line":"declare -A TOTAL_TIME"},{"line_number":2110,"context_line":"declare -A START_TIME"},{"line_number":2111,"context_line":""},{"line_number":2112,"context_line":"function time_start {"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_6c89df74","line":2109,"updated":"2015-10-08 00:15:43.000000000","message":"should we namespace these (_TOTAL_TIME) etc.  they shouldn\u0027t be used outside the \"api\"","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6b2ca5e1a3f981c6b2e5f9a41dec7c490a71495e","unresolved":false,"context_lines":[{"line_number":2106,"context_line":""},{"line_number":2107,"context_line":"# Timing functions"},{"line_number":2108,"context_line":""},{"line_number":2109,"context_line":"declare -A TOTAL_TIME"},{"line_number":2110,"context_line":"declare -A START_TIME"},{"line_number":2111,"context_line":""},{"line_number":2112,"context_line":"function time_start {"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_3ae78b12","line":2109,"in_reply_to":"7a2fa921_6c89df74","updated":"2015-10-08 10:10:29.000000000","message":"we could, I\u0027m not sure that is hugely important though.","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9858560d96862a42c3b9f16e85bb9a13846d8e7a","unresolved":false,"context_lines":[{"line_number":2109,"context_line":"declare -A TOTAL_TIME"},{"line_number":2110,"context_line":"declare -A START_TIME"},{"line_number":2111,"context_line":""},{"line_number":2112,"context_line":"function time_start {"},{"line_number":2113,"context_line":"    local name\u003d$1"},{"line_number":2114,"context_line":"    local start_time\u003d${START_TIME[$name]}"},{"line_number":2115,"context_line":"    if [[ -n \"$start_time\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_ec95ef86","line":2112,"updated":"2015-10-08 00:15:43.000000000","message":"nice to document","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6b2ca5e1a3f981c6b2e5f9a41dec7c490a71495e","unresolved":false,"context_lines":[{"line_number":2109,"context_line":"declare -A TOTAL_TIME"},{"line_number":2110,"context_line":"declare -A START_TIME"},{"line_number":2111,"context_line":""},{"line_number":2112,"context_line":"function time_start {"},{"line_number":2113,"context_line":"    local name\u003d$1"},{"line_number":2114,"context_line":"    local start_time\u003d${START_TIME[$name]}"},{"line_number":2115,"context_line":"    if [[ -n \"$start_time\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_faecb3f4","line":2112,"in_reply_to":"7a2fa921_ec95ef86","updated":"2015-10-08 10:10:29.000000000","message":"yes, definitely. Will do on next rev.","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9858560d96862a42c3b9f16e85bb9a13846d8e7a","unresolved":false,"context_lines":[{"line_number":2111,"context_line":""},{"line_number":2112,"context_line":"function time_start {"},{"line_number":2113,"context_line":"    local name\u003d$1"},{"line_number":2114,"context_line":"    local start_time\u003d${START_TIME[$name]}"},{"line_number":2115,"context_line":"    if [[ -n \"$start_time\" ]]; then"},{"line_number":2116,"context_line":"        die $LINENO \"Trying to start the clock on $name, but it\u0027s already been started\""},{"line_number":2117,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_0cf14b01","line":2114,"updated":"2015-10-08 00:15:43.000000000","message":"this will trip Ia0957b47187c3dcadd46154b17022c4213781112","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6b2ca5e1a3f981c6b2e5f9a41dec7c490a71495e","unresolved":false,"context_lines":[{"line_number":2111,"context_line":""},{"line_number":2112,"context_line":"function time_start {"},{"line_number":2113,"context_line":"    local name\u003d$1"},{"line_number":2114,"context_line":"    local start_time\u003d${START_TIME[$name]}"},{"line_number":2115,"context_line":"    if [[ -n \"$start_time\" ]]; then"},{"line_number":2116,"context_line":"        die $LINENO \"Trying to start the clock on $name, but it\u0027s already been started\""},{"line_number":2117,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_fa9a736d","line":2114,"in_reply_to":"7a2fa921_0cf14b01","updated":"2015-10-08 10:10:29.000000000","message":"hmmmm... that seems weird, this seems valid. Is there a different way you\u0027d do this?","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"9858560d96862a42c3b9f16e85bb9a13846d8e7a","unresolved":false,"context_lines":[{"line_number":2132,"context_line":"    TOTAL_TIME[$name]\u003d$(($total + $elapsed_time))"},{"line_number":2133,"context_line":"}"},{"line_number":2134,"context_line":""},{"line_number":2135,"context_line":"function time_totals {"},{"line_number":2136,"context_line":"    echo \"Accounted time\""},{"line_number":2137,"context_line":"    for t in ${!TOTAL_TIME[*]}; do"},{"line_number":2138,"context_line":"        local v\u003d${TOTAL_TIME[$t]}"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_4c60a3a5","line":2135,"updated":"2015-10-08 00:15:43.000000000","message":"the output of this is very sparse, and with no newline above it gets mixed in with the final output from horizion\n\na newline plus maybe some delimitation  (\"\u003d\u003d\u003d\u003d\") would help clarity\n\nthis seems the perfect type of thing to be dumping into a csv file for consumption by statsd too.  but that can come later...","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6b2ca5e1a3f981c6b2e5f9a41dec7c490a71495e","unresolved":false,"context_lines":[{"line_number":2132,"context_line":"    TOTAL_TIME[$name]\u003d$(($total + $elapsed_time))"},{"line_number":2133,"context_line":"}"},{"line_number":2134,"context_line":""},{"line_number":2135,"context_line":"function time_totals {"},{"line_number":2136,"context_line":"    echo \"Accounted time\""},{"line_number":2137,"context_line":"    for t in ${!TOTAL_TIME[*]}; do"},{"line_number":2138,"context_line":"        local v\u003d${TOTAL_TIME[$t]}"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a2fa921_5a97e739","line":2135,"in_reply_to":"7a2fa921_4c60a3a5","updated":"2015-10-08 10:10:29.000000000","message":"yeh, output is kind of mashed up. I agree we should make that clearer before merging. I\u0027ll work on it.","commit_id":"d3e0a475fc618d0507f601980188f732c15d8975"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"b742e2170aecef54bab9d25889f954bdbc70d5d8","unresolved":false,"context_lines":[{"line_number":2119,"context_line":"# Resolution is only in whole seconds, so should be used for long"},{"line_number":2120,"context_line":"# running activities."},{"line_number":2121,"context_line":""},{"line_number":2122,"context_line":"declare -A TOTAL_TIME"},{"line_number":2123,"context_line":"declare -A START_TIME"},{"line_number":2124,"context_line":""},{"line_number":2125,"context_line":"# time_start $name"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"7a2fa921_c818dbd5","line":2122,"updated":"2015-10-09 07:56:20.000000000","message":"with so much asynchronous development, i\u0027d still rather see globals like this namespaced at least to \"_*\" to avoid needless confusion when someone overwrites it in a plugin","commit_id":"cc390e1b5c8d0fad42a837912c1a83101b6b110b"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"b742e2170aecef54bab9d25889f954bdbc70d5d8","unresolved":false,"context_lines":[{"line_number":2161,"context_line":"    echo"},{"line_number":2162,"context_line":"    echo \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\""},{"line_number":2163,"context_line":"    echo \"DevStack Components Timed\""},{"line_number":2164,"context_line":"    echo \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\""},{"line_number":2165,"context_line":"    echo"},{"line_number":2166,"context_line":"    for t in ${!TOTAL_TIME[*]}; do"},{"line_number":2167,"context_line":"        local v\u003d${TOTAL_TIME[$t]}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"7a2fa921_08725311","line":2164,"updated":"2015-10-09 07:56:20.000000000","message":"just ... one ... more ... \u003d","commit_id":"cc390e1b5c8d0fad42a837912c1a83101b6b110b"}]}
