aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/ProcStats.cpp
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2014-08-11 11:33:51 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-08-11 11:33:51 -0700
commit0d154eeaebc640b7bd83e0b212fac22587610a4b (patch)
tree51ad02bda3d0a787b7b4df0f57bc9b91c710a7f3 /tools/ProcStats.cpp
parentd3ddea284ec6611a93a6b75e64de39d0bc7e083c (diff)
Process Statistics header, add max RSS to render_pdfs
Diffstat (limited to 'tools/ProcStats.cpp')
-rw-r--r--tools/ProcStats.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/ProcStats.cpp b/tools/ProcStats.cpp
new file mode 100644
index 0000000000..94660394f8
--- /dev/null
+++ b/tools/ProcStats.cpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "ProcStats.h"
+
+#if defined(SK_BUILD_FOR_UNIX) || \
+ defined(SK_BUILD_FOR_MAC) || \
+ defined(SK_BUILD_FOR_ANDROID)
+
+ #include <sys/resource.h>
+ int sk_tools::getMaxResidentSetSizeKB() {
+ struct rusage ru;
+ getrusage(RUSAGE_SELF, &ru);
+ #if defined(SK_BUILD_FOR_MAC)
+ return static_cast<int>(ru.ru_maxrss / 1024); // Darwin reports bytes.
+ #else
+ return static_cast<int>(ru.ru_maxrss); // Linux reports kilobytes.
+ #endif
+ }
+
+#else
+
+ int sk_tools::getMaxResidentSetSizeKB() {
+ return -1;
+ }
+
+#endif