@staticmethod
def _get_fc_port_value(metric, data):
    """
        function that returns the data from the managed object
        :param metric:
        :param data:
        :return:
        """
    if metric == 'network.fc.tx.rate':
        return float(float(data.FcStats.bytes_tx_delta) / 60 * 8 / 1000000000)
    elif metric == 'network.fc.rx.rate':
        return float(float(data.FcStats.bytes_rx_delta) / 60 * 8 / 1000000000)
    elif metric == 'network.fc.err.rx.crc':
        return float(data.FcErrStats.crc_rx_delta)
    elif metric == 'network.fc.err.rx.discard':
        return float(data.FcErrStats.discard_rx_delta)
    elif metric == 'network.fc.err.rx':
        return float(data.FcErrStats.rx_delta)
    elif metric == 'network.fc.err.signal_losses':
        return float(data.FcErrStats.signal_losses_delta)
    elif metric == 'network.fc.err.link.failure':
        return float(data.FcErrStats.link_failures_delta)
    elif metric == 'network.fc.link.speed':
        return float(data.oper_speed.replace('gbps', ''))
    elif metric == 'network.fc.err.rx.too_short':
        return float(data.FcErrStats.too_short_rx_delta)
    elif metric == 'network.fc.err.rx.too_long':
        return float(data.FcErrStats.too_long_rx_delta)
    elif metric == 'network.fc.err.tx':
        return float(data.FcErrStats.tx_delta)
    else:
        return None
