sapling/common
Shrikrishna Khare ec85a8b308 spawn thread to publish stats
Summary:
wedge_agent uses ThreadLocal stats update API to avoid the overhead of
acquiring lock for each stat update. Prior to this patch, wedge_agent used its
own StatsPublisher class which called publishStats every second. StatsPublisher
also asserted if startPublishThread is not running as StatsPublisher was doing
the stats publish.

However, there is no reason for wedge_agent to publish stats on its own.
Instead, the wedge_agent could use startPublishThread mechanism.

With D14255180, servicerouter/dispatcher now calls startPublishThread, which
started hitting in the aforementioned ASSERT in StatsPublisher.

This patch fixes it by having wedge_agent start the publish thread by calling
startPublishThread. Among other things, StatsPublisher also updated route stats
and port info. That functionality is moved to updateStats.

Differential Revision: D14388119

fbshipit-source-id: 503d08f12131317592be64e46243401d8a2e5bae
2019-03-09 10:14:46 -08:00
..
fb303 watchman: pull in thrift in the oss build for eden support 2019-02-04 21:37:47 -08:00
logging fix oss sandcastle job 2017-12-22 09:21:44 -08:00
network/if Completely redo CMakeFiles.txt and getdeps.sh for new thrift 2017-10-17 00:35:03 -07:00
stats spawn thread to publish stats 2019-03-09 10:14:46 -08:00
time enable BST stats by default 2019-01-25 10:37:57 -08:00
.gitignore watchman: pull in thrift in the oss build for eden support 2019-02-04 21:37:47 -08:00
CMakeLists.txt add CMake build files 2018-04-30 14:37:46 -07:00
README.md Add fb303 stubs in common/ to support building in the opensource repo 2017-03-17 17:08:05 -07:00

This directory mostly contains stub implementations of Facebook libraries that are not fully open source yet. These stubs allow the FBOSS code to build while we are still working on fully open sourcing these libraries.

The code in common/stats is the main piece that is not fully open source yet. We are working to eventually make all of this code available in the facebook/folly repository.