Currently, we can provide the sampling duration at the time of building configuration and then we provide that configuration to PyroscopeAgent.start(config) method.
But i didn't find any method/api so that i can change the sampling duration/sampling rate after starting the agent without restarting the app.
Please let me know if we can achieve this behavior already and i have missed it or it is not possible for now with current code.
Thanks.
PyroscopeAgent.start(
new Config.Builder()
.setApplicationName("app-java")
.setProfilingEvent(EventType.ITIMER)
.setFormat(Format.JFR)
//pyroscope is service name
// pyroscope-test is namespace in which pyroscope service is running and listening for profiling data
.setServerAddress("http://pyroscope.pyroscope-test.cluster.local:4040")
// Optionally, if authentication is enabled, specify the API key.
// .setAuthToken(System.getenv("PYROSCOPE_AUTH_TOKEN"))
// Optionally, if you'd like to sets allocation threshold to register events, in bytes. '0' registers all events
// .setProfilingAlloc("0")
.setSamplingDuration(Duration.ofSeconds(1))
.build()
);
Currently, we can provide the sampling duration at the time of building configuration and then we provide that configuration to PyroscopeAgent.start(config) method.
But i didn't find any method/api so that i can change the sampling duration/sampling rate after starting the agent without restarting the app.
Please let me know if we can achieve this behavior already and i have missed it or it is not possible for now with current code.
Thanks.