package info.frostfs.sdk.pool; import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import java.util.concurrent.locks.ReentrantLock; @Setter @Getter public class MethodStatus { @Getter(AccessLevel.NONE) private final ReentrantLock lock = new ReentrantLock(); private final String name; private StatusSnapshot snapshot; public MethodStatus(String name) { this.name = name; this.snapshot = new StatusSnapshot(); } void incRequests(long elapsed) { lock.lock(); try { snapshot.setAllTime(snapshot.getAllTime() + elapsed); snapshot.setAllRequests(snapshot.getAllRequests() + 1); } finally { lock.unlock(); } } }