mirror of
https://github.com/duke-git/lancet.git
synced 2026-02-08 22:52:29 +08:00
feat: add watcher for record code excution time
This commit is contained in:
30
function/watcher.go
Normal file
30
function/watcher.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package function
|
||||
|
||||
import "time"
|
||||
|
||||
// Watcher is used for record code excution time
|
||||
type Watcher struct {
|
||||
startTime int64
|
||||
stopTime int64
|
||||
excuting bool
|
||||
}
|
||||
|
||||
// Start the watch timer.
|
||||
func (w *Watcher) Start() {
|
||||
w.startTime = time.Now().UnixNano()
|
||||
w.excuting = true
|
||||
}
|
||||
|
||||
// Stop the watch timer.
|
||||
func (w *Watcher) Stop() {
|
||||
w.stopTime = time.Now().UnixNano()
|
||||
w.excuting = false
|
||||
}
|
||||
// GetElapsedTime get excute elapsed time.
|
||||
func (w *Watcher) GetElapsedTime() time.Duration {
|
||||
if w.excuting {
|
||||
return time.Duration(time.Now().UnixNano() - w.startTime)
|
||||
} else {
|
||||
return time.Duration(w.stopTime - w.startTime)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user