c84e98d6b6
Replace the following items with Python 3 style code. - six.PY2 - six.add_metaclass - six.string_types - six.text_type - six.moves - six.StringIO - six.wraps - six.integer_types Story: 2008305 Task: 41191 Change-Id: I68710421b69d4049c9e990451da491dc14251fb5
107 lines
3.3 KiB
Python
107 lines
3.3 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import unittest
|
|
from io import StringIO
|
|
|
|
from tests.common import get_check
|
|
|
|
|
|
CONFIG = """
|
|
init_config:
|
|
|
|
instances:
|
|
- host: 127.0.0.1
|
|
port: 2181
|
|
dimensions: {}
|
|
"""
|
|
|
|
|
|
class TestZookeeper(unittest.TestCase):
|
|
|
|
def test_zk_stat_parsing_lt_v344(self):
|
|
Zookeeper, instances = get_check('zk', CONFIG)
|
|
stat_response = """Zookeeper version: 3.2.2--1, built on 03/16/2010 07:31 GMT
|
|
Clients:
|
|
/10.42.114.160:32634[1](queued=0,recved=12,sent=0)
|
|
/10.37.137.74:21873[1](queued=0,recved=53613,sent=0)
|
|
/10.37.137.74:21876[1](queued=0,recved=57436,sent=0)
|
|
/10.115.77.32:32990[1](queued=0,recved=16,sent=0)
|
|
/10.37.137.74:21891[1](queued=0,recved=55011,sent=0)
|
|
/10.37.137.74:21797[1](queued=0,recved=19431,sent=0)
|
|
|
|
Latency min/avg/max: -10/0/20007
|
|
Received: 101032173
|
|
Sent: 0
|
|
Outstanding: 0
|
|
Zxid: 0x1034799c7
|
|
Mode: leader
|
|
Node count: 487
|
|
"""
|
|
expected = [
|
|
('zookeeper.latency.min', -10),
|
|
('zookeeper.latency.avg', 0),
|
|
('zookeeper.latency.max', 20007),
|
|
('zookeeper.bytes_received', 101032173),
|
|
('zookeeper.bytes_sent', 0),
|
|
('zookeeper.connections', 6),
|
|
('zookeeper.bytes_outstanding', 0),
|
|
('zookeeper.zxid.epoch', 1),
|
|
('zookeeper.zxid.count', 55024071),
|
|
('zookeeper.nodes', 487),
|
|
]
|
|
|
|
buf = StringIO(stat_response)
|
|
metrics, dimensions = Zookeeper.parse_stat(buf)
|
|
|
|
self.assertEqual(dimensions, {'mode': 'leader'})
|
|
self.assertEqual(metrics, expected)
|
|
|
|
def test_zk_stat_parsing_gte_v344(self):
|
|
Zookeeper, instances = get_check('zk', CONFIG)
|
|
stat_response = """Zookeeper version: 3.4.5--1, built on 03/16/2010 07:31 GMT
|
|
Clients:
|
|
/10.42.114.160:32634[1](queued=0,recved=12,sent=0)
|
|
/10.37.137.74:21873[1](queued=0,recved=53613,sent=0)
|
|
/10.37.137.74:21876[1](queued=0,recved=57436,sent=0)
|
|
/10.115.77.32:32990[1](queued=0,recved=16,sent=0)
|
|
/10.37.137.74:21891[1](queued=0,recved=55011,sent=0)
|
|
/10.37.137.74:21797[1](queued=0,recved=19431,sent=0)
|
|
|
|
Latency min/avg/max: -10/0/20007
|
|
Received: 101032173
|
|
Sent: 0
|
|
Connections: 1
|
|
Outstanding: 0
|
|
Zxid: 0x1034799c7
|
|
Mode: leader
|
|
Node count: 487
|
|
"""
|
|
expected = [
|
|
('zookeeper.latency.min', -10),
|
|
('zookeeper.latency.avg', 0),
|
|
('zookeeper.latency.max', 20007),
|
|
('zookeeper.bytes_received', 101032173),
|
|
('zookeeper.bytes_sent', 0),
|
|
('zookeeper.connections', 1),
|
|
('zookeeper.bytes_outstanding', 0),
|
|
('zookeeper.zxid.epoch', 1),
|
|
('zookeeper.zxid.count', 55024071),
|
|
('zookeeper.nodes', 487),
|
|
]
|
|
|
|
buf = StringIO(stat_response)
|
|
metrics, dimensions = Zookeeper.parse_stat(buf)
|
|
|
|
self.assertEqual(dimensions, {'mode': 'leader'})
|
|
self.assertEqual(metrics, expected)
|