Question: Hm, what do you use in the client software to send data to.. the zipperstack :slightly_smiling_face: https://github.com/go-kit/kit/metrics/graphite ? https://github.com/marpaia/graphite-golang ? (in Go)

Asked By
leitzler
Asked At
2017-11-10 12:26:48

Found 15 possible answers.

User Answered At Possible Answer
civil 2017-11-10 13:03:41 Depends on the language :slightly_smiling_face: For go metrics we mostly export mostly use expvars + g2g but both graphite-golang and go-kit/kit/metrics/graphite should work :slightly_smiling_face: https://github.com/peterbourgon/g2g
leitzler 2017-11-10 15:30:07 Ha, didn't know about expvar .. damn I love Go
civil 2017-11-10 15:30:14 :slightly_smiling_face: @arodland btw, I sometimes miss the notifications from slack (not sure why), but I hope if you’ll poke me by nick or specify ‘zipper’ in message it’ll be highlighted for me
dgryski 2017-11-10 16:39:30 expvar is amazing. Also, https://tip.golang.org/debug/vars
arodland 2017-11-10 17:26:20 @civil no worries, if it was anything important I would have made sme noise :slightly_smiling_face:
tim.rice 2017-11-29 18:22:24 hey! how does carbonzipper merge a timeseries if multiple backends have the same timeseries and there are missing points? will it fill in the gaps, or just pick the backend that has least gaps etc?
dgryski 2017-11-29 19:46:18 The logic could be better, but at the moment I *think* it takes the first series that comes back from the servers and fills in the missing points from the other requests. Also, https://github.com/go-graphite/carbonzipper/issues/4 and https://github.com/go-graphite/carbonzipper/issues/22 https://github.com/go-graphite/carbonzipper/blob/master/zipper/zipper.go#L168 That is in fact the use case that caused carbonzipper to be written in the first place, which started the whole zipperstack development.
tim.rice 2017-11-29 19:50:57 ok, thanks for the answer :slightly_smiling_face: thats what i suspected. am i correct in assuming that if two backends have different storage schemas then mergeing will fail?
dgryski 2017-11-29 19:56:54 storage schemas you mean retention and rollup periods? but yes; if they're not the same then zipper will skip merging
tim.rice 2017-11-29 20:00:36 yup thats what i mean :slightly_smiling_face:
dgryski 2017-11-29 20:03:24 Feel free to patch the zipper to improve the logic here :D For our original use case, the same metric with different roll-up configurations was a bug; our systems were supposed to be replicas so we tracked down those cases and fixed them as we found them
tim.rice 2017-11-29 20:07:13 ah, we're migrating to a new set of go-carbon servers using a much more "high-resolution" roll-up config, and the hope was that carbonzipper could merge them anyway while we roll out the new hosts
dgryski 2017-11-29 20:07:41 Sadly nope :( It gets tricky. Take the more-aggregated one, aggregate the higher-resolution one, and then merge? If a value has been aggregated, what do you put in? At least not at the moment. The problem really is "how do you merge timeseries when things don't match up?"
tim.rice 2017-11-29 20:09:05 yeah i understand, it was a very niche use case for us :slightly_smiling_face: no big problem
dgryski 2017-11-29 20:09:14 Or take the higher resolution one and make guesses at the individual points from the rolled-up version?

Related Questions