src/server/pkg/metrics/metrics.go
func FinishReportAndFlushUserAction(action string, err error, start time.Time) func() {
	var wait func()
	if err != nil {
		wait = reportAndFlushUserAction(fmt.Sprintf("%vErrored", action), err)
	} else {
		wait = reportAndFlushUserAction(fmt.Sprintf("%vFinished", action), time.Since(start).Seconds())
	}
	return wait
}
func FinishReportAndFlushUserAction(action string, err error, start time.Time) func() {
	var wait func()
	if err != nil {
		wait = reportAndFlushUserAction(fmt.Sprintf("%vErrored", action), err)
	} else {
		wait = reportAndFlushUserAction(fmt.Sprintf("%vFinished", action), time.Since(start).Seconds())
	}
	return wait
}
func FinishReportAndFlushUserAction ( action string , err error , start time . Time ) func ( ) { var wait func ( ) if err != nil { wait = reportAndFlushUserAction ( fmt . Sprintf ( " " , action ) , err ) } else { wait = reportAndFlushUserAction ( fmt . Sprintf ( " " , action ) , time . Since ( start ) . Seconds ( ) ) } return wait }
// FinishReportAndFlushUserAction immediately reports the metric but does
// not block execution. It returns a wait function which waits or times
// out after 5s.
// It is used by the pachctl binary and runs on users' machines
FinishReportAndFlushUserAction immediately reports the metric but does not block execution . It returns a wait function which waits or times out after 5s . It is used by the pachctl binary and runs on users machines