You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,7 +73,10 @@ KeployDedupAgent.start();
73
73
74
74
### 3. Run the App with the JaCoCo Java Agent
75
75
76
-
The dedup agent reads coverage in-process via JaCoCo's runtime API (`org.jacoco.agent.rt.RT.getAgent()`), so all you need is to attach the JaCoCo Java agent — no TCP server flags, no port choices:
76
+
The dedup agent reads coverage in-process via JaCoCo's runtime API (`org.jacoco.agent.rt.RT.getAgent()`), so attaching the JaCoCo Java agent is the only runtime requirement in the common cases below:
77
+
78
+
- Maven/Gradle dev runs where application classes are under `target/classes` or `build/classes/java/main`
79
+
- packaged `java -jar` runs where the application classes live inside the executable jar
Java dedup works in native, Docker, and restricted Docker environments as long as the following conditions are met:
116
-
117
-
- host `/tmp` is bind-mounted into the container as `/tmp`
118
-
-`/tmp` remains writable so the Unix sockets can be created
119
-
- if the SDK falls back to TCP, the JaCoCo TCP port is reachable from the Java process
118
+
Java dedup works in native, Docker, and restricted Docker environments as long as `/tmp` is shared and writable between Keploy Enterprise and the Java process. In Docker Compose flows, Enterprise can inject that shared `/tmp` mount when it rewrites the Compose file for replay.
120
119
121
-
The `/tmp` bind mount is required because Keploy Enterprise and the Java SDK communicate over these Unix sockets:
120
+
Keploy Enterprise and the Java SDK communicate over these Unix sockets:
122
121
123
122
-`/tmp/coverage_control.sock`
124
123
-`/tmp/coverage_data.sock`
@@ -129,8 +128,8 @@ Without a shared `/tmp`, dedup will not work inside containers because Enterpris
129
128
130
129
-`KEPLOY_JACOCO_HOST`: JaCoCo TCP host used when the in-process runtime API is unavailable. Default: `127.0.0.1`
131
130
-`KEPLOY_JACOCO_PORT`: JaCoCo TCP port used when the in-process runtime API is unavailable. Default: `36320`
132
-
-`KEPLOY_JAVA_CLASS_DIRS`: optional comma-separated class or jar locations to analyze for executed lines
133
-
-`KEPLOY_JAVA_CLASSPATH_FALLBACK`: scans classpath directories and jars if no class roots are found. Default: `false`
131
+
-`KEPLOY_JAVA_CLASS_DIRS`: optional comma-separated class or jar locations to analyze for executed lines when your build output lives outside the standard locations
132
+
-`KEPLOY_JAVA_CLASSPATH_FALLBACK`: scans the full classpath if standard class roots and the executable jar do not provide application classes. Default: `false`
134
133
-`KEPLOY_JAVA_DEDUP_DISABLED`: disables the Java dedup agent when set to `true`, `1`, or `yes`
0 commit comments