frostfs-sdk-java/client/src/main/java/info/frostfs/sdk/pool/MethodStatus.java
Ori Bruk e9e9480701 [#32] Provide a pool of clients to grpc
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
2025-01-17 16:57:59 +03:00

31 lines
746 B
Java

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();
}
}
}