Closed NIC619 closed 6 years ago
opentracing
and gx/ipfs/.../opentracing
gx-go rw
, we "unwrite" the "gx/ipfs/.../opentracing" imports to "github.com/opentracing/opentracing"addpeer
and broadcastcollation
, the solution is to ensure we don't store any non utf-8 string in the type string in protobuf(or, just change the type string to bytes in those use cases)init
in *.pb.go
basictracer-go
package.json
to the latest one, after it is publishedI merged this branch with master, and modified partial-gx-uw.py
to print the unwritten imports. Let's see what errors occur in the CI now
Ah...I just removed fstring. Hope we can get rid of the error. Thanks a lot @ChihChengLiang
Seems like we forgot to fetch the dependency packages recursively while the command go test -v ./…
will run the tests recursively(hence it would run into the cannot find package of XXX
error.
As for the previous undefined: proto.GoGoProtoPackageIsVersion1
error, the reason seems to be that the wrong version of package gogo/protobuf/proto
is fetched by gx and it's currently fixed by gx unwrite the specified packages.
So we need to pass ./...
to go get
and go test
, to build all packages under the directory, and pass .
to go get
in docker, since we only need the exact main package in the directory to make it build?
Btw., CI passed!
How was it fixed?
Add some basic tracing setup(Opentracing + Appdash) to keep track of the RPC calls between different nodes in the network:
AddPeer
span orSubscribeShard
span would be theChildOf
anRPC Server
span.RPC Server
span and multiple RPC call spans(e.g.,AddPeer
).Each trace and spans has it's own unique ID and one can attach extra information to the span by
SetTag
.Stop
call to turn down the RPC server so the main span(span with nameRPC Server
) can terminate normally.WIP: Look into libp2p codebase to see how they set up and utilize tracing WIP: survey for different/better visualization tools
Cute Animal Picture