当前位置: 首页>>代码示例>>Python>>正文


Python graph.TmpGraph类代码示例

本文整理汇总了Python中rrd.model.graph.TmpGraph的典型用法代码示例。如果您正苦于以下问题:Python TmpGraph类的具体用法?Python TmpGraph怎么用?Python TmpGraph使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了TmpGraph类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: chart

def chart():
    endpoints = request.form.getlist("endpoints[]") or []
    counters = request.form.getlist("counters[]") or []
    graph_type = request.form.get("graph_type") or GRAPH_TYPE_HOST
    endpoints = sorted(set(endpoints))

    group_objs = Group.gets_by_group(endpoints)
    if len(group_objs) > 0:
        group_ids = [x.id for x in group_objs]
        grouphost_objs = GroupHost.search(group_ids)
        host_ids = [x.hostId for x in grouphost_objs]
        host_objs = Host.search(host_ids)
        endpoint_names = [x.name for x in host_objs]
        id_ = TmpGraph.add(endpoint_names, counters)
    else:
        id_ = TmpGraph.add(endpoints, counters)

    ret = {
            "ok": False,
            "id": id_,
            "params": {
                "graph_type": graph_type,
            },
    }
    if id_:
        ret['ok'] = True

    return json.dumps(ret)
开发者ID:Cepave,项目名称:dashboard,代码行数:28,代码来源:chart.py

示例2: charts

def charts():
    if not g.id:
        abort(400, "no graph id given")

    tmp_graph = TmpGraph.get(g.id)
    if not tmp_graph:
        abort(404, "no graph which id is %s" %g.id)

    counters = tmp_graph.counters
    if not counters:
        abort(400, "no counters of %s" %g.id)
    counters = sorted(set(counters))

    endpoints = tmp_graph.endpoints
    if not endpoints:
        abort(400, "no endpoints of %s" %g.id)
    endpoints = sorted(set(endpoints))

    chart_urls = []
    chart_ids = []
    p = {
        "id": "",
        "legend": g.legend,
        "cf": g.cf,
        "sum": g.sum,
        "graph_type": g.graph_type,
        "nav_header": g.nav_header,
        "start": g.start,
        "end": g.end,
    }

    if g.graph_type == GRAPH_TYPE_KEY:

        for x in endpoints:
            id_ = TmpGraph.add([x], counters)
            if not id_:
                continue

            p["id"] = id_
            chart_ids.append(int(id_))
            src = "/chart/h?" + urllib.urlencode(p)
            chart_urls.append(src)
    elif g.graph_type == GRAPH_TYPE_HOST:
        for x in counters:
            id_ = TmpGraph.add(endpoints, [x])
            if not id_:
                continue
            p["id"] = id_
            chart_ids.append(int(id_))
            src = "/chart/h?" + urllib.urlencode(p)
            chart_urls.append(src)
    else:
        id_ = TmpGraph.add(endpoints, counters)
        if id_:
            p["id"] = id_
            chart_ids.append(int(id_))
            src = "/chart/a?" + urllib.urlencode(p)
            chart_urls.append(src)

    return render_template("chart/multi_ng.html", **locals())
开发者ID:codepiano,项目名称:dashboard,代码行数:60,代码来源:chart.py

示例3: chart

def chart():
    endpoints = request.form.getlist("endpoints[]") or []
    counters = request.form.getlist("counters[]") or []
    graph_type = request.form.get("graph_type") or GRAPH_TYPE_HOST

    id_ = TmpGraph.add(endpoints, counters)

    ret = {"ok": False, "id": id_, "params": {"graph_type": graph_type}}
    if id_:
        ret["ok"] = True

    return json.dumps(ret)
开发者ID:missuzhang,项目名称:dashboard,代码行数:12,代码来源:chart.py

示例4: api_create_tmpgraph

def api_create_tmpgraph():
    d = request.data
    jdata = json.loads(d)
    endpoints = jdata.get("endpoints") or []
    counters = jdata.get("counters") or []
    id_ = TmpGraph.add(endpoints, counters)

    ret = {"ok": False, "id": id_}
    if id_:
        ret["ok"] = True
        return json.dumps(ret)
    else:
        return json.dumps(ret)
开发者ID:chuanxd,项目名称:dashboard,代码行数:13,代码来源:api.py

