【发布时间】:2016-02-18 10:49:29
【问题描述】:
我有一个对象列表,每个对象都包含:产品、价格、时间。它基本上保持产品价格随时间的变化。因此,对于每次价格变化,您都会获得包含产品名称、新价格和变化的确切秒数的记录。
我正在使用时间戳(用 python 编写)将数据发送到石墨:
import socket
sock = socket.socket()
sock.connect(('my-host-ip', 2003))
message = 'my.metric.prefix.%s %s %d\n' % (product, price, timestamp)
sock.sendall(message)
sock.close()
问题是,由于价格不会经常变化,数据点非常稀疏,这意味着我以几小时/几天的频率获得每个产品的积分。如果我在价格变化的确切时间查看 Graphite,我可以看到数据点。但如果我想查看价格随时间的变化,我想从价格变化的数据点画一条恒定线。
我尝试使用:
keepLastValue(my.metric.prefix.*)
只有在几分钟而不是几小时(当然不是几天)的时间范围内查看数据点时,我才会工作。有没有办法在 Graphite 中做类似的事情?还是我每分钟都要放一些冗余数据来描述缺失的点?
【问题讨论】: