11package io .dongtai .iast .core .handler .hookpoint .service .trace ;
22
3+ import io .dongtai .iast .core .EngineManager ;
34import io .dongtai .iast .core .handler .context .ContextManager ;
45import io .dongtai .iast .core .handler .hookpoint .models .MethodEvent ;
56import io .dongtai .iast .core .handler .hookpoint .models .policy .PolicyNode ;
@@ -52,6 +53,8 @@ private String addTraceToJavaNetURL(MethodEvent event) {
5253 final HttpURLConnection connection = (HttpURLConnection ) event .objectInstance ;
5354 final String traceId = ContextManager .nextTraceId ();
5455 connection .setRequestProperty (ContextManager .getHeaderKey (), traceId );
56+ connection .setRequestProperty (ContextManager .getParentKey (),
57+ String .valueOf (EngineManager .getAgentId ()));
5558 return traceId ;
5659 }
5760 } catch (IllegalStateException ignore ) {
@@ -84,6 +87,7 @@ private String addTraceToApacheHttpClient(MethodEvent event) {
8487 }
8588 final String traceId = ContextManager .nextTraceId ();
8689 method .invoke (obj , ContextManager .getHeaderKey (), traceId );
90+ method .invoke (obj , ContextManager .getParentKey (), String .valueOf (EngineManager .getAgentId ()));
8791 return traceId ;
8892 } catch (Throwable e ) {
8993 DongTaiLog .debug ("add traceId header to apache http client failed: {}, {}" ,
@@ -105,6 +109,7 @@ private String addTraceToApacheHttpClientLegacy(MethodEvent event) {
105109 }
106110 final String traceId = ContextManager .nextTraceId ();
107111 method .invoke (obj , ContextManager .getHeaderKey (), traceId );
112+ method .invoke (obj , ContextManager .getParentKey (), String .valueOf (EngineManager .getAgentId ()));
108113 return traceId ;
109114 } catch (Throwable e ) {
110115 DongTaiLog .debug ("add traceId header to apache legacy http client failed: {}, {}" ,
@@ -134,6 +139,8 @@ private String addTraceToOkhttp(MethodEvent event) {
134139 Method methodAddHeader = reqBuilder .getClass ().getMethod ("addHeader" , String .class , String .class );
135140 final String traceId = ContextManager .nextTraceId ();
136141 methodAddHeader .invoke (reqBuilder , ContextManager .getHeaderKey (), traceId );
142+ methodAddHeader .invoke (reqBuilder , ContextManager .getParentKey (),
143+ String .valueOf (EngineManager .getAgentId ()));
137144 Method methodBuild = reqBuilder .getClass ().getMethod ("build" );
138145 Object newReq = methodBuild .invoke (reqBuilder );
139146 reqField .set (obj , newReq );
0 commit comments