@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) @Documented public @interface SpanName
Runnable
or Callable
classes for
the instrumentation logic to pick up how to name the span.
Having for example the following code
@SpanName("custom-operation")
class CustomRunnable implements Runnable {
@Override
public void run() {
// latency of this method will be recorded in a span named "custom-operation"
}
}
Will result in creating a span with name custom-operation
.
When there's no @SpanName annotation, toString
is used. Here's an example of
the above, but via an anonymous instance.
return new Runnable() {
-- snip --
@Override
public String toString() {
return "custom-operation";
}
};
Starting with version 1.3.0
you can also put the annotation on an
Async
annotated method and the value
of that annotation will be used as the span name.public abstract String value
Copyright © 2021 Pivotal Software, Inc.. All rights reserved.