Homec4science

Implement kvcache profiling with a proxy instead of in each cache

Authored by epriestley <git@epriestley.com> on Dec 30 2012, 22:43.

Description

Implement kvcache profiling with a proxy instead of in each cache

Summary:
We have a lot of profiler code duplication right now for a very marginal benefit (slightly better information about cache access from Memcache caches). Instead, use a Proxy to implement profiling on top of caches, then delete the four copies of the cache code from the APC, memory, disk and request caches.

(This is motivated by wanting to add a new cache for Diviner, which would have meant copy/pasting all this code again. I also anticipate other uses for proxies: prefixing all keys; isolating writes for tests.)

Test Plan: Ran unit tests.

Reviewers: btrahan, vrana

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T988

Differential Revision: https://secure.phabricator.com/D4287

Details

Committed
epriestley <git@epriestley.com>Dec 30 2012, 22:43
Pushed
aubortMar 17 2017, 12:03
Parents
rPHU676009778bd2: Fix a bug where an ExecFuture might hang on __destruct() if its process holds…
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPHUba927e22f984: Implement kvcache profiling with a proxy instead of in each cache (authored by epriestley <git@epriestley.com>).Dec 30 2012, 22:43