1111import io .apitally .common .dto .LogRecord ;
1212import io .apitally .common .dto .Request ;
1313import io .apitally .common .dto .Response ;
14+ import io .apitally .common .dto .SpanData ;
1415import java .io .IOException ;
1516import java .util .ArrayList ;
1617import java .util .Base64 ;
@@ -34,6 +35,7 @@ void setUp() {
3435 requestLoggingConfig .setResponseHeadersIncluded (true );
3536 requestLoggingConfig .setResponseBodyIncluded (true );
3637 requestLoggingConfig .setLogCaptureEnabled (true );
38+ requestLoggingConfig .setTracingEnabled (true );
3739 requestLogger = new RequestLogger (requestLoggingConfig );
3840 }
3941
@@ -72,7 +74,29 @@ void testEndToEnd() {
7274 "test.Logger" ,
7375 "INFO" ,
7476 "Test log message" ));
75- requestLogger .logRequest (request , response , exception , logs , null , null );
77+ List <SpanData > spans = new ArrayList <>();
78+ spans .add (
79+ new SpanData (
80+ "a1b2c3d4e5f6a7b8" ,
81+ null ,
82+ "root" ,
83+ "INTERNAL" ,
84+ 1000000L ,
85+ 2000000L ,
86+ null ,
87+ null ));
88+ spans .add (
89+ new SpanData (
90+ "b2c3d4e5f6a7b8c9" ,
91+ "a1b2c3d4e5f6a7b8" ,
92+ "child" ,
93+ "INTERNAL" ,
94+ 1100000L ,
95+ 1900000L ,
96+ "OK" ,
97+ null ));
98+ String traceId = "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" ;
99+ requestLogger .logRequest (request , response , exception , logs , spans , traceId );
76100
77101 JsonNode [] items = getLoggedItems (requestLogger );
78102 assertEquals (1 , items .length );
@@ -114,6 +138,14 @@ void testEndToEnd() {
114138 assertEquals ("INFO" , logsNode .get (0 ).get ("level" ).asText ());
115139 assertEquals ("Test log message" , logsNode .get (0 ).get ("message" ).asText ());
116140
141+ assertEquals ("a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" , jsonNode .get ("trace_id" ).asText ());
142+ JsonNode spansNode = jsonNode .get ("spans" );
143+ assertTrue (spansNode .isArray ());
144+ assertEquals (2 , spansNode .size ());
145+ assertEquals ("root" , spansNode .get (0 ).get ("name" ).asText ());
146+ assertEquals ("child" , spansNode .get (1 ).get ("name" ).asText ());
147+ assertEquals ("a1b2c3d4e5f6a7b8" , spansNode .get (1 ).get ("parent_span_id" ).asText ());
148+
117149 requestLogger .clear ();
118150
119151 items = getLoggedItems (requestLogger );
0 commit comments