11package name .dhruba .javaagent ;
22
3- import java .lang .management .ManagementFactory ;
43import java .util .List ;
5- import java .util .Properties ;
6-
74import com .sun .tools .attach .VirtualMachineDescriptor ;
85import org .slf4j .Logger ;
96import org .slf4j .LoggerFactory ;
@@ -17,45 +14,21 @@ public class JavaAgentLoader {
1714
1815 public static void loadAgent (String agentJar ,String options ) {
1916 logger .info ("dynamically loading javaagent" );
20- String nameOfRunningVM = ManagementFactory .getRuntimeMXBean ().getName ();
21- int p = nameOfRunningVM .indexOf ('@' );
22- String pid = nameOfRunningVM .substring (0 , p );
23- System .out .println ("------------------into-------------" );
24- System .out .println ("------------------p-------------" +p );
25- System .out .println ("------------------pid-------------" +pid );
26- System .out .println ("------------------args-------------" +options );
27-
17+ logger .info ("------------------options-------------" +options );
18+ logger .info ("------------------agentJar-------------" +agentJar );
2819 try {
2920 List <VirtualMachineDescriptor > list = VirtualMachine .list ();
3021 for (int i = 0 ; i < list .size (); i ++) {
3122 VirtualMachineDescriptor virtualMachineDescriptor = list .get (i );
3223 String version = virtualMachineDescriptor .id ();
33- System .out .println (version );
34- System .out .println (virtualMachineDescriptor .id ());
35- System .out .println (virtualMachineDescriptor .displayName ());
36- System .out .println (virtualMachineDescriptor .toString ());
37-
3824 VirtualMachine attach = VirtualMachine .attach (version );
3925 if (agentJar != null && !agentJar .equals ("" )){
40- attach .loadAgent (jarFilePath , options );
41- }else {
4226 attach .loadAgent (agentJar , options );
27+ }else {
28+ attach .loadAgent (jarFilePath , options );
4329 }
44-
45-
46- Properties properties = attach .getAgentProperties ();
47- Properties sysproperties = attach .getSystemProperties ();
48- System .out .println ( properties .toString ());
49- System .out .println ( sysproperties .toString ());
50- System .out .println ("DdTrace attach agent to displayName is:" +virtualMachineDescriptor .displayName ());
51-
5230 attach .detach ();
5331 }
54-
55- // -------------
56- // VirtualMachine vm = VirtualMachine.attach(pid);
57- // vm.loadAgent(jarFilePath, "Ddd.env:test,Ddd.service.name:demo001,Ddd.agent.port:9529");// 参数
58- // vm.detach();
5932 } catch (Exception e ) {
6033 throw new RuntimeException (e );
6134 }
0 commit comments