Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
    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)
Esempio n. 6
0
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
Esempio n. 7
0
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
    })
Esempio n. 8
0
# 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)
Esempio n. 9
0
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)