use of com.navercorp.pinpoint.common.trace.AnnotationKeyMatcher in project pinpoint by naver.
the class TransactionInfoServiceImpl method getDisplayArgument0.
private AnnotationBo getDisplayArgument0(Event event) {
// TODO needs a more generalized implementation for Arcus
List<AnnotationBo> list = event.getAnnotationBoList();
if (list == null) {
return null;
}
final AnnotationKeyMatcher matcher = annotationKeyMatcherService.findAnnotationKeyMatcher(event.getServiceType());
if (matcher == null) {
return null;
}
for (AnnotationBo annotation : list) {
int key = annotation.getKey();
if (matcher.matches(key)) {
return annotation;
}
}
return null;
}
use of com.navercorp.pinpoint.common.trace.AnnotationKeyMatcher in project pinpoint by naver.
the class DefaultAnnotationKeyMatcherService method build.
private AnnotationKeyMatcherRegistry build(TraceMetadataLoaderService typeLoaderService) {
AnnotationKeyMatcherRegistry.Builder builder = new AnnotationKeyMatcherRegistry.Builder();
StaticFieldLookUp<DisplayArgumentMatcher> staticFieldLookUp = new StaticFieldLookUp<>(DefaultDisplayArgument.class, DisplayArgumentMatcher.class);
List<DisplayArgumentMatcher> lookup = staticFieldLookUp.lookup();
for (DisplayArgumentMatcher displayArgumentMatcher : lookup) {
AnnotationKeyMatcher annotationKeyMatcher = displayArgumentMatcher.getAnnotationKeyMatcher();
if (annotationKeyMatcher == null) {
continue;
}
logger.debug("add DefaultAnnotationKeyMatcher ServiceType:{}, AnnotationKeyMatcher:{}", displayArgumentMatcher.getServiceType(), annotationKeyMatcher);
builder.addAnnotationMatcher(displayArgumentMatcher.getServiceType(), annotationKeyMatcher);
}
List<ServiceTypeInfo> types = typeLoaderService.getServiceTypeInfos();
for (ServiceTypeInfo type : types) {
if (type.getPrimaryAnnotationKeyMatcher() == null) {
continue;
}
logger.debug("add AnnotationKeyMatcher ServiceType:{}, AnnotationKeyMatcher:{}", type.getServiceType(), type.getPrimaryAnnotationKeyMatcher());
builder.addAnnotationMatcher(type.getServiceType(), type.getPrimaryAnnotationKeyMatcher());
}
return builder.build();
}
Aggregations