-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature request: graphite templating - fields #4176
Comments
I've implemented a basic prototype which works in the sense that now you can specify field names for metrics, however I've hit a limitation which I've clarified with the UDP input: Test:
Same query run before and after test:
This implies that there is no way to What this means is that unless the graphite input is modified to do some sort of caching/buffering (to allow time for a group of metrics to be grouped into a single transaction) - there is no way for influxdb to store graphite metrics in the 'influxdb way' where a single timestamp has tags with multiple fields. Is this something that is lightly to happen? Would a third party application infront of influxdb that translates graphite data to influxdb line protocol (similar to statsd) be a better idea..? |
That is correct. This is not possible within the InfluxDB system. |
When 0.9.5 ships, updates to a single field will be possible. |
OK great, thanks peeps! Would love some feedback on implementation detail in the linked PR. I should be able to finish off the patch/tests/docs by the time the new influxdb storage engine is added to the nightly builds so with any luck we may be able to get this feature into 0.9.5..? :) |
Sounds like a reasonable idea. Any comment @jwilder ? |
Main questions regarding implementation:
|
Personally, I would model these measurements slightly differently. Instead of a measurement named The reason I usually suggest that is for discoverability/usability as well as performance. For example, when you run If the measurement is From a storage perspective, multiple fields need to scanned and read even if they are not used in the query. If there is a single In any event, a minimalist feature set would be better here since each feature adds latency to each write request that is handled:
|
@jwilder, thanks very much for your response. I'm all in favour of simplicity. Personally I prefer taking the performance hit and using fields. We've been storing a lot of metrics in this way using the native line protocol and so the reason for this feature request is that I'd like organisational consistency between our app metrics and system metrics (which are mostly created by 3rd party graphite plugins). In terms of query building, we do it through grafana and so the extra steps aren't really a problem for us. I'll finish the patch ASAP. Cheers, |
Fixed via #4178 |
Hi,
As far as I can work out it's not possible to use templates to create fields.
I would like to store data in graphite form in the influxdb way, for example, with the following graphite input:
I would expect to be able to translate it into the following line protocol equivalent using templates:
Introducing a new key word of 'field' might make sense so my template could look something like:
But it seems like the templates are limited in that they only allow setting of a measurement name with a single 'field' of 'value', is this correct? Apologies if I'm missing something!
Cheers!
The text was updated successfully, but these errors were encountered: