1616 */
1717package com .expedia .www .haystack .client .dispatchers .formats ;
1818
19- import java .io .ByteArrayOutputStream ;
20- import java .io .IOException ;
21- import java .io .ObjectOutputStream ;
22- import java .util .stream .Collectors ;
23-
24- import org .slf4j .Logger ;
25- import org .slf4j .LoggerFactory ;
26-
2719import com .expedia .open .tracing .Log ;
2820import com .expedia .open .tracing .Tag ;
2921import com .expedia .open .tracing .Tag .TagType ;
3022import com .expedia .www .haystack .client .LogData ;
3123import com .expedia .www .haystack .client .Span ;
3224import com .expedia .www .haystack .client .SpanContext ;
3325import com .google .protobuf .ByteString ;
26+ import org .slf4j .Logger ;
27+ import org .slf4j .LoggerFactory ;
28+
29+ import java .io .ByteArrayOutputStream ;
30+ import java .io .IOException ;
31+ import java .io .ObjectOutputStream ;
32+ import java .util .stream .Collectors ;
3433
3534public class ProtoBufFormat implements Format <com .expedia .open .tracing .Span > {
3635 private static final Logger LOGGER = LoggerFactory .getLogger (ProtoBufFormat .class );
@@ -41,36 +40,35 @@ public com.expedia.open.tracing.Span format(Span span) {
4140
4241 SpanContext context = span .context ();
4342 builder .setTraceId (context .getTraceId ().toString ())
44- .setSpanId (context .getSpanId ().toString ())
45- .setParentSpanId (context .getParentId ().toString ());
43+ .setSpanId (context .getSpanId ().toString ());
4644
47- builder .setServiceName (span .getServiceName ())
48- .setOperationName (span .getOperatioName ());
45+ if (context .getParentId () != null ) {
46+ builder .setParentSpanId (context .getParentId ().toString ());
47+ }
4948
50- builder .setStartTime (span .getStartTime ());
49+ builder .setServiceName (span .getServiceName ())
50+ .setOperationName (span .getOperatioName ())
51+ .setStartTime (span .getStartTime ());
5152
5253 if (span .getDuration () != null ) {
5354 builder .setDuration (span .getDuration ());
5455 }
5556
5657 builder .addAllLogs (span .getLogs ().stream ()
57- .map (l -> buildLog (l ))
58- .collect (Collectors .toList ()));
59-
60- builder .addAllTags (span .getTags ().entrySet ().stream ()
58+ .map (this ::buildLog )
59+ .collect (Collectors .toList ()))
60+ .addAllTags (span .getTags ().entrySet ().stream ()
6161 .map (e -> buildTag (e .getKey (), e .getValue ()))
62- .collect (Collectors .toList ()));
63-
64- // add the baggage items as tags for now
65- builder .addAllTags (context .getBaggage ().entrySet ().stream ()
62+ .collect (Collectors .toList ()))
63+ .addAllTags (context .getBaggage ().entrySet ().stream () // add the baggage items as tags for now
6664 .map (e -> buildTag (e .getKey (), e .getValue ()))
6765 .collect (Collectors .toList ()));
6866
6967 return builder .build ();
7068 }
7169
72- protected Log buildLog (LogData log ) {
73- Log .Builder builder = Log .newBuilder ()
70+ protected Log buildLog (final LogData log ) {
71+ final Log .Builder builder = Log .newBuilder ()
7472 .setTimestamp (log .getTimestamp ());
7573
7674 if (log .getFields () != null ) {
@@ -87,7 +85,7 @@ protected Tag buildTag(String key, Object value) {
8785 if (value == null ) {
8886 // just a message collected; adding an empty payload
8987 builder .setType (TagType .STRING );
90- builder .setVStr (new String () );
88+ builder .setVStr ("" );
9189 } else if (value instanceof String ) {
9290 builder .setType (TagType .STRING );
9391 builder .setVStr ((String ) value );
@@ -103,8 +101,8 @@ protected Tag buildTag(String key, Object value) {
103101 } else {
104102 builder .setType (TagType .BINARY );
105103
106- try (ByteArrayOutputStream out = new ByteArrayOutputStream ()) {
107- try (ObjectOutputStream os = new ObjectOutputStream (out )) {
104+ try (final ByteArrayOutputStream out = new ByteArrayOutputStream ()) {
105+ try (final ObjectOutputStream os = new ObjectOutputStream (out )) {
108106 os .writeObject (value );
109107 builder .setVBytes (ByteString .copyFrom (out .toByteArray ()));
110108 }
0 commit comments