示例#1
0
def send_metrics(currency_metrics):
    sender = graphyte.Sender(cfg.graphite_host, prefix='currencies')
    for metric in currency_metrics:
        sender.send(metric["from_currency"] + ':' + metric["to_currency"],
                    metric["price"],
                    timestamp=parser.parse(metric["time"] + ' ' +
                                           metric["timezone"]).timestamp())
 def send_to_graf(self, dictionary, myport=2013, myprotocol='udp'):
     for key in self.prepare_grafana(dictionary):
         if (key[0], key[1]) is not None:
             #print(key[0].lower(),key[1])
             graphyte.Sender('graphite01.pic.es',
                             port=myport,
                             protocol=myprotocol,
                             prefix=self.gr_prefix +
                             socket.gethostname().replace(".", "_")).send(
                                 key[0].lower(), key[1])
             graphyte.Sender('graphite02.pic.es',
                             port=myport,
                             protocol=myprotocol,
                             prefix=self.gr_prefix +
                             socket.gethostname().replace(".", "_")).send(
                                 key[0].lower(), key[1])
示例#3
0
 def __init__(self, user_id, id_pool, dd, templates, hyps, params):
     self.name = "load"
     self.sender = graphyte.Sender(GRAFANA['url'], prefix='isard-eval.{}'.format(self.name), port=GRAFANA['carbon_port'])
     self.user_id = user_id
     self.id_pool = id_pool
     self.defined_domains = dd
     self.templates = templates
     self.hyps = hyps
     self.params = params
     self.running_grafana_stats = False
 def __init__(
     self,
     graphyte_server: str,
     logger: logging.Logger,
     prefix: str = "machine_info",
     update_interval_s: int = 10,
 ):
     self._graphyte_server = graphyte_server
     self._logger = logger
     self._update_interval_s = update_interval_s
     self._stop = False
     self._sender = graphyte.Sender(self._graphyte_server, prefix=prefix)
示例#5
0
 def __init__(self, user_id, id_pool, dd, templates, hyps, params):
     self.name = "ux"
     self.code = "RR_stress_launch_apps"
     self.sender = graphyte.Sender(GRAFANA['server'],
                                   prefix='isard-eval.{}'.format(self.name),
                                   port=GRAFANA['port'])
     self.user_id = user_id
     self.id_pool = id_pool
     self.defined_domains = dd
     self.templates = templates
     self.hyps = hyps
     self.params = params
     self.steps = 3  # How many steps will start domains
     self.initial_ux_iterations = 1
     self.real_stop = True  # Wait for auto stop domain
     self.time_to_stop = 15  # Force to stop after X seconds
     self.initial_ux = {}  # one key for each template
     self.names = [
         "ram_hyp_usage", "cpu_hyp_usage", "cpu_hyp_iowait", "cpu_usage"
     ]
     self.statistics = ["max", "min", "mean", "stdev"]
     self.inc_statistics = ["mean", "stdev"]
     self.calcule_ux = True
     self.save_ux = True
     self.data_ux_names = [
         "execution_time", "inc_execution_time", "performance"
     ]
     self._init_data_ux_names()
     self.ux_scorers = {
         "execution_time": {
             "min": 0,
             "max": 30,
             "weight": 60,
             "unit": "percent"
         },
         "cpu_hyp_iowait_stdev": {
             "min": 0,
             "max": 30,
             "weight": 20,
             "unit": "percent"
         },
         "cpu_usage_mean": {
             "min": 0,
             "max": 30,
             "weight": 20,
             "unit": "percent"
         }
     }
     self.total_weights_ux_scorers = sum(v['weight']
                                         for v in self.ux_scorers.values())
示例#6
0
文件: fishpi.py 项目: dalepa/tideman
#GLOBALS
disthigh = 0
distlow = 1000
distavg = 0
count = 0
medianDistance = 0
CpuUtil = 0

GRAPHITE = "localhost"
HOT = "hot.pancamo.com"
myws = "KTXOLIVI"
mywslocation = "PancamoPointPier"

graphyte.init(GRAPHITE, prefix='wu.KTXOLIVI.PI2')

sender1 = graphyte.Sender(GRAPHITE, prefix='wu.KTXOLIVI.PI2')
#sender2 = graphyte.Sender(HOT, prefix='wu.KTXOLIVI.PI2')

SERIAL_PORT = "/dev/serial0"  # or "COM4" or whatever
serialport = serial.Serial(SERIAL_PORT, 9600)

# This function measures a distance


