fix: tracer: emit raw peer ids for compatibility with libp2p tracer

This commit is contained in:
Ian Davis 2023-02-14 16:17:03 +00:00
parent 61f29a84b5
commit 35730637dc
2 changed files with 6 additions and 9 deletions
node/modules/tracer

View File

@ -31,7 +31,7 @@ const (
type LotusTraceEvent struct { type LotusTraceEvent struct {
Type pubsub_pb.TraceEvent_Type `json:"type,omitempty"` Type pubsub_pb.TraceEvent_Type `json:"type,omitempty"`
PeerID string `json:"peerID,omitempty"` PeerID []byte `json:"peerID,omitempty"`
Timestamp *int64 `json:"timestamp,omitempty"` Timestamp *int64 `json:"timestamp,omitempty"`
PeerScore TraceEventPeerScore `json:"peerScore,omitempty"` PeerScore TraceEventPeerScore `json:"peerScore,omitempty"`
SourceAuth string `json:"sourceAuth,omitempty"` SourceAuth string `json:"sourceAuth,omitempty"`
@ -46,7 +46,7 @@ type TopicScore struct {
} }
type TraceEventPeerScore struct { type TraceEventPeerScore struct {
PeerID string `json:"peerID"` PeerID []byte `json:"peerID"`
Score float64 `json:"score"` Score float64 `json:"score"`
AppSpecificScore float64 `json:"appSpecificScore"` AppSpecificScore float64 `json:"appSpecificScore"`
IPColocationFactor float64 `json:"ipColocationFactor"` IPColocationFactor float64 `json:"ipColocationFactor"`
@ -77,11 +77,11 @@ func (lt *lotusTracer) PeerScores(scores map[peer.ID]*pubsub.PeerScoreSnapshot)
evt := &LotusTraceEvent{ evt := &LotusTraceEvent{
Type: *TraceEventPeerScores.Enum(), Type: *TraceEventPeerScores.Enum(),
PeerID: lt.pid.Pretty(), PeerID: []byte(lt.pid),
Timestamp: &now, Timestamp: &now,
SourceAuth: lt.sa, SourceAuth: lt.sa,
PeerScore: TraceEventPeerScore{ PeerScore: TraceEventPeerScore{
PeerID: pid.Pretty(), PeerID: []byte(pid),
Score: score.Score, Score: score.Score,
AppSpecificScore: score.AppSpecificScore, AppSpecificScore: score.AppSpecificScore,
IPColocationFactor: score.IPColocationFactor, IPColocationFactor: score.IPColocationFactor,
@ -104,7 +104,6 @@ func (lt *lotusTracer) TraceLotusEvent(evt *LotusTraceEvent) {
log.Errorf("error while transporting peer scores: %s", err) log.Errorf("error while transporting peer scores: %s", err)
} }
} }
} }
func (lt *lotusTracer) Trace(evt *pubsub_pb.TraceEvent) { func (lt *lotusTracer) Trace(evt *pubsub_pb.TraceEvent) {

View File

@ -30,16 +30,15 @@ func (ttt *testTracerTransport) Transport(evt TracerTransportEvent) error {
} }
func TestTracer_PeerScores(t *testing.T) { func TestTracer_PeerScores(t *testing.T) {
testTransport := NewTestTraceTransport(t, func(t *testing.T, evt TracerTransportEvent) { testTransport := NewTestTraceTransport(t, func(t *testing.T, evt TracerTransportEvent) {
require.Equal(t, peerIDA.Pretty(), evt.lotusTraceEvent.PeerID) require.Equal(t, []byte(peerIDA), evt.lotusTraceEvent.PeerID)
require.Equal(t, "source-auth-token-test", evt.lotusTraceEvent.SourceAuth) require.Equal(t, "source-auth-token-test", evt.lotusTraceEvent.SourceAuth)
require.Equal(t, float64(32), evt.lotusTraceEvent.PeerScore.Score) require.Equal(t, float64(32), evt.lotusTraceEvent.PeerScore.Score)
n := time.Now().UnixNano() n := time.Now().UnixNano()
require.LessOrEqual(t, *evt.lotusTraceEvent.Timestamp, n) require.LessOrEqual(t, *evt.lotusTraceEvent.Timestamp, n)
require.Equal(t, peerIDA.Pretty(), evt.lotusTraceEvent.PeerScore.PeerID) require.Equal(t, []byte(peerIDA), evt.lotusTraceEvent.PeerScore.PeerID)
require.Equal(t, 1, len(evt.lotusTraceEvent.PeerScore.Topics)) require.Equal(t, 1, len(evt.lotusTraceEvent.PeerScore.Topics))
topic := evt.lotusTraceEvent.PeerScore.Topics[0] topic := evt.lotusTraceEvent.PeerScore.Topics[0]
@ -85,7 +84,6 @@ func TestTracer_PubSubTrace(t *testing.T) {
PeerID: []byte(peerIDA), PeerID: []byte(peerIDA),
Timestamp: &n, Timestamp: &n,
}) })
} }
func TestTracer_MultipleTransports(t *testing.T) { func TestTracer_MultipleTransports(t *testing.T) {