This repository was archived by the owner on Nov 7, 2022. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3737 errWrongLenID = errors .New ("ID does not have 8 bytes" )
3838)
3939
40+ var (
41+ unknownProcess = & jaeger.Process {ServiceName : "unknown-service-name" }
42+ )
43+
4044// OCProtoToJaegerThrift translates OpenCensus trace data into the Jaeger Thrift format.
4145func OCProtoToJaegerThrift (ocBatch * agenttracepb.ExportTraceServiceRequest ) (* jaeger.Batch , error ) {
4246 if ocBatch == nil {
@@ -58,7 +62,8 @@ func OCProtoToJaegerThrift(ocBatch *agenttracepb.ExportTraceServiceRequest) (*ja
5862
5963func ocNodeToJaegerProcess (node * commonpb.Node ) * jaeger.Process {
6064 if node == nil {
61- return nil
65+ // Jaeger requires a non-nil Process
66+ return unknownProcess
6267 }
6368
6469 var jTags []* jaeger.Tag
Original file line number Diff line number Diff line change @@ -112,6 +112,27 @@ func TestInvalidOCProtoIDs(t *testing.T) {
112112 }
113113}
114114
115+ func TestNilOCProtoNode (t * testing.T ) {
116+ nilNodeBatch := & agenttracepb.ExportTraceServiceRequest {
117+ Spans : []* tracepb.Span {
118+ {
119+ TraceId : []byte ("0123456789abcdef" ),
120+ SpanId : []byte ("01234567" ),
121+ },
122+ },
123+ }
124+ got , err := OCProtoToJaegerThrift (nilNodeBatch )
125+ if err != nil {
126+ t .Fatalf ("Failed to translate OC batch to Jaeger Thrift: %v" , err )
127+ }
128+ if got .Process == nil {
129+ t .Fatalf ("Jaeger requires a non-nil Process field" )
130+ }
131+ if got .Process != unknownProcess {
132+ t .Fatalf ("got unexpected Jaeger Process field" )
133+ }
134+ }
135+
115136func TestOCProtoToJaegerThrift (t * testing.T ) {
116137 const numOfFiles = 2
117138 for i := 0 ; i < numOfFiles ; i ++ {
You can’t perform that action at this time.
0 commit comments