summaryrefslogtreecommitdiffstats
path: root/nfvbench/packet_analyzer.py
diff options
context:
space:
mode:
authorahothan <ahothan@cisco.com>2018-10-07 15:55:25 -0700
committerahothan <ahothan@cisco.com>2018-10-08 10:44:31 -0700
commit391dcf76fefb747888a3411ae3b8df7b1ad26685 (patch)
treeb823ae8a5f0e837bb285f53acb1502e0aad1bdf0 /nfvbench/packet_analyzer.py
parent99260f95219301bb5c0b58921e793bcad6ec4990 (diff)
2.0 beta NFVBENCH-91 Allow multi-chaining with separate edge networks
Includes complete refactoring of code Beta for NFVbench 2.0 Change-Id: I2997f0fb7722d5ac626cd11a68692ae458c7676e Signed-off-by: ahothan <ahothan@cisco.com>
Diffstat (limited to 'nfvbench/packet_analyzer.py')
-rw-r--r--nfvbench/packet_analyzer.py64
1 files changed, 0 insertions, 64 deletions
diff --git a/nfvbench/packet_analyzer.py b/nfvbench/packet_analyzer.py
deleted file mode 100644
index 5d72bc9..0000000
--- a/nfvbench/packet_analyzer.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2016 Cisco Systems, Inc. All rights reserved.
-#
-# 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.
-#
-
-from collections import OrderedDict
-from log import LOG
-
-
-class PacketAnalyzer(object):
- """Analyze packet drop counter in a chain"""
-
- def __init__(self):
- self.last_packet_count = 0
- self.chain = []
-
- def record(self, interface, traffic_type):
- """Records the counter of the next interface with the corresponding traffic type"""
- if interface.is_no_op():
- return
- packet_count = interface.get_packet_count(traffic_type)
- packet_drop_count = self.last_packet_count - packet_count
- path_data = OrderedDict()
- path_data['interface'] = interface.name
- path_data['device'] = interface.device
- path_data['packet_count'] = packet_count
-
- if self.chain:
- path_data['packet_drop_count'] = packet_drop_count
-
- self.chain.append(path_data)
- self.last_packet_count = packet_count
-
- def get_analysis(self):
- """Gets the analysis of packet drops"""
- transmitted_packets = self.chain[0]['packet_count']
-
- for (index, path_data) in enumerate(self.chain):
- LOG.info('[Packet Analyze] Interface: %s', path_data['interface'])
- LOG.info('[Packet Analyze] > Count: %d', path_data['packet_count'])
-
- if index:
- if transmitted_packets:
- self.chain[index]['packet_drop_percentage'] = \
- 100.0 * path_data['packet_drop_count'] / transmitted_packets
- else:
- self.chain[index]['packet_drop_percentage'] = float('nan')
- LOG.info('[Packet Analyze] > Packet Drops: %d',
- path_data['packet_drop_count'])
- LOG.info('[Packet Analyze] > Percentage: %s',
- path_data['packet_drop_percentage'])
-
- return self.chain