about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/docs/dev
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-10-04 17:59:02 +0000
committerbors <bors@rust-lang.org>2024-10-04 17:59:02 +0000
commitfe2b453c9747de5b7d47f0545bb4c6c3d0beed02 (patch)
treeadc8670e039aae5e82bf2245a266886b2f6b295c /src/tools/rust-analyzer/docs/dev
parentfae34e062eb6d57b9a35e0368776713f412f81b0 (diff)
parenta5a4d1a95bbf4980275501c78246c10af0311c5e (diff)
downloadrust-fe2b453c9747de5b7d47f0545bb4c6c3d0beed02.tar.gz
rust-fe2b453c9747de5b7d47f0545bb4c6c3d0beed02.zip
Auto merge of #18227 - davidbarsky:davidbarsky/push-lmntvwvznyyx, r=davidbarsky
internal: add json `tracing` Layer for profiling startup

On `buck2/integrations/rust-project`, this results in the following being printed:

```json
{"name":"discover_command","elapsed_ms":18703}
{"name":"parallel_prime_caches","elapsed_ms":0}
{"name":"vfs_load","elapsed_ms":5895}
{"name":"vfs_load","elapsed_ms":547}
{"name":"parallel_prime_caches","elapsed_ms":23}
{"name":"parallel_prime_caches","elapsed_ms":84}
{"name":"parallel_prime_caches","elapsed_ms":5819}
```
Diffstat (limited to 'src/tools/rust-analyzer/docs/dev')
-rw-r--r--src/tools/rust-analyzer/docs/dev/README.md10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/docs/dev/README.md b/src/tools/rust-analyzer/docs/dev/README.md
index 002b8ba2a66..12e6d829a08 100644
--- a/src/tools/rust-analyzer/docs/dev/README.md
+++ b/src/tools/rust-analyzer/docs/dev/README.md
@@ -178,7 +178,15 @@ RA_PROFILE=foo|bar|baz   // enabled only selected entries
 RA_PROFILE=*@3>10        // dump everything, up to depth 3, if it takes more than 10 ms
 ```
 
-In particular, I have `export RA_PROFILE='*>10'` in my shell profile.
+Some rust-analyzer contributors have `export RA_PROFILE='*>10'` in my shell profile.
+
+For machine-readable JSON output, we have the `RA_PROFILE_JSON` env variable. We support
+filtering only by span name:
+
+```
+RA_PROFILE=* // dump everything
+RA_PROFILE_JSON="vfs_load|parallel_prime_caches|discover_command" // dump selected spans
+```
 
 We also have a "counting" profiler which counts number of instances of popular structs.
 It is enabled by `RA_COUNT=1`.