blob: f17b10d0f672e7f9cd0cc712e4f0814a91c3047d [file] [log] [blame]
defer func() {
if r := recover(); r != nil {
// log error
// fmt.Printf("error: %v", r)
log.Errorf("execute interceptor after invoke error, instrument name: %s, interceptor name: %s, function ID: %s, error: %v, stack: %s",
"{{.InstrumentName}}", "{{.InterceptorDefineName}}", "{{.FuncID}}", r, tracing.DebugStack())
}
}()
// real invoke
if err := {{.InterceptorVarName}}.AfterInvoke(invocation{{ range $index, $value := .Results -}}
, *ret_{{$index}}
{{- end}}); err != nil {
// using go2sky log error
log.Warnf("execute interceptor after invoke error, instrument name: %s, interceptor name: %s, function ID: %s, error: %v",
"{{.InstrumentName}}", "{{.InterceptorDefineName}}", "{{.FuncID}}", err)
}
if (invocation.isContinue) {
{{- range $index, $value := .Results }}
if invocation.returnValues[{{$index}}] != nil {
*ret_{{$index}} = (invocation.returnValues[{{$index}}]).({{$value.PackagedTypeName}})
} else {
*ret_{{$index}} = {{$value.DefaultValueAsString}}
}
{{- end }}
}