package org.stagemonitor.web.monitor.filter; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; import org.stagemonitor.tracing.profiler.ProfilingTransformer; import javax.servlet.Filter; import static net.bytebuddy.matcher.ElementMatchers.isSubTypeOf; import static net.bytebuddy.matcher.ElementMatchers.nameEndsWith; import static net.bytebuddy.matcher.ElementMatchers.named; public class FilterProfilingTransformer extends ProfilingTransformer { @Override public ElementMatcher.Junction<TypeDescription> getExtraIncludeTypeMatcher() { return nameEndsWith("Filter").and(isSubTypeOf(Filter.class)); } @Override protected ElementMatcher.Junction<MethodDescription> getExtraMethodElementMatcher() { return named("doFilter"); } }