def add_rate(self, dict_nics): """Function to get RX_RATE and TX_RATE. Rate is not calculated for virtaual nics.""" for if_name, if_info in dict_nics.items(): if not self.first_poll: if if_info[NIC_TYPE] == PHY: rate = utils.get_rate( RX_BYTES, if_info, self.prev_data[if_name]) if rate != NAN: if_info[RX_RATE] = round( ((rate * BITFACTOR )/ (FACTOR * FACTOR)), FLOATING_FACTOR) rate = utils.get_rate( TX_BYTES, if_info, self.prev_data[if_name]) if rate != NAN: if_info[TX_RATE] = round( ((rate * BITFACTOR ) / (FACTOR * FACTOR)), FLOATING_FACTOR) elif if_info[NIC_TYPE] == AGGREGATE: rate = utils.get_rate( AGG + RX_BYTES, if_info, self.prev_data[if_name]) if rate != NAN: if_info[AGG + RX_RATE] = round( ((rate * BITFACTOR ) / (FACTOR * FACTOR)), FLOATING_FACTOR) rate = utils.get_rate( AGG + TX_BYTES, if_info, self.prev_data[if_name]) if rate != NAN: if_info[AGG + TX_RATE] = round( ((rate * BITFACTOR ) / (FACTOR * FACTOR)), FLOATING_FACTOR)
def add_nic_rate(self, dict_nics): #Function to get RX_RATE and TX_RATE. Rate is not calculated for virtaual nics.""" #for if_name, if_info in dict_nics.items(): if not self.first_poll: rate = utils.get_rate(AGG + RX_BYTES, dict_nics, self.prev_nic_data) if rate != NAN: dict_nics[AGG + RX_RATE] = round((rate / (FACTOR * FACTOR)), FLOATING_FACTOR) rate = utils.get_rate(AGG + TX_BYTES, dict_nics, self.prev_nic_data) if rate != NAN: dict_nics[AGG + TX_RATE] = round((rate / (FACTOR * FACTOR)), FLOATING_FACTOR)
def add_disk_rate(self, dict_disks): #Function to get READTHROUGHPUT, READIOPS, WRITETHROUGHPUT and WRITEIOPS.""" #for items in dict_disks(): #if self.prev_disk_data and disk_name in self.prev_disk_data: if self.prev_disk_data: #disk_name = AGGREGATE collectd.info("add rate start ") rate = utils.get_rate(READBYTE, dict_disks, self.prev_disk_data) if rate != NAN: dict_disks[AGG + READTHROUGHPUT] = round(rate, FLOATING_FACTOR) rate = utils.get_rate(WRITEBYTE, dict_disks, self.prev_disk_data) if rate != NAN: dict_disks[AGG + WRITETHROUGHPUT] = round( rate, FLOATING_FACTOR) rate = utils.get_rate(READCOUNT, dict_disks, self.prev_disk_data) if rate != NAN: dict_disks[AGG + READIOPS] = round(rate, FLOATING_FACTOR) rate = utils.get_rate(WRITECOUNT, dict_disks, self.prev_disk_data) if rate != NAN: dict_disks[AGG + WRITEIOPS] = round(rate, FLOATING_FACTOR)
def add_rate(self, dict_disks): """Function to get READTHROUGHPUT, READIOPS, WRITETHROUGHPUT and WRITEIOPS.""" for disk_name, disk_info in dict_disks.items(): if self.prev_data and disk_name in self.prev_data: if disk_name != "aggregate": rate = utils.get_rate(READBYTE, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[READTHROUGHPUT] = round( rate, FLOATING_FACTOR) rate = utils.get_rate(WRITEBYTE, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[WRITETHROUGHPUT] = round( rate, FLOATING_FACTOR) rate = utils.get_rate(READCOUNT, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[READIOPS] = round(rate, FLOATING_FACTOR) rate = utils.get_rate(WRITECOUNT, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[WRITEIOPS] = round(rate, FLOATING_FACTOR) else: rate = utils.get_rate(READBYTE, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[AGG + READTHROUGHPUT] = round( rate, FLOATING_FACTOR) rate = utils.get_rate(WRITEBYTE, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[AGG + WRITETHROUGHPUT] = round( rate, FLOATING_FACTOR) rate = utils.get_rate(READCOUNT, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[AGG + READIOPS] = round( rate, FLOATING_FACTOR) rate = utils.get_rate(WRITECOUNT, disk_info, self.prev_data[disk_name]) if rate != NAN: disk_info[AGG + WRITEIOPS] = round( rate, FLOATING_FACTOR)
def do_GET(self): self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() path_part_URI = self.path print(path_part_URI) if path_part_URI == "/favicon.ico": print("Отработан запрос к серверу favicon") print() else: try: from_currency, to_currency, ante = parse_string(path_part_URI) except: # любые ошибки вызова .parse_string print() print("Ошибка парсинга Query-компонента URI") report = {"response code": "0", "error": "URI parsing error"} else: absolute_URL = construct_url(BASE_URL, APIKEY, from_currency, (to_currency)) print() print(f"Приложение запрашивает ресурс: \n{absolute_URL}") rate = get_rate(absolute_URL, from_currency, to_currency) if isinstance(rate, float): total = ante * rate report = { "response code": "200", "currency exchange": f"{from_currency} to {to_currency}", "requested value": f"{ante}", "rate": f"{rate}", "exchange result": f"{total:.2f}", "error": "" } else: # возникла ошибка при запросе к API обмена валют code = rate[0] text = rate[1] report = {"response code": f"{code}", "error": f"{text}"} finally: # при любых ошибках отправляет ответ пользователю print() print("Результат запроса ресурса:") response = json.dumps(report, ensure_ascii=False).encode("utf-8") print(response.decode()) print() self.wfile.write(response)
def markup_inline_rate(currency): price_per_one = float(get_rate(currency)) # price per one STX coin list_ = ['BTC', 'ETH', 'LTC'] if currency in list_: coinmarketcap = 'CoinMarketCap ({0:.6f} {1})'.format( price_per_one, currency) else: coinmarketcap = 'CoinMarketCap ({0:.2f} {1})'.format( price_per_one, currency) markup_inline_rate = types.InlineKeyboardMarkup(row_width=1) btn_coinmarketcap = types.InlineKeyboardButton( coinmarketcap, callback_data='CoinMarketCap') markup_inline_rate.add(btn_coinmarketcap, btn_back_to_set) return markup_inline_rate
def index(header: str, **kwargs: Any) -> tuple[str, str]: amount: str = kwargs.get('amount', '') if not amount: header = 'HTTP/1.1 400 Amount parameter not found\n\n' # If no amount parameter then return 400 return header, error_json('Amount parameter not found.') rate: Optional[float] = get_rate() if not rate: # If no such CSS selector at all for source and selector in config) header = 'HTTP/1.1 500 Bad currency rates service\n\n' return header, error_json('Bad currency rates service.') usd_amount: str = calculate_usd(amount, rate) if not usd_amount: header = 'HTTP/1.1 400 Amount should be float\n\n' # If amount parameter has bed format then return 500 return header, error_json('Amount should be float.') api_logger.debug('Amount: ' + amount + ' Rate: ' + str(rate) + ' Result: ' + usd_amount) return header, json.dumps({ 'Currency': 'USD', u'Amount': amount, 'Rate': str(rate), 'Result': usd_amount })
# Use the adversarial examples from previous step x_ae = adversarial_examples y_ae = and_gen.get_y(x_ae) pred_ae = pred_ae = model_svm.predict(x_ae) score = accuracy_score(y_ae, pred_ae) print(f'Accuracy on the given set = {score*100:.4f}%') # Applicability Domain # Stage 1 - Applicability print('\n---------- Applicability ---------------') x_passed_s1, ind_passed_s1 = ad.check_applicability(x_ae, x_train, y_train) pred_passed_s1 = pred_ae[ind_passed_s1] # Print pass_rate = utils.get_rate(x_passed_s1, x_ae) print(f'Pass rate = {pass_rate * 100:.4f}%') # print('Blocked by Applicability Domain:') # utils.print_blocked_samples(x_ae, ind_passed_s1) # %% # Stage 2 - Reliability print('\n---------- Reliability -----------------') # Parameters: k = 9 # The test mean and training mean are close, thus using smaller zeta zeta = 0.3 # Creating kNN models for each class ind_train_c0 = np.where(y_train == 0) model_knn_c0 = utils.unimodal_knn(x_train[ind_train_c0], k)
score = accuracy_score(y_new, pred_new) print(f'Accuracy on the given set = {score*100:.4f}%') print('Misclassified samples:') print_misclassified_samples(x_new, y_new, np.array(pred_new)) # Applicability Domain # Stage 1 - Applicability print('\n---------- Applicability ---------------') x_passed_s1, ind_passed_s1 = ad.check_applicability(x_new, x_train, y_train) y_passed_s1 = y_new[ind_passed_s1] # Print infomation pass_rate_ad = utils.get_rate(x_passed_s1, x_new) print(f'Pass rate = {pass_rate_ad * 100:.4f}%') print('Blocked by Applicability Domain:') print_blocked_samples(x_new, ind_passed_s1) # Stage 2 - Reliability print('\n---------- Reliability -----------------') # Parameters: k = 9 zeta = 1.959 # Creating kNN models for each class ind_train_c1 = np.where(y_train == 1) model_knn_c1 = utils.unimodal_knn(x_train[ind_train_c1], k) ind_train_c0 = np.where(y_train == 0)