示例5: multi_counters_chart_data

def multi_counters_chart_data():
    if not g.id:
        abort(400, "no graph id given")

    tmp_graph = TmpGraph.get(g.id)
    if not tmp_graph:
        abort(404, "no graph which id is %s" %g.id)

    counters = tmp_graph.counters
    if not counters:
        abort(400, "no counters of %s" %g.id)
    counters = sorted(set(counters))

    endpoints = tmp_graph.endpoints
    if not endpoints:
        abort(400, "no endpoints of %s" % g.id)
    endpoints = sorted(set(endpoints))

    ret = {
        "units": "",
        "title": "",
        "series": []
    }
    ret['title'] = endpoints[0]
    e = endpoints[0]
    endpoint_counters = []
    for c in counters:
        endpoint_counters.append({
            "endpoint": e,
            "counter": c,
        })

    series = []
    chart_series = create_chart_series(endpoint_counters, g.start, g.end, 'k', e)
    series = chart_series
    if g.comp_date > 0:
        comp_date_str = datetime.datetime.fromtimestamp(g.comp_date).strftime("%Y-%m-%d")
        comp_series = create_chart_series(endpoint_counters, g.comp_start, g.comp_end, 'k', e, comp_date_str + ":", g.duration)
        series.extend(comp_series)

    ret['series'] = series
    return json.dumps(ret)
开发者ID:modeyang,项目名称:dashboard,代码行数:42,代码来源:chart.py

示例6: get_endpoint_detail_charts

def get_endpoint_detail_charts():
    
    counters = []
    endpoints = []
    counters0 = request.form.getlist("counters[]") or []
    graph_type = request.form.get("graph_type") or GRAPH_TYPE_HOST
    endpoint0 = request.form.get("endpoint") or ""
    qtype = request.form.get("type") or ""    
    
    endpointlist = Endpoint.search_agent_and_httpapi_by_endpoint(endpoint0)
    for endpoint in endpointlist:
	endpoints.append(endpoint.endpoint)
	for counter in counters0:
            if counter == "port":
                counters.append("net.port.listen/port=" + endpoint.id)
	    elif counter == "memory":
		counters.append("mem.memfree.percent")
	    elif counter == "df":
		counters.append("df.statistics.used.percent")
	    else:
		if (qtype == "mysql" or qtype == "redis"):
		    counters.append(counter + endpoint.id)
		else:
		    counters.append(counter)

    endpoints.append(endpoint0)
    print endpoints
    print counters
    id_ = TmpGraph.add(endpoints, counters)

    ret = {
            "ok": False,
            "id": id_,
            "params": {
                "graph_type": graph_type,
            },
    }
    if id_:
        ret['ok'] = True

    return json.dumps(ret)
开发者ID:Jimbean0615,项目名称:dashboard,代码行数:41,代码来源:api.py

示例7: multi_chart_data

def multi_chart_data():
    if not g.id:
        abort(400, "no graph id given")

    tmp_graph = TmpGraph.get(g.id)
    if not tmp_graph:
        abort(404, "no graph which id is %s" %g.id)

    counters = tmp_graph.counters
    if not counters:
        abort(400, "no counters of %s" %g.id)
    counters = sorted(set(counters))

    endpoints = tmp_graph.endpoints
    if not endpoints:
        abort(400, "no endpoints of %s, and tags:%s" %(g.id, g.tags))
    endpoints = sorted(set(endpoints))

    ret = {
        "units": "",
        "title": "",
        "series": []
    }

    endpoint_counters = []
    for e in endpoints:
        for c in counters:
            endpoint_counters.append({
                "endpoint": e,
                "counter": c,
            })
    query_result = graph_query(endpoint_counters, g.cf, g.start, g.end)

    series = []
    for i in range(0, len(query_result)):
        x = query_result[i]
        try:
            xv = [(v["timestamp"]*1000, v["value"]) for v in x["Values"]]
            serie = {
                    "data": xv,
                    "name": "%s %s" %(query_result[i]["endpoint"], query_result[i]["counter"]),
                    "cf": g.cf,
                    "endpoint": "",
                    "counter": "",
            }
            series.append(serie)
        except:
            pass

    sum_serie = {
            "data": [],
            "name": "sum",
            "cf": g.cf,
            "endpoint": "",
            "counter": "",
    }
    if g.sum == "on" or g.sumonly == "on":
        sum = []
        tmp_ts = []
        max_size = 0
        for serie in series:
            serie_vs = [x[1] for x in serie["data"]]
            if len(serie_vs) > max_size:
                max_size = len(serie_vs)
                tmp_ts = [x[0] for x in serie["data"]]
            sum = merge_list(sum, serie_vs)
        sum_serie_data = []
        for i in range(0, max_size):
            sum_serie_data.append((tmp_ts[i], sum[i]))
        sum_serie['data'] = sum_serie_data

        series.append(sum_serie)

    if g.sumonly == "on":
        ret['series'] = [sum_serie,]
    else:
        ret['series'] = series

    return json.dumps(ret)
