sapling/eden
Thomas Orozco 80bb3074bc mononoke/context: allow forking perf counters
Summary:
This adds support for "forking" perf counters at a point in the stack, giving
you a CoreContext that logs to one or more sets of perf counters.

This is useful for low level operations where we want to collect granular more
logging data — in particular blobstore operations, where we'd like to collect
the time spent waiting for Manifold retries or the number of Manifold retries
in blobstore trace for each individual blobstore operation (we can't do that
using the `CoreContext` we have because that would be missing

The implementation supports a list of reference counted perf counters in the
CoreContext. When you want to add a new counter, we replace the list with a new
one, and give you a reference to the one you just added. When you write, we
write to all perf counters, and when you read, we read from the "top" perf
counter (which is always there). To read from one of the forked counters, you
use the reference you got whne you created it.

Reviewed By: aslpavel

Differential Revision: D24333041

fbshipit-source-id: ce318dfc04a1ea435b2454b53df4cae93d57c0a5
2020-10-16 08:57:13 -07:00
..
fs inodes: do not ignore errors when computing sha1 2020-10-15 23:57:11 -07:00
integration inodes: do not ignore errors when computing sha1 2020-10-15 23:57:11 -07:00
locale add a copyright header to glibc_en.po 2019-04-26 14:38:27 -07:00
mononoke mononoke/context: allow forking perf counters 2020-10-16 08:57:13 -07:00
scm smartlog: stop filtering commits by date 2020-10-15 22:48:41 -07:00
scripts packaging: use scheduled tasks 2020-06-10 19:29:15 -07:00
test_support Manually upgrading eden, and fixing their config 2020-08-06 12:37:04 -07:00
test-data enable treemanifest in snapshots 2019-08-28 18:46:03 -07:00
.gitignore eden: wire up mac contbuild 2019-02-05 21:52:30 -08:00
Eden.project.toml Eden.project.toml file for Nuclide 2018-04-26 11:05:23 -07:00