in tcbot-common/src/main/java/org/apache/ignite/tcbot/common/interceptor/MonitoredTaskInterceptor.java [216:266]
private TaskSettings taskName(MethodInvocation invocation) {
final Method invocationMtd = invocation.getMethod();
final String cls = invocationMtd.getDeclaringClass().getSimpleName();
final String mtd = invocationMtd.getName();
StringBuilder fullKey = new StringBuilder();
boolean log;
final MonitoredTask annotation = invocationMtd.getAnnotation(MonitoredTask.class);
if (annotation != null) {
String activityName = annotation.name();
if (!Strings.isNullOrEmpty(activityName))
fullKey.append(activityName);
else
fullKey.append(cls).append(".").append(mtd);
final Object[] arguments = invocation.getArguments();
final int idx = annotation.nameExtArgIndex();
if (arguments != null && idx >= 0 && idx < arguments.length)
fullKey.append(".").append(arguments[idx]);
int[] ints = annotation.nameExtArgsIndexes();
for (int i = 0; i < ints.length; i++) {
int argIdx = ints[i];
if (arguments != null && argIdx >= 0 && argIdx < arguments.length) {
if (i == 0)
fullKey.append(":");
else
fullKey.append(", ");
fullKey.append(arguments[argIdx]);
}
}
if (annotation.log())
log = true;
else
log = false;
}
else {
fullKey.append(cls).append(".").append(mtd);
log = false;
}
return new TaskSettings(fullKey.toString(), log);
}