Class LongestTraceStorageStrategy
- java.lang.Object
-
- fish.payara.nucleus.requesttracing.store.strategy.LongestTraceStorageStrategy
-
- All Implemented Interfaces:
TraceStorageStrategy
public class LongestTraceStorageStrategy extends Object implements TraceStorageStrategy
Strategy for finding traces that need removing from a list. Will remove the trace at the shortest traces in the given set of traces. If multiple traces are equally short the oldest is removed first.
-
-
Constructor Summary
Constructors Constructor Description LongestTraceStorageStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RequestTrace
getTraceForRemoval(Collection<RequestTrace> traces, int maxSize, RequestTrace traceToRemove)
Gets the trace that needs removing.
-
-
-
Method Detail
-
getTraceForRemoval
public RequestTrace getTraceForRemoval(Collection<RequestTrace> traces, int maxSize, RequestTrace traceToRemove)
Gets the trace that needs removing. Removes the provided trace if present, or selects the shortest of the given traces should their number be larger then maxSize.- Specified by:
getTraceForRemoval
in interfaceTraceStorageStrategy
- Parameters:
traces
- the list of traces to test.maxSize
- the maximum size of the list.traceToRemove
- the trace to remove if present or null if no particular candidate if favoured- Returns:
- the trace that needs removing, or null if no traces need removing.
- See Also:
TraceStorageStrategy.getTraceForRemoval(Collection, int, RequestTrace)
-
-