开发者ID:codepiano,项目名称:dashboard,代码行数:79,代码来源:chart.py

示例8: create_tmp_graph

def create_tmp_graph(endpoints, counters):
    id_ = TmpGraph.add(endpoints, counters)
    return id_
开发者ID:Cepave,项目名称:dashboard,代码行数:3,代码来源:graph_urls.py

示例9: api_charts

def api_charts():
    ret = {
	"ok":True,
	"msg":"",
	"chart_ids":[],
	"chart_urls":[]
    }
    p = {
        "id": "",
        "legend": g.legend,
        "cf": g.cf,
        "sum": g.sum,
        "graph_type": g.graph_type,
        "nav_header": g.nav_header,
        "start": g.start,
        "end": g.end,
    } 
    if not g.id:
        abort(400, "no graph id given")

    tmp_graph = TmpGraph.get(g.id)
    if not tmp_graph:
        abort(400,"no graph which id is %s" % g.id)
    counters = tmp_graph.counters
    if not counters:
        abort(400, "no counters of %s" %g.id)
    counters = sorted(set(counters))
        
    endpoints = tmp_graph.endpoints
    if not endpoints:
        abort(400, "no endpoints of %s" %g.id)
    endpoints = sorted(set(endpoints))

    index = request.args.get("index",0)
     
    cur = int(index)
    chart_ids = []
    chart_urls = []
    max_load_graph = int(CHART_MAX_LOAD_GRAPH)
    if g.graph_type == GRAPH_TYPE_KEY:
        for x in endpoints[cur:cur+max_load_graph]:
            id_ = TmpGraph.add([x],counters)
            if not id_:
                continue
            p["id"] = id_
            chart_ids.append(int(id_))
            src = "/chart/k?" + urllib.urlencode(p)
            chart_urls.append(src)
    if g.graph_type == GRAPH_TYPE_HOST:
        for x in counters[cur:cur+max_load_graph]:
            id_ = TmpGraph.add(endpoints, [x])
            if not id_:
                continue
            p["id"] = id_
            chart_ids.append(int(id_))
            src = "/chart/h?" + urllib.urlencode(p)
            chart_urls.append(src)
    
    ret['chart_ids'] = chart_ids
    ret['chart_urls'] = chart_urls
    return json.dumps(ret)	
开发者ID:masanmu,项目名称:dashboard,代码行数:61,代码来源:chart.py

示例10: dash_graph_edit

def dash_graph_edit(gid):
    error = ""
    is_tmp_graph = False
    graph = DashboardGraph.get(gid)

    all_screens = DashboardScreen.gets()
    top_screens = [x for x in all_screens if x.pid == '0']
    children = []
    for t in top_screens:
        children.append([x for x in all_screens if x.pid == t.id])

    if not graph:
        # 编辑临时 graph
        graph = TmpGraph.get(gid)
        graph = DashboardGraph.add('graph', graph.endpoints, graph.counters, 0)

        if not graph:
            abort(404, "no graph")
        is_tmp_graph = True

    if not is_tmp_graph:
        screen = DashboardScreen.get(graph.screen_id)
        if not screen:
            abort(404, "no screen")
    # pscreen = DashboardScreen.get(screen.pid)

    if request.method == "POST":
        ajax = request.form.get("ajax", "")
        screen_id = request.form.get("screen_id")
        title = request.form.get("title", "").strip()

        hosts = request.form.get("hosts", "").strip()
        hosts = hosts and hosts.split("\n") or []
        hosts = [x.strip() for x in hosts]

        counters = request.form.get("counters", "").strip()
        counters = counters and counters.split("\n") or []
        counters = [x.strip() for x in counters]

        timespan = request.form.get("timespan", 3600)
        graph_type = request.form.get("graph_type", 'h')
        method = request.form.get("method", '').upper()
        position = request.form.get("position", 0)

        if is_tmp_graph:  # 如果是临时graph修改之后就添加进去
            graph = DashboardGraph.add(title, hosts, counters, screen_id,
                                       timespan, graph_type, method, position)
        else:
            graph = graph.update(title, hosts, counters, screen_id,
                                 timespan, graph_type, method, position)

        error = u"修改成功了"
        if not ajax:
            options = qryOptions()
            return redirect('/screen/' + graph.screen_id)  # 重定向到对应的screen
            # return render_template("screen/graph_edit.html", config=config, **locals())
        else:
            return "ok"

    else:
        ajax = request.args.get("ajax", "")
        options = qryOptions()
        return render_template("screen/graph_edit.html", **locals())
