@cryptotaxi247 / kubo / commits / eb8db2ec7

log(gcr/s,c) add addtional eventlogs

Brian Tiger Chow committed Feb 1, 2015 at 22:49 UTC eb8db2ec79fcf1f6e9622ef4fedc890cd81463ef
3 files changed +20 -15
routing/grandcentral/client.go
+1
@@ -36,6 +36,7 @@ func NewClient(px proxy.Proxy, h host.Host, ps peer.Peerstore, local peer.ID) (*
36 }
37
38 func (c *Client) FindProvidersAsync(ctx context.Context, k u.Key, max int) <-chan peer.PeerInfo {
39 + ctx = eventlog.ContextWithLoggable(ctx, eventlog.Uuid("findProviders"))
40 defer log.EventBegin(ctx, "findProviders", &k).Done()
41 ch := make(chan peer.PeerInfo)
42 go func() {
routing/grandcentral/proxy/standard.go
+17 -14
@@ -87,35 +87,38 @@ func (px *standard) SendRequest(ctx context.Context, m *dhtpb.Message) (*dhtpb.M
87 return nil, err // NB: returns the last error
88 }
89
90 -func (px *standard) sendRequest(ctx context.Context, m *dhtpb.Message, remote peer.ID) (_ *dhtpb.Message, err error) {
91 - e := log.EventBegin(ctx, "sendRoutingRequest", px.Host.ID(), remote, m)
92 - defer func() {
93 - if err != nil {
94 - e.SetError(err)
95 - }
96 - e.Done()
97 - }()
98 - if err = px.Host.Connect(ctx, peer.PeerInfo{ID: remote}); err != nil {
90 +func (px *standard) sendRequest(ctx context.Context, m *dhtpb.Message, remote peer.ID) (*dhtpb.Message, error) {
91 + e := log.EventBegin(ctx, "sendRoutingRequest", px.Host.ID(), remote, eventlog.Pair("request", m))
92 + defer e.Done()
93 + if err := px.Host.Connect(ctx, peer.PeerInfo{ID: remote}); err != nil {
94 + e.SetError(err)
95 return nil, err
96 }
97 s, err := px.Host.NewStream(ProtocolGCR, remote)
98 if err != nil {
99 + e.SetError(err)
100 return nil, err
101 }
102 defer s.Close()
103 r := ggio.NewDelimitedReader(s, inet.MessageSizeMax)
104 w := ggio.NewDelimitedWriter(s)
105 if err = w.WriteMsg(m); err != nil {
106 + e.SetError(err)
107 return nil, err
108 }
109
112 - var reply dhtpb.Message
113 - if err = r.ReadMsg(&reply); err != nil {
110 + response := &dhtpb.Message{}
111 + if err = r.ReadMsg(response); err != nil {
112 + e.SetError(err)
113 return nil, err
114 }
115 // need ctx expiration?
117 - if &reply == nil {
118 - return nil, errors.New("no response to request")
116 + if response == nil {
117 + err := errors.New("no response to request")
118 + e.SetError(err)
119 + return nil, err
120 }
120 - return &reply, nil
121 + e.Append(eventlog.Pair("response", response))
122 + e.Append(eventlog.Pair("uuid", eventlog.Uuid("foo")))
123 + return response, nil
124 }
routing/grandcentral/server.go
+2 -1
@@ -169,7 +169,8 @@ func storeProvidersToPeerstore(ps peer.Peerstore, p peer.ID, providers []*dhtpb.
169 }
170
171 func getRoutingProviders(local peer.ID, ds datastore.Datastore, k util.Key) ([]*dhtpb.Message_Peer, error) {
172 - log.Event(context.Background(), "getProviders", local, &k)
172 + e := log.EventBegin(context.Background(), "getProviders", &k)
173 + defer e.Done()
174 var providers []*dhtpb.Message_Peer
175 exists, err := ds.Has(k.DsKey()) // TODO store values in a local datastore?
176 if err == nil && exists {