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-27 00:07:29 +05:30
|
|
|
zap.L().Info("Elapsed time", zap.String("func_name", funcName), zap.Duration("duration", time.Since(start)), zap.String("args", argsStr))
|
2022-07-06 15:49:27 +05:30
|
|
|
}
|
|
|
|
|
}
|