1# -*- tcl -* 2# Debug -- Timestamps. 3# -- Colin McCormack / originally Wub server utilities 4# 5# Generate timestamps for debug messages. 6# The provided commands are for use in prefixes and headers. 7 8# # ## ### ##### ######## ############# ##################### 9## Requisites 10 11package require Tcl 8.5 12package require debug 13 14namespace eval ::debug { 15 namespace export timestamp 16 namespace ensemble create 17} 18 19# # ## ### ##### ######## ############# ##################### 20## API & Implementation 21 22proc ::debug::timestamp {} { 23 variable timestamp::delta 24 variable timestamp::baseline 25 26 set now [::tcl::clock::milliseconds] 27 if {$delta} { 28 set time "${now}-[expr {$now - $delta}]mS " 29 } else { 30 set time "${now}mS " 31 } 32 set delta $now 33 return $time 34} 35 36# # ## ### ##### ######## ############# ##################### 37 38namespace eval ::debug::timestamp { 39 variable delta 0 40 variable baseline [::tcl::clock::milliseconds] 41} 42 43# # ## ### ##### ######## ############# ##################### 44## Ready 45 46package provide debug::timestamp 1 47return 48