Trending docs: format and section naming fixes.
[csit.git] / docs / cpta / methodology / index.rst
index 29dcae2..227dfbc 100644 (file)
@@ -1,10 +1,10 @@
-Performance Trending Methodology
-================================
-
 .. _trending_methodology:
 
 .. _trending_methodology:
 
-Continuous Trending and Analysis
---------------------------------
+Trending Methodology
+====================
+
+Overview
+--------
 
 This document describes a high-level design of a system for continuous
 performance measuring, trending and change detection for FD.io VPP SW
 
 This document describes a high-level design of a system for continuous
 performance measuring, trending and change detection for FD.io VPP SW
@@ -22,8 +22,8 @@ trending dashboard and graphs with summary and drill-down views across
 all specified tests that can be reviewed and inspected regularly by
 FD.io developers and users community.
 
 all specified tests that can be reviewed and inspected regularly by
 FD.io developers and users community.
 
-Performance Trending Tests
---------------------------
+Performance Tests
+-----------------
 
 Performance trending is currently relying on the Maximum Receive Rate
 (MRR) tests. MRR tests measure the packet forwarding rate under the
 
 Performance trending is currently relying on the Maximum Receive Rate
 (MRR) tests. MRR tests measure the packet forwarding rate under the
@@ -51,13 +51,14 @@ Current parameters for performance trending MRR tests:
 - Trial duration: 10sec.
 - Execution frequency: twice a day, every 12 hrs (02:00, 14:00 UTC).
 
 - Trial duration: 10sec.
 - Execution frequency: twice a day, every 12 hrs (02:00, 14:00 UTC).
 
-In the future if tested VPP configuration can handle the packet rate
-higher than bi-directional 10GE link rate, e.g. all IMIX tests and
-64B/78B multi-core tests, a higher maximum load will be offered
-(25GE|40GE|100GE).
+Note: MRR tests should be reporting bi-directional link rate (or NIC
+rate, if lower) if tested VPP configuration can handle the packet rate
+higher than bi-directional link rate, e.g. large packet tests and/or
+multi-core tests. In other words MRR = min(VPP rate, bi-dir link rate,
+NIC rate).
 
 
-Performance Trend Analysis
---------------------------
+Trend Analysis
+--------------
 
 All measured performance trend data is treated as time-series data that
 can be modelled using normal distribution. After trimming the outliers,
 
 All measured performance trend data is treated as time-series data that
 can be modelled using normal distribution. After trimming the outliers,
@@ -65,12 +66,11 @@ the median and deviations from median are used for detecting performance
 change anomalies following the three-sigma rule of thumb (a.k.a.
 68-95-99.7 rule).
 
 change anomalies following the three-sigma rule of thumb (a.k.a.
 68-95-99.7 rule).
 
-Analysis Metrics
+Metrics
 ````````````````
 
 ````````````````
 
-Following statistical metrics are proposed as performance trend
-indicators over the rolling window of last <N> sets of historical
-measurement data:
+Following statistical metrics are used as performance trend indicators
+over the rolling window of last <N> sets of historical measurement data:
 
 - Q1, Q2, Q3 : Quartiles, three points dividing a ranked data set
   of <N> values into four equal parts, Q2 is the median of the data.
 
 - Q1, Q2, Q3 : Quartiles, three points dividing a ranked data set
   of <N> values into four equal parts, Q2 is the median of the data.
@@ -97,6 +97,8 @@ Outlier Detection
 Outlier evaluation of test result of value <X> follows the definition
 from previous section:
 
 Outlier evaluation of test result of value <X> follows the definition
 from previous section:
 
+  ::
+
   Outlier Evaluation Formula      Evaluation Result
   ====================================================
   X < (Q1 - 1.5 * IQR)            Outlier
   Outlier Evaluation Formula      Evaluation Result
   ====================================================
   X < (Q1 - 1.5 * IQR)            Outlier
@@ -109,6 +111,8 @@ To verify compliance of test result of valid value <X> against defined
 trend metrics and detect anomalies, three simple evaluation formulas are
 used:
 
 trend metrics and detect anomalies, three simple evaluation formulas are
 used:
 
+  ::
+
         Anomaly                                   Compliance        Evaluation
   Evaluation Formula                            Confidence Level      Result
   =============================================================================
         Anomaly                                   Compliance        Evaluation
   Evaluation Formula                            Confidence Level      Result
   =============================================================================
@@ -129,14 +133,16 @@ ago, TMM[last - 1week] and to the maximum of trend values over last
 quarter except last week, max(TMM[(last - 3mths)..(last - 1week)]),
 respectively. This results in following trend compliance calculations:
 
 quarter except last week, max(TMM[(last - 3mths)..(last - 1week)]),
 respectively. This results in following trend compliance calculations:
 
