Java Code Examples for net.bytebuddy.matcher.ElementMatchers#named()

The following examples show how to use net.bytebuddy.matcher.ElementMatchers#named() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: LightInstrumentation.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named(ENHANCE_METHOD);
            }

            @Override
            public String getMethodsInterceptor() {
                return INTERCEPTOR_CLASS;
            }

            @Override
            public boolean isOverrideArgs() {
                return false;
            }
        }
    };
}
 
Example 2
Source File: GenericRequestorInstrumentation.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named("request");
            }

            @Override
            public String getMethodsInterceptor() {
                return INTERCEPTOR_CLASS;
            }

            @Override
            public boolean isOverrideArgs() {
                return false;
            }
        }
    };
}
 
Example 3
Source File: ResponderInstrumentation.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named("respond");
            }

            @Override
            public String getMethodsInterceptor() {
                return INTERCEPTOR_CLASS;
            }

            @Override
            public boolean isOverrideArgs() {
                return false;
            }
        }
    };
}
 
Example 4
Source File: SpecificRequestorInstrumentation.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named("invoke");
            }

            @Override
            public String getMethodsInterceptor() {
                return INTERCEPTOR_CLASS;
            }

            @Override
            public boolean isOverrideArgs() {
                return false;
            }
        }
    };
}
 
Example 5
Source File: MongoDBInstrumentation.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named(METHOD_NAME);
            }

            @Override
            public String getMethodsInterceptor() {
                return INTERCEPTOR_CLASS;
            }

            @Override
            public boolean isOverrideArgs() {
                return false;
            }
        }
    };
}
 
Example 6
Source File: MongoDBOperationExecutorInstrumentation.java    From skywalking with Apache License 2.0 6 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers
                    // 3.6.x
                    .named(METHOD_NAME);
            }

            @Override
            public String getMethodsInterceptor() {
                return INTERCEPTOR_CLASS;
            }

            @Override
            public boolean isOverrideArgs() {
                return false;
            }
        }
    };
}
 
Example 7
Source File: SolrClientInstrumentation.java    From skywalking with Apache License 2.0 5 votes vote down vote up
@Override
public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
    return new InstanceMethodsInterceptPoint[] {
        new InstanceMethodsInterceptPoint() {
            @Override
            public boolean isOverrideArgs() {
                return false;
            }

            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named("request").and(ElementMatchers.takesArguments(3));
            }

            @Override
            public String getMethodsInterceptor() {
                return "org.apache.skywalking.apm.plugin.solrj.SolrClientInterceptor";
            }
        },
        new InstanceMethodsInterceptPoint() {
            @Override
            public boolean isOverrideArgs() {
                return false;
            }

            @Override
            public ElementMatcher<MethodDescription> getMethodsMatcher() {
                return ElementMatchers.named("executeMethod");
            }

            @Override
            public String getMethodsInterceptor() {
                return "org.apache.skywalking.apm.plugin.solrj.SolrConnectorInterceptor";
            }
        }
    };
}
 
Example 8
Source File: InliningImplementationMatcher.java    From byte-buddy with Apache License 2.0 5 votes vote down vote up
/**
 * Creates a matcher where only overridable or declared methods are matched unless those are ignored. Methods that
 * are declared by the target type are only matched if they are not ignored. Declared methods that are not found on the
 * target type are always matched.
 *
 * @param ignoredMethods A method matcher that matches any ignored method.
 * @param originalType   The original type of the instrumentation before adding any user methods.
 * @return A latent method matcher that identifies any method to instrument for a rebasement or redefinition.
 */
protected static LatentMatcher<MethodDescription> of(LatentMatcher<? super MethodDescription> ignoredMethods, TypeDescription originalType) {
    ElementMatcher.Junction<MethodDescription> predefinedMethodSignatures = none();
    for (MethodDescription methodDescription : originalType.getDeclaredMethods()) {
        ElementMatcher.Junction<MethodDescription> signature = methodDescription.isConstructor()
                ? isConstructor()
                : ElementMatchers.<MethodDescription>named(methodDescription.getName());
        signature = signature.and(returns(methodDescription.getReturnType().asErasure()));
        signature = signature.and(takesArguments(methodDescription.getParameters().asTypeList().asErasures()));
        predefinedMethodSignatures = predefinedMethodSignatures.or(signature);
    }
    return new InliningImplementationMatcher(ignoredMethods, predefinedMethodSignatures);
}
 
Example 9
Source File: InstrumentationTest.java    From apm-agent-java with Apache License 2.0 4 votes vote down vote up
@Override
public ElementMatcher<? super TypeDescription> getTypeMatcher() {
    return ElementMatchers.named("co.elastic.apm.agent.bci.InstrumentationTest");
}
 
Example 10
Source File: InstrumentationTest.java    From apm-agent-java with Apache License 2.0 4 votes vote down vote up
@Override
public ElementMatcher<? super MethodDescription> getMethodMatcher() {
    return ElementMatchers.named("interceptMe");
}
 
Example 11
Source File: InstrumentationTest.java    From apm-agent-java with Apache License 2.0 4 votes vote down vote up
@Override
public ElementMatcher<? super TypeDescription> getTypeMatcher() {
    return ElementMatchers.named("org.apache.commons.math.util.MathUtils");
}
 
Example 12
Source File: InstrumentationTest.java    From apm-agent-java with Apache License 2.0 4 votes vote down vote up
@Override
public ElementMatcher<? super TypeDescription> getTypeMatcher() {
    return ElementMatchers.named(InstrumentationTest.class.getName());
}
 
Example 13
Source File: InstrumentationTest.java    From apm-agent-java with Apache License 2.0 4 votes vote down vote up
@Override
public ElementMatcher<? super TypeDescription> getTypeMatcher() {
    return ElementMatchers.named(InstrumentationTest.class.getName());
}
 
Example 14
Source File: InstrumentationTest.java    From apm-agent-java with Apache License 2.0 4 votes vote down vote up
@Override
public ElementMatcher<? super MethodDescription> getMethodMatcher() {
    return ElementMatchers.named("noExceptionPlease");
}