head lag observer throttling - fix test (#170)
This commit is contained in:
@@ -34,7 +34,8 @@ typealias Extractor = (top: BlockContainer, curr: BlockContainer) -> DistanceExt
|
|||||||
abstract class HeadLagObserver(
|
abstract class HeadLagObserver(
|
||||||
private val master: Head,
|
private val master: Head,
|
||||||
private val followers: Collection<Upstream>,
|
private val followers: Collection<Upstream>,
|
||||||
private val distanceExtractor: Extractor
|
private val distanceExtractor: Extractor,
|
||||||
|
private val throttling: Duration = Duration.ofSeconds(5)
|
||||||
) : Lifecycle {
|
) : Lifecycle {
|
||||||
|
|
||||||
private val log = LoggerFactory.getLogger(HeadLagObserver::class.java)
|
private val log = LoggerFactory.getLogger(HeadLagObserver::class.java)
|
||||||
@@ -57,7 +58,7 @@ abstract class HeadLagObserver(
|
|||||||
|
|
||||||
fun subscription(): Flux<Unit> {
|
fun subscription(): Flux<Unit> {
|
||||||
return master.getFlux()
|
return master.getFlux()
|
||||||
.sample(Duration.ofSeconds(5))
|
.sample(throttling)
|
||||||
.flatMap(this::probeFollowers)
|
.flatMap(this::probeFollowers)
|
||||||
.map { item ->
|
.map { item ->
|
||||||
item.t2.setLag(item.t1)
|
item.t2.setLag(item.t1)
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class HeadLagObserverSpec extends Specification {
|
|||||||
|
|
||||||
HeadLagObserver observer = new TestHeadLagObserver(master, [up1, up2])
|
HeadLagObserver observer = new TestHeadLagObserver(master, [up1, up2])
|
||||||
when:
|
when:
|
||||||
def act = observer.subscription().take(Duration.ofMillis(1200))
|
def act = observer.subscription().take(Duration.ofMillis(5000))
|
||||||
|
|
||||||
then:
|
then:
|
||||||
StepVerifier.create(act)
|
StepVerifier.create(act)
|
||||||
@@ -111,7 +111,7 @@ class HeadLagObserverSpec extends Specification {
|
|||||||
class TestHeadLagObserver extends HeadLagObserver {
|
class TestHeadLagObserver extends HeadLagObserver {
|
||||||
|
|
||||||
TestHeadLagObserver(@NotNull Head master, @NotNull Collection<? extends Upstream> followers) {
|
TestHeadLagObserver(@NotNull Head master, @NotNull Collection<? extends Upstream> followers) {
|
||||||
super(master, followers, DistanceExtractor.@Companion::extractPowDistance)
|
super(master, followers, DistanceExtractor.@Companion::extractPowDistance, Duration.ofNanos(1))
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user