def read_me007ys(ser, timeout=1.0):
    ts = time.time()
    buf = bytearray(3)
    idx = 0

    while True:
        # Option 1, we time out while waiting to get valid data
""" pull local stats and post them to carbon-relay """

from datetime import datetime
import logging
import json
from os import environ
import sys
import codalib
import graphyte

if __name__ == "__main__":
    # Load sensitive config
    try:
        with open('/etc/testnet_config.json') as config_file:
            config = json.load(config_file)
            testnet = config['testnet']
    except IOError as error:
        print('Error opening secrets config:', error)
        sys.exit(1)

    # get stats
    stats = codalib.coda_status()

    gmetrics = graphyte.Sender('localhost',
                               prefix='testnet.%s.stats' % testnet,
                               log_sends=True)
    gmetrics.send('block_count', stats['blockchain_length'])
    gmetrics.send('peer_count', len(stats['peers']))
    gmetrics.send('account_count', stats['num_accounts'])
    gmetrics.send('user_commands', stats['user_commands_sent'])
示例#8
0
 def __init__(self, server, port, prefix):
     self.sender = graphyte.Sender(server, port=port, prefix=prefix)
示例#9
0
def send_real_weather(weather):
    sender = graphyte.Sender("graphite", prefix="weather")
    sender.send("real.temperature", get_temperature(weather))
    sender.send("real.wind_speed", get_wind_speed(weather))
    sender.send("real.humidity", get_humidity(weather))
示例#10
0
def send_current_metric(current_temp):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='yandex_weather')
    sender.send('current.temp', current_temp)
示例#11
0
def send_metrics(covid_data):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='covid')
    for covid in covid_data:
        sender.send(covid[0], covid[1])
示例#12
0
文件: w.py 项目: vasilevs7/monitoring
def send_metrics(values):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='weather')
    for value in values:
        sender.send(value[0], value[1])
示例#13
0
def send_metrics(games):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='games')
    for game in games:
        sender.send(game[0], game[1])
示例#14
0
            'nonce': nonce})

# Load sensitive config
try:
    with open('/etc/testnet_config.json') as config_file:
        config = json.load(config_file)
        elastic_url = config['elastic_url']
        testnet = config['testnet']

except IOError as error:
    print('Error opening secrets config:', error)
    sys.exit(1)


dumped_ledger = cli('coda advanced dump-ledger -json')

for line in dumped_ledger.splitlines():
    jline = json.loads(line)
    nonce_sum = 0
    balance_sum = 0
    if 'public_key' in jline:
        nonce_metrics   = graphyte.Sender('localhost', prefix='testnet.%s.stats.nonce_bykey.%s'   % (testnet, jline['public_key'][:12]))
        nonce_metrics.send('nonce_count',int(jline['nonce']))
        nonce_sum += int(jline['nonce'])

        balance_metrics = graphyte.Sender('localhost', prefix='testnet.%s.stats.balance_bykey.%s' % (testnet, jline['public_key'][:12]))
        balance_metrics.send('balance', int(jline['balance']))
        balance_sum += int(jline['balance'])

    sum = graphyte.Sender('localhost', prefix='testnet.%s.stats' % (testnet), log_sends=True)
    sum.send('nonce_sum', nonce_sum)
示例#15
0
#!/usr/bin/python3
# simple status counters in graphite

import json
import socket
import graphyte
import subprocess

def cli(cmd='uname'):
    result = subprocess.run(cmd.split(), stdout=subprocess.PIPE)
    return(result.stdout.decode('utf-8').strip())

# Load sensitive config
try:
    with open('/etc/testnet_config.json') as config_file:
        config = json.load(config_file)
        testnet = config['testnet']
except IOError as error:
    print('Error opening secrets config:', error)
    sys.exit(1)

hostname = socket.gethostname().replace('.','_')
status_metrics   = graphyte.Sender('localhost', prefix='testnet.%s.status.byhost.%s'   % (testnet, hostname))

status = json.loads(cli('coda client status -json'))

for stat in ['uptime_secs', 'blockchain_length']:
    status_metrics.send(stat,int(status[stat]))

status_metrics.send('peer_count',int(len(status['peers'])))
示例#16
0
#app.debug = True
app.use_reloader = False
app.debug = False

CURPROBES = ""

if not os.path.isfile(probe_file):
    print("Probe file: %s not found - exiting" % probe_file)
    sys.exit(1)
f = open(probe_file, "rb")
raw_probe = f.read().decode('utf-8')
f.close()
PROBES = json.loads(raw_probe)

