Skip to content

Commit 8bae1ec

Browse files
author
Ariel Ben-Yehuda
committed
improve non-standard runtime configuration docs
1 parent fb06853 commit 8bae1ec

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,13 @@ Memory samples are not enabled by default, but can be enabled by [`with_native_m
107107

108108
### Non-standard runtime configurations
109109

110-
The profiler always profiles a process-at-once. If a program has multiple Tokio (or non-Tokio, or non-Rust)
111-
runtimes, it will profile all of them without problems.
110+
The profiler always profiles an entire process. If a program has multiple Tokio (or non-Tokio, or non-Rust)
111+
runtimes, it will profile all of them mostly without problems.
112+
113+
Even mixing native code and JVM in the same process works, no matter whether
114+
async-profiler is started from Rust or Java, though there are occasionally bugs
115+
in this area - if you are mixing native code and JVM and encountering weird
116+
problems, you should [report an issue to async-profiler].
112117

113118
The most-often used [`Profiler::spawn`] and [`Profiler::spawn_controllable`] functions assume that they are run within
114119
a Tokio runtime. The S3 reporter performs AWS SDK calls within that runtime, and therefore it
@@ -129,6 +134,7 @@ In all of these cases, the [pollcatch](#pollcatch) hooks should be enabled on th
129134
runtime where you *intend to be catching long polls on* - presumably your data-plane runtime. They do not
130135
introduce much overhead or unpredictable latency.
131136

137+
[report an issue to async-profiler]: https://github.com/async-profiler/async-profiler/issues
132138
[`Profiler::spawn`]: https://docs.rs/async-profiler-agent/0.1/async_profiler_agent/profiler/struct.Profiler.html#method.spawn
133139
[`Profiler::spawn_controllable`]: https://docs.rs/async-profiler-agent/0.1/async_profiler_agent/profiler/struct.Profiler.html#method.spawn_controllable
134140
[`Profiler::spawn_thread`]: https://docs.rs/async-profiler-agent/0.1/async_profiler_agent/profiler/struct.Profiler.html#method.spawn_thread

0 commit comments

Comments
 (0)