开发者ID:1329555958,项目名称:dashboard,代码行数:63,代码来源:screen.py

示例11: multi_counters_chart_data

def multi_counters_chart_data():
    if not g.id:
        abort(400, "no graph id given")

    tmp_graph = TmpGraph.get(g.id)
    if not tmp_graph:
        abort(404, "no graph which id is %s" %g.id)

    counters = tmp_graph.counters
    if not counters:
        abort(400, "no counters of %s" %g.id)
    counters = sorted(set(counters))

    endpoints = tmp_graph.endpoints
    if not endpoints:
        abort(400, "no endpoints of %s" % g.id)
    endpoints = sorted(set(endpoints))

    ret = {
        "units": "",
        "title": "",
        "series": []
    }
    ret['title'] = endpoints[0]
    e = endpoints[0]
    endpoint_counters = []
    for c in counters:
        endpoint_counters.append({
            "endpoint": e,
            "counter": c,
        })

    query_result = graph_query(endpoint_counters, g.cf, g.start, g.end)

    name_pre = ""
    if g.comp_date > 0:
        name_pre = "This Period: "
    series = []
    for i in range(0, len(query_result)):
        x = query_result[i]
        try:
            xv = [(v["timestamp"]*1000, v["value"]) for v in x["Values"]]
            serie = {
                    "data": xv,
                    "name": "%s %s" % (name_pre, query_result[i]["counter"]),
                    "cf": g.cf,
                    "endpoint": query_result[i]["endpoint"],
                    "counter": query_result[i]["counter"],
            }
            series.append(serie)
        except:
            pass

    sum_serie = {
            "data": [],
            "name": "%s %s" % (name_pre, "sum"),
            "cf": g.cf,
            "endpoint": e,
            "counter": "sum",
    }
    if g.sum == "on" or g.sumonly == "on":
        sum = []
        tmp_ts = []
        max_size = 0
        for serie in series:
            serie_vs = [x[1] for x in serie["data"]]
            if len(serie_vs) > max_size:
                max_size = len(serie_vs)
                tmp_ts = [x[0] for x in serie["data"]]
            sum = merge_list(sum, serie_vs)
        sum_serie_data = []
        for i in range(0, max_size):
            sum_serie_data.append((tmp_ts[i], sum[i]))
        sum_serie['data'] = sum_serie_data

        series.append(sum_serie)

    if g.sumonly == "on":
        ret['series'] = [sum_serie,]
    else:
        ret['series'] = series

    if g.comp_date > 0:
        g.start = g.start - g.duration - 60
        g.end = g.end - g.duration + 60
        query_result = graph_query(endpoint_counters, g.cf, g.start, g.end)
        name_pre = "Last Period: "
        series_comp = []
        for i in range(0, len(query_result)):
            x = query_result[i]
            try:
                xv = [((v["timestamp"]+g.duration)*1000, v["value"]) for v in x["Values"]]
                serie = {
                        "data": xv,
                        "name": "%s %s" % (name_pre, query_result[i]["counter"]),
                        "cf": g.cf,
                        "endpoint": query_result[i]["endpoint"],
                        "counter": query_result[i]["counter"],
                }
                series_comp.append(serie)
#.........这里部分代码省略.........
开发者ID:itxx00,项目名称:dashboard,代码行数:101,代码来源:chart.py

