From a8827c37c144330016c74ce4a7c97e3deca7df79 Mon Sep 17 00:00:00 2001 From: Varun Nandi Date: Thu, 23 May 2019 10:00:09 -0700 Subject: [PATCH 1/2] Add initial tenets --- docs/design/core/metrics/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 docs/design/core/metrics/README.md diff --git a/docs/design/core/metrics/README.md b/docs/design/core/metrics/README.md new file mode 100644 index 000000000000..bc9fb59edc8b --- /dev/null +++ b/docs/design/core/metrics/README.md @@ -0,0 +1,20 @@ +**Design:** New Feature, **Status:** +[In Development](../../../README.md) + +# SDK Tenets (unless you know better ones) + +1. Collected metrics are easy to understand +2. Metrics can be compared overtime and gives insights into application behavior (provides value to customer) +3. Adding metrics should have minimal impact on the application performance +4. Customers can easily access published metrics +5. Verbosity of metrics should be kept to minimum in logs + + +# Project Introduction + +This project introduces a feature that can collect and report SDK metrics data in your application. +These metrics can be used to gather insights into your application and tune the application for +the best performance. The metrics can help in debugging when the application is experiencing +high error rates. + + From c37d3e1fdff27a6948c976e075438308e5ed6833 Mon Sep 17 00:00:00 2001 From: Varun Nandi Date: Tue, 28 May 2019 09:56:57 -0700 Subject: [PATCH 2/2] Updated tenets after internal meeting --- docs/design/core/metrics/README.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/design/core/metrics/README.md b/docs/design/core/metrics/README.md index bc9fb59edc8b..457da1ba7abe 100644 --- a/docs/design/core/metrics/README.md +++ b/docs/design/core/metrics/README.md @@ -3,11 +3,12 @@ # SDK Tenets (unless you know better ones) -1. Collected metrics are easy to understand -2. Metrics can be compared overtime and gives insights into application behavior (provides value to customer) -3. Adding metrics should have minimal impact on the application performance -4. Customers can easily access published metrics -5. Verbosity of metrics should be kept to minimum in logs +1. Metrics can be used to provide insights about application behavior to enhance performance, debug operational issues. +2. Enabling metrics should have minimal impact on the application performance. +3. Customers can publish the collected metrics into their desired monitoring platform. +4. Metrics are divided into different categories for granular control. +5. Customers can control the metrics collection cost by having the ability to enable/disable the metrics collection by category. +6. Metrics collected by SDK are namespaced to avoid collision with other application metrics. # Project Introduction @@ -18,3 +19,9 @@ the best performance. The metrics can help in debugging when the application is high error rates. +# Project Details (WIP) + +1. Metrics are disabled by default and should be enabled explicitly by customers. Enabling metrics will introduce small overhead. +2. Collected metrics are stored in customer's account. SDK cannot access the stored metrics from customer's account. + +