diff options
| author | bors <bors@rust-lang.org> | 2024-10-04 17:59:02 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-10-04 17:59:02 +0000 |
| commit | fe2b453c9747de5b7d47f0545bb4c6c3d0beed02 (patch) | |
| tree | adc8670e039aae5e82bf2245a266886b2f6b295c /src/tools/rust-analyzer/docs/dev | |
| parent | fae34e062eb6d57b9a35e0368776713f412f81b0 (diff) | |
| parent | a5a4d1a95bbf4980275501c78246c10af0311c5e (diff) | |
| download | rust-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.md | 10 |
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`. |
