3202: Fix RA_PROF and replace ra_cli mentions r=matklad a=lnicola



Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
This commit is contained in:
bors[bot] 2020-02-17 20:10:19 +00:00 committed by GitHub
commit 9053003e3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 19 deletions

View file

@ -74,7 +74,7 @@ impl Args {
ra-cli-parse
USAGE:
ra_cli parse [FLAGS]
ra_lsp_server parse [FLAGS]
FLAGS:
-h, --help Prints help inforamtion
@ -94,7 +94,7 @@ FLAGS:
ra-cli-symbols
USAGE:
ra_cli highlight [FLAGS]
ra_lsp_server highlight [FLAGS]
FLAGS:
-h, --help Prints help inforamtion"
@ -113,7 +113,7 @@ FLAGS:
ra-cli-highlight
USAGE:
ra_cli highlight [FLAGS]
ra_lsp_server highlight [FLAGS]
FLAGS:
-h, --help Prints help information
@ -133,7 +133,7 @@ FLAGS:
ra-cli-analysis-stats
USAGE:
ra_cli analysis-stats [FLAGS] [OPTIONS] [PATH]
ra_lsp_server analysis-stats [FLAGS] [OPTIONS] [PATH]
FLAGS:
-h, --help Prints help information
@ -168,10 +168,10 @@ ARGS:
if matches.contains(["-h", "--help"]) {
eprintln!(
"\
ra_cli-analysis-bench
ra_lsp_server-analysis-bench
USAGE:
ra_cli analysis-bench [FLAGS] [OPTIONS] [PATH]
ra_lsp_server analysis-bench [FLAGS] [OPTIONS] [PATH]
FLAGS:
-h, --help Prints help information
@ -207,7 +207,7 @@ ARGS:
ra-cli
USAGE:
ra_cli <SUBCOMMAND>
ra_lsp_server <SUBCOMMAND>
FLAGS:
-h, --help Prints help information

View file

@ -351,13 +351,13 @@ impl Drop for Scope {
/// 2. Build with `cpu_profiler` feature.
/// 3. Tun the code, the *raw* output would be in the `./out.profile` file.
/// 4. Install pprof for visualization (https://github.com/google/pprof).
/// 5. Use something like `pprof -svg target/release/ra_cli ./out.profile` to see the results.
/// 5. Use something like `pprof -svg target/release/ra_lsp_server ./out.profile` to see the results.
///
/// For example, here's how I run profiling on NixOS:
///
/// ```bash
/// $ nix-shell -p gperftools --run \
/// 'cargo run --release -p ra_cli -- parse < ~/projects/rustbench/parser.rs > /dev/null'
/// 'cargo run --release -p ra_lsp_server -- parse < ~/projects/rustbench/parser.rs > /dev/null'
/// ```
#[derive(Debug)]
pub struct CpuProfiler {

View file

@ -113,7 +113,7 @@ communication, and `print!` would break it.
If I need to fix something simultaneously in the server and in the client, I
feel even more sad. I don't have a specific workflow for this case.
Additionally, I use `cargo run --release -p ra_cli -- analysis-stats
Additionally, I use `cargo run --release -p ra_lsp_server -- analysis-stats
path/to/some/rust/crate` to run a batch analysis. This is primarily useful for
performance optimizations, or for bug minimization.
@ -157,7 +157,7 @@ There's also two VS Code commands which might be of interest:
# Profiling
We have a built-in hierarchical profiler, you can enable it by using `RA_PROF` env-var:
We have a built-in hierarchical profiler, you can enable it by using `RA_PROFILE` env-var:
```
RA_PROFILE=* // dump everything
@ -165,17 +165,17 @@ 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.
In particular, I have `export RA_PROFILE='*>10'` in my shell profile.
To measure time for from-scratch analysis, use something like this:
```
$ cargo run --release -p ra_cli -- analysis-stats ../chalk/
$ cargo run --release -p ra_lsp_server -- analysis-stats ../chalk/
```
For measuring time of incremental analysis, use either of these:
```
$ cargo run --release -p ra_cli -- analysis-bench ../chalk/ --highlight ../chalk/chalk-engine/src/logic.rs
$ cargo run --release -p ra_cli -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0
$ cargo run --release -p ra_lsp_server -- analysis-bench ../chalk/ --highlight ../chalk/chalk-engine/src/logic.rs
$ cargo run --release -p ra_lsp_server -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0
```

View file

@ -147,10 +147,6 @@ different from data on disk. This is more or less the single really
platform-dependent component, so it lives in a separate repository and has an
extensive cross-platform CI testing.
### `crates/ra_cli`
A CLI interface to rust-analyzer, mainly for testing.
## Testing Infrastructure
Rust Analyzer has three interesting [systems