From 0bc6d7c294768c3ecc5786646f956a544c83e5c3 Mon Sep 17 00:00:00 2001 From: Mahesh Maddikayala Date: Mon, 23 Jul 2018 10:31:16 -0700 Subject: [PATCH] Add resource monitor object to fbzmq library Summary: Add resource monitor object to fbzmq library to monitor CPU and memory. User can use the object to query RSS memory, cpu usage, and optionally call API to monitor memory periodicially and crash when reaches beyond a specified threshold limit. Reviewed By: cenzhao Differential Revision: D8873504 fbshipit-source-id: a445fdd580da82c55fba09c43f46f60bb9f1149a --- build/fbcode_builder/specs/fbzmq.py | 3 ++- build/fbcode_builder/specs/sigar.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 build/fbcode_builder/specs/sigar.py diff --git a/build/fbcode_builder/specs/fbzmq.py b/build/fbcode_builder/specs/fbzmq.py index 8b47ccb65..e8f98eaca 100644 --- a/build/fbcode_builder/specs/fbzmq.py +++ b/build/fbcode_builder/specs/fbzmq.py @@ -8,6 +8,7 @@ import specs.fbthrift as fbthrift import specs.folly as folly import specs.gmock as gmock import specs.sodium as sodium +import specs.sigar as sigar from shell_quoting import ShellQuoted @@ -15,7 +16,7 @@ from shell_quoting import ShellQuoted def fbcode_builder_spec(builder): builder.add_option('zeromq/libzmq:git_hash', 'v4.2.5') return { - 'depends_on': [folly, fbthrift, gmock, sodium], + 'depends_on': [folly, fbthrift, gmock, sodium, sigar], 'steps': [ builder.github_project_workdir('zeromq/libzmq', '.'), builder.step('Build and install zeromq/libzmq', [ diff --git a/build/fbcode_builder/specs/sigar.py b/build/fbcode_builder/specs/sigar.py new file mode 100644 index 000000000..3ea86453e --- /dev/null +++ b/build/fbcode_builder/specs/sigar.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + +from shell_quoting import ShellQuoted + + +def fbcode_builder_spec(builder): + return { + 'steps': [ + builder.github_project_workdir('hyperic/sigar', '.'), + builder.step('Build and install sigar', [ + builder.run(ShellQuoted('./autogen.sh')), + builder.run(ShellQuoted('CFLAGS="$CFLAGS -fgnu89-inline"')), + builder.configure(), + builder.make_and_install(), + ]), + ], + }