sapling/eden/mononoke
Kostia Balytskyi 175b9157f1 observability: fix double-filtering bug
Summary:
We should not filter based on parsed level when passiing an inner drain into
the `DynamicLevelDrain`, as in cases when the binary is ran
`--with-dynamic-observability=true`, this would default the level to `INFO` and
make the inner drain filter on that level, which would essentially make debug
logging impossible. Instead, we should pass unfiltering inner drain into
`DynamicLevelDrain`, as `DynamicLevelDrain` actually uses
`ObservabilityContext`, which when the binary is called with `--debug` or
`--level=SOMETHING` would [instantiate](https://fburl.com/diffusion/sib8ayrn) a `Static` variant, behaving just as
current static level filtering.

Note also that this bug does not affect production, as we never actually try to
control the logging levels dynamically: we always run either with `--debug` or
with `--level=SOMETHING`, which again uses `Static` variant of
`ObservabilityContext`, which in turn filters the same way as the inner drain.

Reviewed By: krallin

Differential Revision: D25783488

fbshipit-source-id: 8054863fb655dd66747b6d2306a38c13cbc64443
2021-01-05 11:41:16 -08:00
..
benchmark mononoke/bonsai_hg_mapping: get rid of futures 0.1 2020-12-17 14:30:57 -08:00
blobimport_lib convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
blobrepo mononoke: simplify open_blobrepo_given_datasources parameters 2020-12-23 02:08:22 -08:00
blobrepo_utils convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
blobstore mononoke/mysql: use single static shared connection pool 2020-12-17 15:46:30 -08:00
blobstore_sync_queue mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
bonsai_git_mapping mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
bonsai_globalrev_mapping mononoke/caching_ext: unify our cache stats reporting 2020-12-10 12:01:45 -08:00
bonsai_hg_mapping mononoke/bonsai_hg_mapping: get rid of futures 0.1 2020-12-17 14:30:57 -08:00
bookmarks mononoke: limit concurrency when putting commits to scribe queue 2020-12-17 12:14:06 -08:00
bulkops convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
cache_warmup mononoke/cache_warmup: fix a typo in logging 2021-01-05 07:39:46 -08:00
changesets mononoke/caching_ext: unify our cache stats reporting 2020-12-10 12:01:45 -08:00
cmdlib observability: fix double-filtering bug 2021-01-05 11:41:16 -08:00
cmds mononoke: add a method to return common pushrebase bookmarks in CommitSyncer 2021-01-04 23:29:46 -08:00
commit_rewriting mononoke: add a method to return common pushrebase bookmarks in CommitSyncer 2021-01-04 23:29:46 -08:00
common observability: add scuba verbose logging 2021-01-05 09:21:38 -08:00
derived_data mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
edenapi_server edenapi: add full_idmap_clone endpoint 2020-12-08 18:30:24 -08:00
fastreplay mononoke/mysql: make mysql options not copyable 2020-12-17 15:46:30 -08:00
filenodes rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
filestore mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
git mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
gotham_ext autocargo: regen 2020-12-08 18:30:24 -08:00
hgcli mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
hgproto unit test for dechunker raw bundle2 saving 2020-11-19 06:41:06 -08:00
hook_tailer mononoke/mysql: make mysql options not copyable 2020-12-17 15:46:30 -08:00
hooks Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
lfs_import_lib mononoke/blobstore: pass CoreContext via borrowed instead of owned value 2020-11-27 03:31:07 -08:00
lfs_protocol autocargo: regen 2020-12-08 18:30:24 -08:00
lfs_server mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
load_limiter Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
manifest mononoke/manifest: add Entry::map_leaf and Entry::map_tree 2020-12-10 03:07:45 -08:00
mercurial mononoke: track if hg is derived in walker bonsai steps 2020-12-23 02:08:21 -08:00
metaconfig Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
microwave mononoke/mysql: make mysql options not copyable 2020-12-17 15:46:30 -08:00
mononoke_api Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
mononoke_hg_sync_job Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
mononoke_types Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
mutable_counters rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
newfilenodes mononoke/caching_ext: remove 0.1 futures 2020-12-10 10:24:58 -08:00
observability observability: add scuba verbose logging 2021-01-05 09:21:38 -08:00
permission_checker bypassing hooks for members of scm 2020-10-29 10:14:25 -07:00
phases mononoke/phases: remove futures 0.1 2020-12-17 14:30:57 -08:00
pushrebase convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
reachabilityindex mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
regenerate_hg_filenodes convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
repo_client mononoke: use get_common_pushrebase_bookmarks from CommitSyncer 2021-01-04 23:29:46 -08:00
repo_import convert BlobRepoHg to new type futures 2020-12-17 07:45:26 -08:00
revset mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
scs_server mononoke: log public commits to scribe from scs move/create_bookmark method 2020-12-17 00:19:00 -08:00
segmented_changelog segmented_changelog: add comments around IdMap insert expectations 2020-12-23 16:51:08 -08:00
server observability: add scuba verbose logging 2021-01-05 09:21:38 -08:00
sshrelay autocargo: regen 2020-12-08 18:30:24 -08:00
tests mononoke/cache_warmup: fix a typo in logging 2021-01-05 07:39:46 -08:00
time_window_counter mononoke/lfs_server: popularity: add ODS counters, timeouts and tests 2020-07-15 03:39:23 -07:00
tunables mononoke/integration: make integration tests work under @mode/dev-rust-oss 2020-12-18 06:13:32 -08:00
unbundle_replay mononoke/mysql: make mysql options not copyable 2020-12-17 15:46:30 -08:00
walker Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
Cargo.toml Update regex to v1.4.2 2020-12-29 22:59:52 -08:00
README.md mononoke: add README.md and the missing pieces for supporting cargo (#13) 2020-02-13 00:12:36 -08:00

Mononoke

Mononoke is a next-generation server for the Mercurial source control system, meant to scale up to accepting thousands of commits every hour across millions of files. It is primarily written in the Rust programming language.

Caveat Emptor

Mononoke is still in early stages of development. We are making it available now because we plan to start making references to it from our other open source projects.

The version that we provide on GitHub does not build yet.

This is because the code is exported verbatim from an internal repository at Facebook, and not all of the scaffolding from our internal repository can be easily extracted. The key areas where we need to shore things up are:

  • Full support for a standard cargo build.
  • Open source replacements for Facebook-internal services (blob store, logging etc).

The current goal is to get Mononoke working on Linux. Other Unix-like OSes may be supported in the future