aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar ericrk <ericrk@chromium.org>2016-02-05 15:32:36 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-02-05 15:32:36 -0800
commit369e9375a3ab7bb56580fc6b22690a76ad759240 (patch)
tree2f5acce207039a5208d711de64380090ff43a9eb /include
parent60dcd3cb85797b555e47f3e66de81728a2eca40f (diff)
Add Histogram Macros to Skia
Adds a set of histogram macros to Skia, modeled after Chrome's UMA_HISTOGRAM_* macros. These allow logging of high frequency events, and are useful to analyze real world usage of certain features. By default, these macros are no-ops. Users can provide a custom header file which defines these macros if they wish to collect histogram data. Chrome will provide such a header. I've currently only added two macros: - SK_HISTOGRAM_BOOLEAN - logs a true/false type relationship (whether we are tiling a texture or not on each draw). - SK_HISTOGRAM_ENUMERATION - logs a set of potential values (which of a number of choices were selected for the texture upload path). We could add more unused macros at the moment, but it seems easier to add these as needed, WDYT? BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1652053004 Review URL: https://codereview.chromium.org/1652053004
Diffstat (limited to 'include')
-rw-r--r--include/config/SkUserConfig.h8
-rw-r--r--include/core/SkPostConfig.h10
2 files changed, 18 insertions, 0 deletions
diff --git a/include/config/SkUserConfig.h b/include/config/SkUserConfig.h
index a0f6258281..a3e40ec5db 100644
--- a/include/config/SkUserConfig.h
+++ b/include/config/SkUserConfig.h
@@ -146,4 +146,12 @@
*/
//#define SK_PDF_USE_PATHOPS_CLIPPING
+/* Skia makes use of histogram logging macros to trace the frequency of
+ * events. By default, Skia provides no-op versions of these macros.
+ * Skia consumers can provide their own definitions of these macros to
+ * integrate with their histogram collection backend.
+ */
+//#define SK_HISTOGRAM_BOOLEAN(name, value)
+//#define SK_HISTOGRAM_ENUMERATION(name, value, boundary_value)
+
#endif
diff --git a/include/core/SkPostConfig.h b/include/core/SkPostConfig.h
index 68354a6156..a7fbba7c78 100644
--- a/include/core/SkPostConfig.h
+++ b/include/core/SkPostConfig.h
@@ -344,4 +344,14 @@
# define GR_TEST_UTILS 1
#endif
+//////////////////////////////////////////////////////////////////////
+
+#ifndef SK_HISTOGRAM_BOOLEAN
+# define SK_HISTOGRAM_BOOLEAN(name, value)
+#endif
+
+#ifndef SK_HISTOGRAM_ENUMERATION
+# define SK_HISTOGRAM_ENUMERATION(name, value, boundary_value)
+#endif
+
#endif // SkPostConfig_DEFINED