aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spark-standalone-agent/src/main/java/me/lucko/spark/standalone/StandaloneSparkAgent.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/spark-standalone-agent/src/main/java/me/lucko/spark/standalone/StandaloneSparkAgent.java b/spark-standalone-agent/src/main/java/me/lucko/spark/standalone/StandaloneSparkAgent.java
index 2820b85..d04c3e3 100644
--- a/spark-standalone-agent/src/main/java/me/lucko/spark/standalone/StandaloneSparkAgent.java
+++ b/spark-standalone-agent/src/main/java/me/lucko/spark/standalone/StandaloneSparkAgent.java
@@ -23,7 +23,11 @@ package me.lucko.spark.standalone;
import com.sun.tools.attach.VirtualMachine;
import com.sun.tools.attach.VirtualMachineDescriptor;
+import java.io.File;
import java.lang.instrument.Instrumentation;
+import java.net.URI;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -51,9 +55,9 @@ public class StandaloneSparkAgent {
try {
VirtualMachine vm = VirtualMachine.attach(args[0]);
- String agentPath = StandaloneSparkAgent.class.getProtectionDomain().getCodeSource().getLocation().getPath();
+ URI agentPath = StandaloneSparkAgent.class.getProtectionDomain().getCodeSource().getLocation().toURI();
String arguments = String.join(",", Arrays.copyOfRange(args, 1, args.length));
- vm.loadAgent(agentPath, arguments);
+ vm.loadAgent(Paths.get(agentPath).toAbsolutePath().toString(), arguments);
System.out.println("[spark] Agent loaded successfully.");
vm.detach();
} catch (Throwable e) {