You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/09/10 18:45:21 UTC

[1/3] git commit: TS-2173: RECD_COUNTER type is missing in setTokenValue()

Updated Branches:
  refs/heads/4.0.x f8d12ced9 -> e41e03e59


TS-2173: RECD_COUNTER type is missing in setTokenValue()

After applied "TS-1740: Improve precision of stats values" patch,
each token will keep its original type instead of forcing to RecFloat.

So we should update setTokenValue() to deal with RECD_COUNTER case.

Signed-off-by: Yunkai Zhang <qi...@taobao.com>

Conflicts:
	CHANGES


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/e543f695
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/e543f695
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/e543f695

Branch: refs/heads/4.0.x
Commit: e543f69596fd73e60736d43709a581e29e3273b5
Parents: f8d12ce
Author: Yunkai Zhang <qi...@taobao.com>
Authored: Tue Sep 3 15:29:51 2013 +0800
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Tue Sep 10 10:35:48 2013 -0600

----------------------------------------------------------------------
 CHANGES                | 5 +++++
 mgmt/stats/StatType.cc | 1 +
 2 files changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e543f695/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index bc3c184..bb266c7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,9 @@
                                                          -*- coding: utf-8 -*-
+Changes with Apache Traffic Server 4.0.2
+
+  *) [TS-2173] RECD_COUNTER type is missing in setTokenValue()
+
+
 Changes with Apache Traffic Server 4.0.1
 
   *) [TS-2154] Lua plugin asserts traffic_server on startup.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e543f695/mgmt/stats/StatType.cc
----------------------------------------------------------------------
diff --git a/mgmt/stats/StatType.cc b/mgmt/stats/StatType.cc
index 822d9f6..0017e5d 100644
--- a/mgmt/stats/StatType.cc
+++ b/mgmt/stats/StatType.cc
@@ -811,6 +811,7 @@ StatObject::setTokenValue(StatExprToken * token, bool cluster)
       break;
 
     case RECD_INT:             // fallthought
+    case RECD_COUNTER:
     case RECD_FLOAT:
       if (cluster) {
         if (!overviewGenerator->varClusterDataFromName(token->m_token_type,


[2/3] git commit: TS-2174: Fix StatBinaryEval() on div operation

Posted by zw...@apache.org.
TS-2174: Fix StatBinaryEval() on div operation

We should fore the type of result to be RecFloat on div operation,
otherwise we can't get the fraction when dividing two RecInt.

Signed-off-by: Yunkai Zhang <qi...@taobao.com>


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/3751008c
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/3751008c
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/3751008c

Branch: refs/heads/4.0.x
Commit: 3751008cb64a9b37227ff40659895dd322ac322a
Parents: e543f69
Author: Yunkai Zhang <qi...@taobao.com>
Authored: Wed Sep 4 00:57:07 2013 +0800
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Tue Sep 10 10:37:37 2013 -0600

----------------------------------------------------------------------
 mgmt/stats/StatType.cc | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3751008c/mgmt/stats/StatType.cc
----------------------------------------------------------------------
diff --git a/mgmt/stats/StatType.cc b/mgmt/stats/StatType.cc
index 0017e5d..3e13d78 100644
--- a/mgmt/stats/StatType.cc
+++ b/mgmt/stats/StatType.cc
@@ -947,6 +947,22 @@ StatExprToken *StatObject::StatBinaryEval(StatExprToken * left, char op,
   case '/':
     RecData recTmp;
     RecDataClear(RECD_NULL, &recTmp);
+
+    /*
+     * Force the type of result to be RecFloat on div operation
+     */
+    if (result->m_token_type != RECD_FLOAT && result->m_token_type != RECD_CONST) {
+      RecFloat t;
+
+      result->m_token_type = RECD_FLOAT;
+
+      t = (RecFloat)l.rec_int;
+      l.rec_float = t;
+
+      t = (RecFloat)r.rec_int;
+      r.rec_float = t;
+    }
+
     if (RecDataCmp(result->m_token_type, r, recTmp)) {
       result->m_token_value = RecDataDiv(result->m_token_type, l, r);
     }


[3/3] git commit: TS-2174: Assign proper type for uninitialized expression token

Posted by zw...@apache.org.
TS-2174: Assign proper type for uninitialized expression token

In librecords, not all token are register at initialization,
we must assign proper type if it is undefined.

Signed-off-by: Yunkai Zhang <qi...@taobao.com>

Conflicts:
	CHANGES


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/e41e03e5
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/e41e03e5
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/e41e03e5

Branch: refs/heads/4.0.x
Commit: e41e03e599bda2c5528ef6617de2fec34cb8a848
Parents: 3751008
Author: Yunkai Zhang <qi...@taobao.com>
Authored: Thu Sep 5 02:01:49 2013 +0800
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Tue Sep 10 10:39:00 2013 -0600

----------------------------------------------------------------------
 CHANGES                | 4 +++-
 mgmt/stats/StatType.cc | 7 +++++++
 2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e41e03e5/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index bb266c7..cc732de 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 4.0.2
 
-  *) [TS-2173] RECD_COUNTER type is missing in setTokenValue()
+  *) [TS-2174] traffic_shell/traffic_line miss some stats value
+
+  *) [TS-2173] RECD_COUNTER type is missing in setTokenValue().
 
 
 Changes with Apache Traffic Server 4.0.1

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e41e03e5/mgmt/stats/StatType.cc
----------------------------------------------------------------------
diff --git a/mgmt/stats/StatType.cc b/mgmt/stats/StatType.cc
index 3e13d78..1f92abe 100644
--- a/mgmt/stats/StatType.cc
+++ b/mgmt/stats/StatType.cc
@@ -1123,6 +1123,13 @@ StatObjectList::Eval()
           }
           // scroll old values
           for (StatExprToken * token = object->m_postfix->first(); token; token = object->m_expression->next(token)) {
+
+            // in librecords, not all statistics are register at initialization
+            // must assign proper type if it is undefined.
+            if (!isOperator(token->m_arith_symbol) && token->m_token_type == RECD_NULL) {
+              token->assignTokenType();
+            }
+
             if (token->m_token_value_delta) {
               if (!varDataFromName(token->m_token_type, token->m_token_name,
                                    &tempValue)) {