2022-07-06 15:49:27 +05:30
|
|
|
package utils
|
|
|
|
|
|
|
|
|
|
import (
|
2024-03-12 18:39:28 +05:30
|
|
|
"fmt"
|
2022-07-06 15:49:27 +05:30
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"go.uber.org/zap"
|
|
|
|
|
)
|
|
|
|
|
|
2023-03-23 19:45:15 +05:30
|
|
|
func Elapsed(funcName string, args ...interface{}) func() {
|
2022-07-06 15:49:27 +05:30
|
|
|
start := time.Now()
|
2024-03-12 18:39:28 +05:30
|
|
|
argsStr := ""
|
|
|
|
|
for _, v := range args {
|
|
|
|
|
argsStr += fmt.Sprintf("%v, ", v)
|
|
|
|
|
}
|
|
|
|
|
argsStr = argsStr[:len(argsStr)-2]
|
2022-07-06 15:49:27 +05:30
|
|
|
return func() {
|
2024-03-12 18:39:28 +05:30
|
|
|
zap.S().Infof("func %s took %v with args %v", funcName, time.Since(start), string(argsStr))
|
2022-07-06 15:49:27 +05:30
|
|
|
}
|
|
|
|
|
}
|