if log_graphite:
    gSend = graphyte.Sender('graphite')

FLOG = None


def main():
    global CURPROBES
    global GASVAL
    global CHAMBER_AVG
    global CHAMBER_TARGET
    global FLOG

    print("Init of probe data")
    getSH(0)
    getSH(1)
    getSH(2)
示例#17
0
debug = False

# sensitive config
try:
    with open('/etc/testnet_config.json') as config_file:
        config = json.load(config_file)
        elastic_url = config['elastic_url']
        testnet = config['testnet']
except IOError as error:
    testnet = 'UNKNOWN'

myHostName = socket.gethostname().replace('.', '_')

count = 0
for entry in get_trust():
    if 'ip' in entry:
        friendly_ip = entry['ip'].replace('.', '_')

        # skip small values
        if abs(entry['status']['trust']) < 0.001:
            continue
        if debug:
            print(json.dumps(entry, indent=2))

        metrics = graphyte.Sender('localhost', prefix='trust.%s.by_peer.%s.%s' % (
            testnet, myHostName, friendly_ip))
        metrics.send('trust', entry['status']['trust'])
        count += 1
print ('Sent %s trust metrics.' % count)
示例#18
0
def send_metrics(metrics):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='weather')
    for metric in metrics:
        sender.send(metric[0], metric[1])
示例#19
0
    def __init__(self, host=None, port=None, prefix=None):

        self.sender = graphyte.Sender(host or os.environ["GRAPHITE_HOST"], port=port or int(os.environ["GRAPHITE_PORT"]), prefix=prefix or "nandy")
示例#20
0
def send_metrics(value):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='stocks')
    sender.send("YNDX", value)
示例#21
0
文件: run.py 项目: kvk1920/devops-hw
def send_metrics(weather):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='weather')
    print(weather, file=sys.stderr)
    for weather_param in weather:
        sender.send(weather_param[0], float(weather_param[1]))
示例#22
0
    mydata = json.loads(r.text)['data']['blocks']['nodes']

    for key in mydata:
        if 'creator' in key:
            pubkey = key['creator']
            if pubkey in key_to_user:
                # print(key_to_user[pubkey])
                myresults[key_to_user[pubkey]] += 1
    return (myresults)


if __name__ == "__main__":
    # Load sensitive config
    try:
        with open('/etc/testnet_config.json') as config_file:
            config = json.load(config_file)
            testnet = config['testnet']

    except IOError as error:
        print('Error opening secrets config:', error)
        sys.exit(1)

    results = get_blocks()
    metrics = graphyte.Sender('localhost',
                              prefix='testnet.%s.stats.blocks_byuser' %
                              (testnet))

    for user in results:
        print('data', user, results[user])
        metrics.send(user, int(results[user]))
示例#23
0
import json
import urllib.request
import graphyte
import logging
import time

logging.getLogger().setLevel(logging.INFO)

GRAPHITE_HOST = 'graphite'
CURRENCIES = ['CAD', 'CHF', 'USD']
BASE_URL = 'https://api.exchangeratesapi.io/latest'
SENDER = graphyte.Sender(GRAPHITE_HOST, prefix='currencies')


def main():
    logging.info("Request: %s", BASE_URL)
    response = json.loads(
        urllib.request.urlopen(BASE_URL).read().decode('utf-8'))
    logging.info('Response: %s', response)
    for currency in CURRENCIES:
        SENDER.send(currency, response['rates'][currency])


if __name__ == '__main__':
    while True:
        try:
            main()
        except:
            logging.exception("Unhandled exception")
        time.sleep(5)
示例#24
0
def send_metrics(predictions):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='currencies_predictions')
    for prediction in predictions:
        sender.send(prediction[0], prediction[1], timestamp=time.time() + day_duration)
示例#25
0
def send_metrics(gold_prices_series, data_type):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='gold_prices')
    for gold_price in gold_prices_series:
        sender.send(data_type, gold_price[1])
示例#26
0
def send_metrics(radiation, info_type):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='radiation')
    for i, r in enumerate(radiation):
        sender.send(info_type, r[0], timestamp=r[1])
示例#27
0
def send_metrics(currencies):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='currencies')
    for currency in currencies:
        sender.send(currency[0], currency[1])
示例#28
0
def send_forecast_metric(weather, timestamp):
    sender = graphyte.Sender(GRAPHITE_HOST, prefix='yandex_weather')
    sender.send('forecast.temp', weather, time.time() + 30)