Age | Commit message (Collapse) | Author |
|
Reviewed By: lnyng
Differential Revision: D54754806
|
|
Summary: URL popup is no longer used internally. Let's remove it.
Reviewed By: dschatzberg
Differential Revision: D54697749
fbshipit-source-id: 479ae6915267e6f8cb1984e1b3a79ee03a19bae6
|
|
Summary:
Add exitstat vmtest to make sure we keep the bpf program working on
different kernel versions.
Reviewed By: dschatzberg
Differential Revision: D54585856
fbshipit-source-id: 1b63bb2ad88a1ddefe2697a3d30377696707f80b
|
|
Reviewed By: boyuni
Differential Revision: D54599673
fbshipit-source-id: c439c381e084b2ae3ce310c7a33ce098eefa8f63
|
|
Summary:
Prod below is failing to load the exitstat bpf prog. This should fix
it.
Reviewed By: lnyng
Differential Revision: D54558876
fbshipit-source-id: ef61aff5614d5999b8bbd2d0e06b3a61e154c7bf
|
|
Summary:
This diff is part of the codemod for https://fb.workplace.com/groups/rust.language/posts/25780668961555042.
Generated using the code in P1191436630 and the procedure from D54430332.
Reviewed By: zertosh
Differential Revision: D54468057
fbshipit-source-id: 0d1065af1ccb3eafd7ce76e6863fbf4a89f3d0e6
|
|
Summary:
building the "renderdag" package (fbcode/eden/scm/lib/renderdag/Cargo.toml) fails with
```lang=php,counterexample
error[E0277]: the trait bound `InternalBitFlags: Serialize` is not satisfied
--> /data/users/shaynefletcher/fbsource/fbcode/eden/scm/lib/renderdag/src/render.rs:213:46
```
this diff resolves the issue by enabling the `serde` feature on the bitflags crate
Reviewed By: capickett
Differential Revision: D54067851
fbshipit-source-id: 2f6ababbae0c4667e4896f03a2fb39c973de535c
|
|
Summary: store totals of caches and size in artificial TOTAL slab entry
Reviewed By: lnyng
Differential Revision: D53294315
fbshipit-source-id: 2c96a64930311278d5ba5e428bce8bae1d727456
|
|
Summary:
The build was broken because as of D53102023, libbpf-rs no longer provided the
novendor feature, as it was replaced with the proper set of default features.
With this change we explicitly enable said default features by this program's
default feature.
Furthermore, to make no-vendor do the right thing, require that it be used
*without* default features via the build script. This is admittedly a breaking
change, but it seems to be unavoidable: there is no sensible way to combine
negative features ("no<...>") with positive ones. Cargo strongly suggests that
all features be additive in nature, and no-vendor violates that. However, that
can't be easily fixed, because of zstd's feature set.
Reviewed By: dtolnay
Differential Revision: D53323353
fbshipit-source-id: b36a7a84892e5b6ec2a4888649b6c737148d6a9b
|
|
Summary:
The comment inside the build script is misleading: The issue referenced
won't resolve the problem indicated. However, if we switch to using the
include! macro for sourcing the generated skeleton, we can use the
$OUT_DIR variable just fine.
Reviewed By: dtolnay
Differential Revision: D53323352
fbshipit-source-id: c83fae5f35bc01bea4dafde71128256bf1fb10cb
|
|
Summary:
Pull in the most recent snapshot of libbpf-rs and, more importantly, keep
libbpf-rs and libbpf-cargo in sync. In this snapshot libbpf-cargo removed the
novendor feature in favor of having a default feature that can be disabled.
Reviewed By: dtolnay
Differential Revision: D53323354
fbshipit-source-id: 5165e1476017ad321ee1fe107d8550aa3cadaa71
|
|
Summary:
Update libbpf-sys to version 1.3.0+v1.3.0. This release includes libbpf in
version v1.3.0, which is what we were waiting on. Because this release contains
some incompatibilities, we also have to update libbpf-rs to the most recent
snapshot. A new libbpf-rs release will come once sufficient features have
accumulated.
Reviewed By: shayne-fletcher
Differential Revision: D53102023
fbshipit-source-id: 47b74d38b04237d4d5ba1f93fe19e83b9d2b6125
|
|
Summary:
Slabinfo was added as non-optional. When it's missing (e.g. from past
samples) below will fail reading the samples.
Instead if it's missing make it deserialize to default empty map.
Reviewed By: lnyng
Differential Revision: D53205190
fbshipit-source-id: 5d55c9faf5b90e7834c13f60f9b5b758fef7883e
|
|
Summary: Below starts to collect /proc/slabinfo, store it, and display it in UI. Also supported by dump and other commands.
Reviewed By: brianc118
Differential Revision: D53074160
fbshipit-source-id: 878b5c59bb957da65d920301bfe33fc08b2678b0
|
|
Summary: Add function to read /proc/slabinfo
Reviewed By: brianc118
Differential Revision: D53074161
fbshipit-source-id: c8831237b4709a79d40abebf2f69faee5cdbe017
|
|
Summary:
## Motivation
Since the latest compiler update, we are getting `clippy::bad_bit_mask` errors at the callsites of `bitflags!` macros where one of the variant is zero.
[Upstream won't address it in the `1.x` branch](https://github.com/bitflags/bitflags/pull/373) and recommends upgrading to the `2.x` branch.
We are very close to reaching **zero clippy lints** in [Mononoke and other servers](https://fburl.com/code/pd76yn5e), which would feel nice.
## Specific categories of changes (in case it helps with the code review)
The change from `1.x` to `2.x` introduces a number of backward compatibility breakages which I had to workaround in our codebase.
See [the release notes for 2.0](https://github.com/bitflags/bitflags/releases/tag/2.0.0) for the explanation for the manual fixes I had to perform at each call site.
---
**Adding traits to derive:**
```
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy)]
```
> Generated flags types now derive fewer traits. If you need to maintain backwards compatibility, you can derive the following yourself:
---
**Replacing read uses of `.bits` with `.bits()`**
> You can now use the .bits() method instead of the old .bits.
> The representation of generated flags types has changed from a struct with the single field bits to a newtype.
---
**Replacing raw setting of `.bits` with `.from_bits_retain()`**
Due to the point above, the representation of the type is not exposed anymore. From [the documentation](https://docs.rs/bitflags/latest/bitflags/example_generated/struct.Flags.html#method.from_bits_retain), `from_bits_retain` "convert from a bits value exactly", which matches the old behaviour
---
**Replacing the unsafe `from_bits_unchecked` method with `from_bits_retain`**
> The unsafe from_bits_unchecked method is now a safe from_bits_retain method.
---
**Extracting some structs outside of the `bitflags!` macro**
Apart from the derives that `bitflags` knows about, such as `serde`, `bitflags` now can't deal with custom derives in macros with the previous syntax. I followed the recommendation from [their documentation](https://docs.rs/bitflags/latest/bitflags/index.html#custom-derives) to declare the `struct` ahead of of the macro call and only declare the `impl` block inside the macro.
---
**Changes to test output**
This does not stand out in the release notes, but as of [this upstream PR](https://github.com/bitflags/bitflags/pull/297), the `Debug` output of generated bitflags has changed. This means any tests that rely on this (and of course, there are a few) needed updating.
In particular, the `vespa` tests rely on that output in a non-obvious way. You might have to trust me (and CI) on these ones...
Reviewed By: dtolnay
Differential Revision: D49742979
fbshipit-source-id: c818c37af45f0964e8fdb7ec6173ad66bb982c00
|
|
Summary:
Another attempt to enable the option.
[We agreed](https://fb.workplace.com/groups/rust.language/posts/24184800024475285) we want it everywhere by default.
# Help us, help yourself
If you can help enabling this option, consider running this command ahead of time:
```
hg files . -I 'your_project/**/*.rs' | \
xargs arc rustfmt --config format_code_in_doc_comments=true
```
Fix the which is not landed yet:
```
hg st --rev .~1 -n -ma -I '**/*.rs' | \
xargs arc rustfmt --config format_code_in_doc_comments=true
```
Fix the stack of commits: checkout the top commit, and then:
```
# must include changes from D52632478
fbcode/scripts/nga/stack-rustfmt-new
```
# Previous attempt
D42766542
Reviewed By: zertosh, dtolnay
Differential Revision: D52632085
fbshipit-source-id: f45998c76076470d66339eb99f585856d2114999
|
|
Summary:
below was creating and destroying a large number of very short lived
threads. This was creating enough threads that just the creation of
the threads was consuming 0.1% CPU and spawning ~60 threads a minute
on average.
Reviewed By: dschatzberg
Differential Revision: D45800206
fbshipit-source-id: c56c3eb224c1ea413fbd2e44d555872aea3ef368
|
|
Summary: Add viewrc view option `cgroup_name_width` to configure cgroup view name column width, so that long cgroup names could be displayed properly.
Reviewed By: brianc118
Differential Revision: D52575584
fbshipit-source-id: d46df8ca81f911d9c4151c3c85d09942a8831242
|
|
Summary: Move viewrc process logics to individual components so that they can be done at component initialization.
Reviewed By: brianc118
Differential Revision: D52575586
fbshipit-source-id: e2955d0a8b17132f679b464283f844dabfbc77ca
|
|
Summary:
Currently per-process stats are only tagged with PID. While PID is useful, it's often even more useful for users to see the process/thread name. Otherwise it's anyone's guess what's actually running.
Pull Request resolved: https://github.com/facebookincubator/below/pull/8218
Reviewed By: lnyng
Differential Revision: D52543538
Pulled By: brianc118
fbshipit-source-id: c0403ca3d1fb325da792275d2cb5ba827fdfb98a
|
|
Differential Revision: D52537459
fbshipit-source-id: 5125980696493b9b411e792fa6bdfd78c2472afd
|
|
Summary: Pull Request resolved: https://github.com/facebookincubator/below/pull/8217
Reviewed By: lnyng
Differential Revision: D52448660
fbshipit-source-id: 6753510180356ce8a1574f5db4f128c7cd1cb495
|
|
Summary:
## Why
```
UNMAINTAINED RUSTSEC-2023-0040 - 2023-06-01: `users` crate is unmaintained
Package: users 0.11.0
The `users` crate hasn't seen any action since 2020-10-08. The developer seems [MIA] since.
## Recommended alternatives
- [`uzers`]
- [`sysinfo`]
[MIA]: https://github.com/ogham/rust-users/issues/54
[`uzers`]: https://crates.io/crates/uzers
[`sysinfo`]: https://crates.io/crates/sysinfo
```
`uzers` is the community-owned continuation under the `rustadopt` GitHub org. It's seen active development & maintenance since the adoption, has ~13k downloads per month (according to https://lib.rs/crates/uzers), and is one of the recomended alternatives to `users` see RUSTSEC above).
Reviewed By: dtolnay
Differential Revision: D52480103
fbshipit-source-id: 56066d78b7eda9bad00250fbfc06fc095d8c6036
|
|
Summary:
Note: `clap-verbosity-flag` was bumped to use Clap 4 (from Clap 3) in `clap-verbosity-flag=2.0.0`.
There are exactly 3 uses of `clap-verbosity-flag` in `fbcode`, so I'm just upgrading to 1.0.1. Trying to upgrade its users to `clap-4` (or heaven forbid, introducing another double-vendor) is not worth it.
Reviewed By: diliop
Differential Revision: D52479672
fbshipit-source-id: 4a17aeecabd5d3c38d5f96d94af52ad4f7b0e387
|
|
Summary: Pull Request resolved: https://github.com/facebookincubator/below/pull/8216
Reviewed By: boyuni
Differential Revision: D52446721
fbshipit-source-id: 727065a638459298e6609633eb7d755b2ef2da84
|
|
Summary:
GPU stats collection is broken. User report:
https://fb.workplace.com/groups/505463673566896/permalink/1501842497262337/
Looking at logs, looks like it's related to tokio/srclient: P944160448.
D52063174 affectively forces us to use tokio runtime. This is not the
first time is has happened (see
https://fb.workplace.com/groups/rust.language/posts/6113510662030831/?comment_id=6140563555992208).
Reviewed By: boyuni
Differential Revision: D52445399
fbshipit-source-id: 95027f74bf5898c97f46f2bd3d94379a83ebd625
|
|
Summary:
Generated changes from {D52231478}.
NOTE: This needs to be folded into the MSDK-built autocargo binary diff. https://www.internalfb.com/intern/msdk/bump/?schedule_fbid=342556550408072
Reviewed By: zertosh
Differential Revision: D52231497
fbshipit-source-id: baadabc9dfabeb2ab0232568c2e4bf4df55e26eb
|
|
Summary: Pull Request resolved: https://github.com/facebookincubator/below/pull/8215
Reviewed By: antonis-m
Differential Revision: D52055696
Pulled By: brianc118
fbshipit-source-id: 4c6afc22c89ab21d18b018c5b8294f1f2420375e
|
|
Summary:
Update both `libbpf-rs` and `libbpf-cargo` to version `0.22.0`. The skeleton
generation code introduced separate `*_mut()` variants for a few accessors, so
we have to adjust a few clients.
Reviewed By: zertosh
Differential Revision: D51856567
fbshipit-source-id: 92ab0759f16f472ce02854272875983498deb926
|
|
Summary: Pull Request resolved: https://github.com/facebookincubator/below/pull/8214
Reviewed By: dschatzberg
Differential Revision: D51910582
fbshipit-source-id: c19dd467d753671fe42b5a3542c29069e23dc321
|
|
Summary:
Add support for collecting data from resctrl filesystem (see
https://www.kernel.org/doc/html/v6.4/arch/x86/resctrl.html).
Reviewed By: dschatzberg
Differential Revision: D51767787
fbshipit-source-id: 385024d71d5ceccfe43f03e69e81359b35667b74
|
|
Summary:
Add crate for reading /sys/fs/resctrl.
https://www.kernel.org/doc/html/v6.4/arch/x86/resctrl.html
Reviewed By: dschatzberg
Differential Revision: D51438295
fbshipit-source-id: 83b1b147b3a61e36fee2b581bf8634a203d5300c
|
|
Summary:
Display `kernel` field from `memory.stat` - kernel memory used by cgroup.
This was added in 5.18: https://github.com/torvalds/linux/commit/a8c49af3be5f0
This field is not present in `memory.numa.stat`
Reviewed By: brianc118
Differential Revision: D51832461
fbshipit-source-id: 98ca0561e05bb626edd3e0f285756191e0cc783c
|
|
Summary:
Release notes: https://blog.rust-lang.org/2023/10/05/Rust-1.73.0.html
This release is coupled with an update of the `anyhow` and `thiserror` crates because the unstable standard library API for backtraces has changed.
Fbcode changes:
- `feature(default_free_fn)` deleted (D50300881)
- `noop_method_call` lint becomes warn-by-default (D50486032, D50516201)
- stronger `invalid_reference_casting` detection (D50488164)
- `feature(unix_chown)` has been stabilized
- `feature(provide_any)` and `std::provider` deleted
- `clippy::unwrap_or_else_default` renamed to `clippy::unwrap_or_default`
- type inference ambiguities (D51780425)
- `nu-command` build error (D51779062)
Reviewed By: AndreasBackx, shayne-fletcher
Differential Revision: D50294321
fbshipit-source-id: 0fac87f6ba072ad029f9ce41ce94ed813e855b20
|
|
Reviewed By: dtolnay
Differential Revision: D51692353
fbshipit-source-id: 44864a348711875983de81758bbe05b46ad4c604
|
|
Summary:
This release includes a fix to `proc_macro2::Ident::new` to report invalid input at the call site using #[track_caller], instead of inside proc-macro2 code.
This affects LLVM staging (which is LLVM 18) because old bindgen (<0.62.0) is incompatible with Clang 16+, manifesting as panicks in `Ident::new`. See {D40685340}.
**Before:**
```
Action failed: fbsource//third-party/rust:loopdev-0.4.0-build-script-run (buildscript)
thread 'main' panicked at '"enum_(unnamed_at_/usr/include/linux/loop_h_21_1)" is not a valid Ident', third-party/rust/vendor/proc-macro2-1.0.69/src/fallback.rs:817:9
Action failed: fbsource//third-party/rust:virt-sys-0.1.0-build-script-run (buildscript)
thread 'main' panicked at '"_virTypedParameter_union_(unnamed_at___/__/__/__/__/__/fbcode/ca3f1b68f56b9220/third-party-buck/platform010/build/libvirt/__include__/include/include/libvirt/libvirt-common_h_206_5)" is not a valid Ident', third-party/rust/vendor/proc-macro2-1.0.69/src/fallback.rs:817:9
```
**After:**
```
Action failed: fbsource//third-party/rust:loopdev-0.4.0-build-script-run (buildscript)
thread 'main' panicked at '"enum_(unnamed_at_/usr/include/linux/loop_h_21_1)" is not a valid Ident', third-party/rust/vendor/bindgen-0.59.2/src/ir/context.rs:878:9
Action failed: fbsource//third-party/rust:virt-sys-0.1.0-build-script-run (buildscript)
thread 'main' panicked at '"_virTypedParameter_union_(unnamed_at___/__/__/__/__/__/fbcode/ca3f1b68f56b9220/third-party-buck/platform010/build/libvirt/__include__/include/include/libvirt/libvirt-common_h_206_5)" is not a valid Ident', third-party/rust/vendor/bindgen-0.59.2/src/ir/context.rs:878:9
```
Of course, that panic still needs to be fixed properly. I will pursue that next. But at least the location of the faulty code is reported correctly.
Reviewed By: zertosh
Differential Revision: D51633230
fbshipit-source-id: db9794ed4ea70f773925bdaf9a11de289d2aa25c
|
|
Summary:
X-link: https://github.com/facebookresearch/Private-ID/pull/119
We should probably lint against using an `.enter()` guard over `.await` points for the reasons outlined in https://docs.rs/tracing/latest/tracing/struct.Span.html#in-asynchronous-code.
Reviewed By: zertosh
Differential Revision: D50528695
fbshipit-source-id: 82fcc97a83b5d820c8673e6f56794dc47fd4d77f
|
|
Summary:
Goal: Error in recording one of the network stats should not result in completely empty network stats.
A process died and recording `snpm6` stats failed for that process which resulted in none of network stats being recorded. Error:
```
Sep 26 21:11:49 ip-10-66-6-18 below[21496]: Sep 27 04:11:49.866 ERRO Os { code: 2, kind: NotFound, message: "No such file or directory" }: "/proc/21496/net/snmp6"
```
Pull Request resolved: https://github.com/facebookincubator/below/pull/8212
Reviewed By: dschatzberg
Differential Revision: D51032506
Pulled By: brianc118
fbshipit-source-id: 9b9850dd6f41bbe1f4578872b95c2ff2f14f64be
|
|
Summary: Updates clap crates to latest versions. clap-verbosity-flag does not fall under CLI Foundation's "maintenance" as of writing if you're wondering why that wasn't updated.
Reviewed By: zertosh
Differential Revision: D51069867
fbshipit-source-id: ca5f75c2c3087017b5bde1b32ae0c2016420b9b6
|
|
Summary:
This makes sure newer versions of below play nicely with older.
Currently, on using newer version of below to parse snapshots recorded by earlier versions, it fails with error:
```
Nov 03 03:29:23.169 WARN Failed to deserialize data frame: missing field `ethtool`
Nov 03 03:29:23.170 WARN Failed to deserialize data frame: missing field `ethtool`
...
```
This change makes sure, error isn't thrown and `ethtool` is set as `None` in the sample.
Pull Request resolved: https://github.com/facebookincubator/below/pull/8211
Reviewed By: lnyng
Differential Revision: D50986370
Pulled By: brianc118
fbshipit-source-id: b5c14903b9cec5259d4a36e1180a6ffd42c822db
|
|
Summary:
The PR is broken into modular commits, so it might be easier to review the PR commit-by-commit.
Commit: [Add crate for reading NIC stats using ethtool](https://github.com/facebookincubator/below/commit/965795c0c1b2675cc22cf781a80f5e06cdbea50a)
- Adds the library support to read and parse `ethtool` stats using `ioctl`
- Parses some common stats into fields while others are stored as raw stats
Commit: [Add model to represent ethtool stats](https://github.com/facebookincubator/below/commit/66dbb26ab612d3f87131aabbbf6bd33112234c90)
- Adds the model struct and parsing logic to convert `ethtool` stats into a sub-model in existing `network.interface` model
Commit: [Add render configs for ethtool fields](https://github.com/facebookincubator/below/commit/9401fed6922f1c843d1ae0ed3e1949cf37b26fad)
- Updates and adds the required commands for dumping new fields and model
- Adds the parsing for rendering the new fields and model
Commit: [Add ability for printing raw_stats in OpenMetrics format](https://github.com/facebookincubator/below/commit/7d6349efa2d1d72795d3e6a18417384e44113fb2)
- Modifies the printing logic of `OpenMetrics` format to handle a map type
Pull Request resolved: https://github.com/facebookincubator/below/pull/8204
Reviewed By: brianc118
Differential Revision: D50714625
Pulled By: dschatzberg
fbshipit-source-id: 156f3054944d86fe489bd9ca5bfb3023d1e02c26
|
|
Summary: Upgrading `toml` from `0.7.3` to `0.8.4`
Reviewed By: zertosh
Differential Revision: D50704691
fbshipit-source-id: 2958ea5a5495430f89cc3255ae19097eb0fed917
|
|
Differential Revision:
D50616780
Original commit changeset: aa35720d2545
Original Phabricator Diff: D50616780
fbshipit-source-id: 632a66b97aaf25a04d6c329a6cfcdf337e1cdcf0
|
|
Summary: Upgrading `toml_edit` from `0.19.8` to `0.20.4` and `toml` from `0.7.3` to `0.8.4`
Reviewed By: zertosh
Differential Revision: D50616780
fbshipit-source-id: aa35720d2545de3315b64f0d2042b7e6cb328f50
|
|
Summary: This is needed for D50668794, which is updating webauthn-rs
Reviewed By: zertosh
Differential Revision: D50678571
fbshipit-source-id: b7aadd10b7c44377bd04363cf6105c93ecebd302
|
|
Reviewed By: shayne-fletcher
Differential Revision: D50529920
fbshipit-source-id: 444774ef543c2d0b4cd8e3d82cf4addf1435e6ca
|
|
Summary:
`tempdir` has been deprecated since 2018:
https://github.com/rust-lang-deprecated/tempdir/pull/46
It's functionality was merged into `tempfile` with minor tweaks:
- Methods names: `new` -> `with_prefix`, `new_in` -> `with_prefix_in`.
- `with_prefix_in`'s args order is reversed.
- Temp dirs no longer have a period between the prefix and the random
name (before `foo.123abc`, now `foo123abc`).
Reviewed By: capickett
Differential Revision: D50514209
fbshipit-source-id: a50e9f1c0c78a2642bae8edbb6098b3f04c89969
|
|
Summary:
Update these crates since I want some new features, and remove zstd-legacy-mononoke since it's no longer needed.
Notable changes for existing users of zstd_safe:
* `ZSTD_getFrameContentSize` is now provided by [`zstd_safe::get_frame_content_size`](https://docs.rs/zstd-safe/7.0.0/zstd_safe/fn.get_frame_content_size.html)
* `zstd_safe::get_frame_content_size` returns a `Result<Option<u64>>` instead of some special hardcoded numbers (logic is the same though)
* `ZSTD_DStreamOutSize` is now provided by [`zstd_safe::DStream::out_size`](https://docs.rs/zstd-safe/7.0.0/zstd_safe/type.DStream.html#method.out_size)
Reviewed By: markbt
Differential Revision: D50394320
fbshipit-source-id: 3238ec179bef7bc6659506d97b870e0acdb5e86a
|
|
Summary: As titled
Reviewed By: lnyng
Differential Revision: D50416303
fbshipit-source-id: 6defce80ea8a3efe2e155a38c30bfeca591a70d1
|