示例12: chart

def chart():
    data = request.json or ""
    type = data['type']
    endpoints = []
    counters_ = data['counters']
    counters = []
    graph_type = data['graph_type'] or GRAPH_TYPE_HOST
    containers = []
    if not type:
        return "no type given"
    if type == "node":
        endpoints = data['data']
        counters = counters_
    elif type == "pod":
        for pod in data['data']:
            for container in pod['containers']:
                node = container['hostname']
                containers.append(container['containerId'])
                for counter in counters_:
                    counters.append(counter + "/id=" + container['containerId'])
                if len(endpoints) == 0:
                    endpoints.append(node)
                else:
                    p = 1
                    for endpoint in endpoints:
                        if endpoint == node:
                            break
                        else:
                            p = p + 1
                    if p != len(endpoints):
                        endpoints.append(node)
    elif type == "container":
        for container in data['data']:
            node = container['hostname']
            containers.append(container['containerId'])
            for counter in counters_:
                counters.append(counter + "/id=" + container['containerId'])
            if len(endpoints) == 0:
                endpoints.append(node)
            else:
                p = 1
                for endpoint in endpoints:
                    if endpoint == node:
                        break
                    else:
                        p = p + 1
                if p != len(endpoints):
                    endpoints.append(node)

    id_ = TmpGraph.add(endpoints, counters)
    domeosid_ = DomeosGraph.add(id_, type, json.dumps(data['data']))

    ret = {
            "ok": False,
            "id": id_,
            "domeosid": domeosid_,
            "params": {
                "graph_type": graph_type,
            },
    }
    if id_ and domeosid_:
        ret['ok'] = True

    return json.dumps(ret)
开发者ID:lifuchina,项目名称:dashboard,代码行数:64,代码来源:chart.py

示例13: chart_big

def chart_big():
    if not g.id:
        abort(400, "no graph id given")

    tmp_graph = TmpGraph.get(g.id)
    if not tmp_graph:
        abort(404, "no graph which id is %s" %g.id)

    if not tmp_graph.counters[0]:
        abort(404, "no counter given")

    domeosid = g.domeosid
    if not domeosid:
        abort(400, "no domeos graph id given")

    domeos_graph = DomeosGraph.get(g.domeosid)
    if not domeos_graph:
        abort(404, "no domeos graph which id is %s" %g.domeosid)

    domeos_type = domeos_graph.type
    if not domeos_type:
        abort(400, "no domeos type of %s" %g.domeosid)

    domeos_data = domeos_graph.data

    chart_urls = []
    chart_ids = []
    if domeos_type == 'container':
        containers = json.loads(domeos_data)
        for container in containers:
            endpoint = []
            endpoint.append(container['hostname'])
            counter = []
            counter.append( tmp_graph.counters[0].split('/')[0] + '/id=' + container['containerId'])
            id_ = TmpGraph.add(endpoint, counter)
            if not id_:
                continue
            chart_ids.append(int(id_))
            p = {
                "id": "",
                "legend": g.legend,
                "cf": g.cf,
                "sum": g.sum,
                "graph_type": g.graph_type,
                "nav_header": g.nav_header,
                "start": g.start,
                "end": g.end,
            }
            src = "/chart/h?" + urllib.urlencode(p)
            chart_urls.append(src)
    elif domeos_type == 'pod':
        pods = json.loads(domeos_data)
        for pod in pods:
            for container in pod['containers']:
                endpoint = []
                endpoint.append(container['hostname'])
                counter = []
                counter.append( tmp_graph.counters[0].split('/')[0] + '/id=' + container['containerId'])
                id_ = TmpGraph.add(endpoint, counter)
                if not id_:
                    continue
                chart_ids.append(int(id_))
                p = {
                    "id": "",
                    "legend": g.legend,
                    "cf": g.cf,
                    "sum": g.sum,
                    "graph_type": g.graph_type,
                    "nav_header": g.nav_header,
                    "start": g.start,
                    "end": g.end,
                }
                src = "/chart/h?" + urllib.urlencode(p)
                chart_urls.append(src)

    return render_template("chart/big_ng.html", **locals())
开发者ID:lifuchina,项目名称:dashboard,代码行数:76,代码来源:chart.py


注:本文中的rrd.model.graph.TmpGraph类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。