我们如何获得石墨中的一系列含量值。我检查了函数constantLine(x)
,但它在“图形”上绘制了一个常量线。但是,我需要json格式的值。
函数Identity(t)
,返回x(t) = t;
我们需要的内容y(t) = constant
。
目前,在我看来,我们需要将数据点注入石墨数据库。有没有办法我们可以没有它。
[graphite web uri]/render?target=FUNC(x)&format=json.
* 编辑: 我试过了constantLine(x)函数 我明白了: Traceback(最近一次调用最后一次): *
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/opt/graphite/webapp/graphite/render/views.py", line 104, in renderView
seriesList = evaluateTarget(requestContext, target)
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 10, in evaluateTarget
result = evaluateTokens(requestContext, tokens)
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 21, in evaluateTokens
return evaluateTokens(requestContext, tokens.expression)
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 27, in evaluateTokens
func = SeriesFunctions[tokens.call.func]
KeyError: u'contantLine'
*
答案 0 :(得分:0)
graphite.com/render/?target=constantLine(123.456)&format=json
返回
[{"target": "123.456", "datapoints": [[123.456, 1381399794]]}]
这不是你想要的吗?如果您希望石墨返回纯123.456
,则必须编辑代码并覆盖结果的显示方式。
customConstantLine(requestContext, value)
123.456
时,覆盖渲染类以打印纯customConstantLine()
。单挑:您的编辑还必须考虑返回多个目标的情况。
编辑:
修补你的functions.py
!如果您不想升级Graphite add -
def constantLine(requestContext, value):
start = timestamp( requestContext['startTime'] )
end = timestamp( requestContext['endTime'] )
step = (end - start) / 1.0
series = TimeSeries(str(value), start, end, step, [value, value])
return [series]