Skip to content

Commit 6aa14b2

Browse files
authored
Add a bit of logging (#301)
* chore(responsemanager): add a bit of logging * fix(responsemanager): remove code change
1 parent b025c64 commit 6aa14b2

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

Diff for: responsemanager/client.go

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package responsemanager
33
import (
44
"context"
55
"errors"
6+
"time"
67

78
logging "github.com/ipfs/go-log/v2"
89
"github.com/ipfs/go-peertaskqueue/peertask"
@@ -36,6 +37,7 @@ type inProgressResponseStatus struct {
3637
updates []gsmsg.GraphSyncRequest
3738
state graphsync.RequestState
3839
subscriber *notifications.TopicDataSubscriber
40+
startTime time.Time
3941
}
4042

4143
type responseKey struct {

Diff for: responsemanager/server.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"errors"
66
"math"
7+
"time"
78

89
"github.com/ipfs/go-peertaskqueue/peertask"
910
"github.com/libp2p/go-libp2p-core/peer"
@@ -155,6 +156,11 @@ func (rm *ResponseManager) processRequests(p peer.ID, requests []gsmsg.GraphSync
155156
networkErrorListeners: rm.networkErrorListeners,
156157
connManager: rm.connManager,
157158
})
159+
log.Infow("graphsync request initiated", "request id", request.ID(), "peer", p, "root", request.Root())
160+
ipr, ok := rm.inProgressResponses[key]
161+
if ok && ipr.state == graphsync.Running {
162+
log.Warnf("there is an identical request already in progress", "request id", request.ID(), "peer", p)
163+
}
158164

159165
rm.inProgressResponses[key] =
160166
&inProgressResponseStatus{
@@ -167,7 +173,8 @@ func (rm *ResponseManager) processRequests(p peer.ID, requests []gsmsg.GraphSync
167173
UpdateSignal: make(chan struct{}, 1),
168174
ErrSignal: make(chan error, 1),
169175
},
170-
state: graphsync.Queued,
176+
state: graphsync.Queued,
177+
startTime: time.Now(),
171178
}
172179
// TODO: Use a better work estimation metric.
173180

@@ -180,6 +187,8 @@ func (rm *ResponseManager) taskDataForKey(key responseKey) queryexecutor.Respons
180187
if !hasResponse {
181188
return queryexecutor.ResponseTask{Empty: true}
182189
}
190+
log.Infow("graphsync response processing begins", "request id", key.requestID, "peer", key.p, "total time", time.Since(response.startTime))
191+
183192
if response.loader == nil || response.traverser == nil {
184193
loader, traverser, isPaused, err := (&queryPreparer{rm.requestHooks, rm.responseAssembler, rm.linkSystem, rm.maxLinksPerRequest}).prepareQuery(response.ctx, key.p, response.request, response.signals, response.subscriber)
185194
if err != nil {
@@ -212,6 +221,7 @@ func (rm *ResponseManager) startTask(task *peertask.Task) queryexecutor.Response
212221
if taskData.Empty {
213222
rm.responseQueue.TaskDone(key.p, task)
214223
}
224+
215225
return taskData
216226
}
217227

@@ -226,6 +236,8 @@ func (rm *ResponseManager) finishTask(task *peertask.Task, err error) {
226236
response.state = graphsync.Paused
227237
return
228238
}
239+
log.Infow("graphsync response processing complete (messages stil sending)", "request id", key.requestID, "peer", key.p, "total time", time.Since(response.startTime))
240+
229241
if err != nil {
230242
log.Infof("response failed: %w", err)
231243
}

0 commit comments

Comments
 (0)