Skip to content

Commit 03754fc

Browse files
committed
gossiper: add enhanced logging for semaphore
1 parent b0cba7d commit 03754fc

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

discovery/validation_barrier.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"sync"
66
"sync/atomic"
7+
"time"
78

89
"github.com/go-errors/errors"
910
"github.com/lightningnetwork/lnd/fn/v2"
@@ -103,7 +104,24 @@ func (v *ValidationBarrier) InitJobDependencies(job interface{}) (JobID,
103104
// channel to be closed.
104105
select {
105106
case <-v.validationSemaphore:
107+
106108
case <-v.quit:
109+
110+
default:
111+
// We could not get a slot immediately, so we record the time
112+
// here how long we wait.
113+
waitStart := time.Now()
114+
select {
115+
case <-v.validationSemaphore:
116+
waitTime := time.Since(waitStart)
117+
if waitTime > 500*time.Millisecond {
118+
log.Debugf("Validation barrier bottleneck: "+
119+
"waited for %v to process new job",
120+
waitTime)
121+
}
122+
123+
case <-v.quit:
124+
}
107125
}
108126

109127
v.Lock()

0 commit comments

Comments
 (0)