diff --git a/README.md b/README.md index 34d9172..80a5843 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Capture all function calls including argument and return values. No servers or open connections, just plug the agent and get the results. See function calls, parameters and return values all at once. -[Latest release v20.0.0](https://github.com/beothorn/javaflame/releases/download/v20.0.0/javaAgent.jar) +[Latest release v21.0.0](https://github.com/beothorn/javaflame/releases/download/v21.0.0/javaAgent.jar) Want to see it in action? [Check out this rendering of some sort algorithms flamegraphs](https://beothorn.github.io/javaflame). @@ -77,7 +77,6 @@ Anything without exclusions will generate lots of data. Either it will not rende | qualified_functions | Print the qualified function name, ownerClass.functionName | `java -javaagent:javaAgent.jar=qualified_functions -jar yourApp.jar` | | capture_stacktrace | Capture stacktraces for calls. Very expensive, use it when analizyng a single method.| `java -javaagent:javaAgent.jar=capture_stacktrace -jar yourApp.jar` | | filter:expression | Will instrument only classes for which the qualified name matches the expression, see more below. You probably want to set this to you app package to avoid huge snapshots. | `java "-javaagent:javaAgent.jar=filter:com.github.myApp||store" -jar yourApp.jar` | -| interceptConstructorFor:expression | Will call the function defined at `interceptConstructorWith` every time a class matches the filter. See details below on Intercepting| `java "-javaagent:javaAgent.jar=interceptConstructorFor:Test||App,interceptConstructorWith:com.github.myApp.Interceptor#intercept" -jar .yourApp.jar` | | interceptConstructor:expression>methodReference | For classes matching the expression will call the methodReference. See details below on Intercepting | `java "-javaagent:javaAgent.jar=interceptConstructor:Test||App>com.github.myApp.Interceptor#intercept" -jar .yourApp.jar` | | startRecordingTriggerFunction:method | Will start recording the stack only when the function with this name is called. This checks only the method name. | `java -javaagent:javaAgent.jar=startRecordingTriggerFunction:afterSetup -jar yourApp.jar` | | stopRecordingTriggerFunction:method | Will stop recording the stack when the function with this name is called. This checks only the method name. | `java -javaagent:javaAgent.jar=stopRecordingTriggerFunction:afterJobIsDone -jar yourApp.jar` | diff --git a/buildAndRun.sh b/buildAndRun.sh index 89f080e..bf6718a 100755 --- a/buildAndRun.sh +++ b/buildAndRun.sh @@ -25,4 +25,4 @@ java -javaagent:./javaAgent/build/libs/javaAgent.jar=log:DEBUG,out:/tmp,filter:c #java "-javaagent:./javaAgent/build/libs/javaAgent.jar=log:INFO,out:/tmp,filter:nameMatche(A)" -jar ./javaExampleApp/build/libs/javaExampleApp.jar #java "-javaagent:./javaAgent/build/libs/javaAgent.jar=log:INFO,out:/tmp,filter:nameMatches(.*TestFilters[AB].*)" -jar ./javaExampleApp/build/libs/javaExampleApp.jar #java -javaagent:./javaAgent/build/libs/javaAgent.jar=log:DEBUG,out:/tmp,filter:com.github.beothorn.sorts,capture_stacktrace -jar ./javaExampleApp/build/libs/javaExampleApp.jar -#java "-javaagent:./javaAgent/build/libs/javaAgent.jar=filter:NO_FILTER,interceptConstructorFor:Test,interceptConstructorWith:com.github.beothorn.tests.Interceptor#interceptConstructor" -jar ./javaExampleApp/build/libs/javaExampleApp.jar +#java "-javaagent:./javaAgent/build/libs/javaAgent.jar=filter:NO_FILTER,interceptConstructor:Test>com.github.beothorn.tests.Interceptor#interceptConstructor" -jar ./javaExampleApp/build/libs/javaExampleApp.jar diff --git a/javaAgent/src/main/resources/com/github/beothorn/agent/index.html b/javaAgent/src/main/resources/com/github/beothorn/agent/index.html index 2e2b3af..f611317 100644 --- a/javaAgent/src/main/resources/com/github/beothorn/agent/index.html +++ b/javaAgent/src/main/resources/com/github/beothorn/agent/index.html @@ -8,7 +8,7 @@