package Ġio . github . br un ori be iro . op entr acing . spring . aop Ċ Ċ import Ġio . github . br un ori be iro . op entr acing . core . Open Tracing . trace Ċ import Ġorg . aspect j . lang . Pro ceeding Join Point Ċ import Ġorg . aspect j . lang . annotation . Around Ċ import Ġorg . aspect j . lang . annotation . Aspect Ċ import Ġorg . aspect j . lang . reflect . Method Signature Ċ import Ġorg . springframework . stereotype . Component ĊĊ Ċ @ Aspect Ċ @ Component Ċ class ĠTrace Aspect Ġ{ ĊĊĠĠĠ Ġ@ Around ("@ annotation ( Trace )") ĊĠĠĠ Ġ@ Throws ( Throwable :: class ) ĊĠĠĠ Ġfun Ġtrace Method ( join Point : ĠPro ceeding Join Point ): ĠAny Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġsignature Ġ= Ġjoin Point . signature Ġas ĠMethod Signature ĊĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġsignature . method ĊĠĠĠĠĠĠĠ Ġval Ġoperation Ġ= Ġmethod . getAnnotation ( Trace able :: class . java ). operation ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrace ( operation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjoin Point . proceed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