package org.stagemonitor.tracing.wrapper;
import io.opentracing.Span;
/**
* As {@link SpanEventListener}s can be stateful, for example to store certain tags in a instance variable,
* a new instance of {@link SpanEventListener} has to be created for each individual {@link Span}.
* <p/>
* If your {@link SpanEventListener} is stateless i.e. it does not use instance variables which are dependent on the
* parameters of any {@link SpanEventListener} method, use {@link StatelessSpanEventListener} as a base class as it
* reuses the same instance for each {@link Span}.
*/
public interface SpanEventListenerFactory {
SpanEventListener create();
}