-  Trend
+  ::
+
+       Trend
   Compliance Metric     Change Formula    V(alue)      R(eference)
   =============================================================================================
   Short-Term Change     ((V - R) / R)     TMM[last]    TMM[last - 1week]
   Long-Term Change      ((V - R) / R)     TMM[last]    max(TMM[(last - 3mths)..(last - 1week)])
 
   Compliance Metric     Change Formula    V(alue)      R(eference)
   =============================================================================================
   Short-Term Change     ((V - R) / R)     TMM[last]    TMM[last - 1week]
   Long-Term Change      ((V - R) / R)     TMM[last]    max(TMM[(last - 3mths)..(last - 1week)])
 
-Performance Trend Presentation
-------------------------------
+Trend Presentation
+------------------
 
 Performance Dashboard
 `````````````````````
 
 Performance Dashboard
 `````````````````````
@@ -168,8 +174,8 @@ data points, representing (trend job build Id, MRR value) and the actual
 vpp build number (b<XXX>) tested.
 
 
 vpp build number (b<XXX>) tested.
 
 
-Jenkins Jobs Description
-------------------------
+Jenkins Jobs
+------------
 
 Performance Trending (PT)
 `````````````````````````
 
 Performance Trending (PT)
 `````````````````````````
@@ -179,15 +185,15 @@ data per test case. PT is designed as follows:
 
 #. PT job triggers:
 
 
 #. PT job triggers:
 
-  #. Periodic e.g. daily.
-  #. On-demand gerrit triggered.
+  - Periodic e.g. daily.
+  - On-demand gerrit triggered.
 
 #. Measurements and data calculations per test case:
 
 
 #. Measurements and data calculations per test case:
 
-  #. MRR Max Received Rate
+  - MRR Max Received Rate
 
 
-    #. Measured: Unlimited tolerance of packet loss.
-    #. Send packets at link rate, count total received packets, divide
+    - Measured: Unlimited tolerance of packet loss.
+    - Send packets at link rate, count total received packets, divide
        by test trial period.
 
 #. Archive MRR per test case.
        by test trial period.
 
 #. Archive MRR per test case.
@@ -203,18 +209,18 @@ PA is defined as follows:
 
 #. PA job triggers:
 
 
 #. PA job triggers:
 
-  #. By PT job at its completion.
-  #. On-demand gerrit triggered.
+  - By PT job at its completion.
+  - On-demand gerrit triggered.
 
 #. Download and parse archived historical data and the new data:
 
 
 #. Download and parse archived historical data and the new data:
 
-  #. Download RF output.xml files from latest PT job and compressed
+  - Download RF output.xml files from latest PT job and compressed
      archived data.
 
      archived data.
 
-  #. Parse out the data filtering test cases listed in PA specification
+  - Parse out the data filtering test cases listed in PA specification
      (part of CSIT PAL specification file).
 
      (part of CSIT PAL specification file).
 
-  #. Evalute new data from latest PT job against the rolling window of
+  - Evalute new data from latest PT job against the rolling window of
      <N> sets of historical data for trendline calculation, anomaly
      detection and short-term trend compliance. And against long-term
      trendline metrics for long-term trend compliance.
      <N> sets of historical data for trendline calculation, anomaly
      detection and short-term trend compliance. And against long-term
      trendline metrics for long-term trend compliance.
@@ -222,22 +228,23 @@ PA is defined as follows:
 #. Calculate trend metrics for the rolling window of <N> sets of
    historical data:
 
 #. Calculate trend metrics for the rolling window of <N> sets of
    historical data:
 
-  #. Calculate quartiles Q1, Q2, Q3.
-  #. Trim outliers using IQR.
-  #. Calculate TMA and TMSD.
-  #. Calculate normal trending range per test case based on TMM and
+  - Calculate quartiles Q1, Q2, Q3.
+  - Trim outliers using IQR.
+  - Calculate TMA and TMSD.
+  - Calculate normal trending range per test case based on TMM and
      TMSD.
 
 #. Evaluate new test data against trend metrics:
 
      TMSD.
 
 #. Evaluate new test data against trend metrics:
 
-  #. If within the range of (TMA +/- 3*TMSD) => Result = Pass,
-     Reason = Normal. (to be updated base on final Jenkins code)
-  #. If below the range => Result = Fail, Reason = Regression.
-  #. If above the range => Result = Pass, Reason = Progression.
+  - If within the range of (TMA +/- 3*TMSD) => Result = Pass,
+     Reason = Normal. (to be updated base on the final Jenkins code).
+  - If below the range => Result = Fail, Reason = Regression.
+  - If above the range => Result = Pass, Reason = Progression.
 
 #. Generate and publish results
 
 
 #. Generate and publish results
 
-  #. Relay evaluation result to job result. (to be updated base on final
-     Jenkins code)
-  #. Generate a new set of trend summary dashboard and graphs.
-  #. Publish trend dashboard and graphs in html format on https://docs.fd.io/.
+  - Relay evaluation result to job result. (to be updated base on the
+     final Jenkins code).
+  - Generate a new set of trend summary dashboard and graphs.
+  - Publish trend dashboard and graphs in html format on
+     https://docs.fd.io/.