Beispiel #1
0
#!/usr/bin/python3 -i

import os
import sys
import time
import logging

from ovis_ldms import ldms
from record_common import *

LOG_FMT = "%(asctime)s.%(msecs)03d %(levelname)s %(module)s %(message)s"
logging.basicConfig(datefmt="%F-%T", format=LOG_FMT, level=logging.INFO)
log = logging.getLogger()

ldms.init(16*1024*1024)

set1 = add_set("node-1/set1")
set3_p = add_set("node-1/set3_p", array_card=SET_BUFFER)
set3_c = add_set("node-1/set3_c", array_card=SET_BUFFER)
set3_c.data_copy_set(1) # turn on data copy

update_set(set1, 1)
update_set(set3_p, 2)
update_set(set3_c, 3)

verify_set(set1)
verify_set(set3_p)
verify_set(set3_c)

x = ldms.Xprt(name="sock")
def listen_cb(ep, ev, arg):
Beispiel #2
0
psr = ap.ArgumentParser(description="Python LDMS dir, lookup and peridically updates", add_help=False)
psr.add_argument("-x", "--xprt", default="sock",
                 help="Transport type (default: sock)")
psr.add_argument("-p", "--port", default="20001",
                 help="Port to listen or to connect (default: 20001)")
psr.add_argument("-h", "--host", default=socket.gethostname(),
                 help="Port to listen or to connect (default: ${HOSTNAME})")
psr.add_argument("-m", "--mem", type=int, default=16*1024*1024,
                 help="Memory allocation (default: 16000000)")
psr.add_argument("-i", "--interval", default=1.0, type=float,
                 help="Interval (1.0 sec)")
psr.add_argument("-?", "--help", action="help",
                 help="Show help message")
g = psr.parse_args()
ldms.init(g.mem)

g.x = ldms.Xprt(name=g.xprt)
g.sets = dict()
g.cond = thread.Condition()
g.num_lookups = 0
g.num_updates = 0
g.num_sets = 0
g.done_dir = False

def interval_block(interval, offset):
        t0 = time.time()
        t1 = (t0 + interval)//interval*interval + offset
        dt = t1 - t0
        time.sleep(dt)
Beispiel #3
0
#!/usr/bin/env python3

# Test/verify ldms_grp index locally (no remote update) for member
# adding/removing capabilities.

from ovis_ldms import ldms

ldms.init(128*1024*1024)

class Debug(object): pass

D = Debug()

def grp_add(grp, m):
    print("adding:", m)
    D.s0 = set(grp)
    grp.transaction_begin()
    grp.add(m)
    grp.transaction_end()
    D.s1 = set(grp)
    print(grp)
    assert(D.s0 < D.s1 and D.s1 - D.s0 == set([m]))
    grp.verify()

def grp_rm(grp, m):
    print("removing:", m)
    D.s0 = set(grp)
    grp.transaction_begin()
    grp.remove(m)
    grp.transaction_end()
    D.s1 = set(grp)
Beispiel #4
0
#    Each dictionary in the hunk is a JSON dump of the LDMS set received in
#    update callback.

import os
import sys
import json
import time
import argparse
import threading

from ovis_ldms import ldms

if __name__ != "__main__":
    raise ImportError("This is not a module")

ldms.init(1024 * 1024 * 16)

M = 1000000  # million: 1e6

ap = argparse.ArgumentParser()
ap.add_argument("-H", "--host", type=str, default="node-1", help="ldmsd host.")
ap.add_argument("-P", "--port", type=int, default=10000, help="ldmsd port.")
ap.add_argument("-I",
                "--interval",
                type=int,
                default=1 * M,
                help="update interval (in micro seconds).")
ap.add_argument("-O",
                "--offset",
                type=int,
                default=M // 2,