似乎有两种方法将指标推送到石墨/碳,
- 线接收器
- 泡菜接收机
根据文档http://graphite.readthedocs.org/en/1.0/feeding-carbon.html pickle更好,因为它允许在单个调用中批量处理多个指标。
但是也可以通过使用换行符分隔度量来将度量批处理到行接收器。例:
echo -e "local.random.diceroll4 40 `date +%s`nlocal.random.diceroll5 400 `date +%s`" | nc localhost 2003
那么考虑到pickle/取消pickle度量的额外开销,何时以及为什么pickle接收器比line接收器更好?
Pickle允许您为单个度量发送多个时间戳/值对。文档确实说它比逐行协议快,但没有给出原因。一种可能性是,通过对同一度量的多个值进行批处理,.wsp文件被打开并保存在缓存中,用于第二个或以后的数据点。如果在每次命名度量时只提供一个时间/值对,似乎不太可能更有效。
我的猜测是不发送度量名称一遍又一遍(大小)和更好的可读性和管理通过列表