)]}'
{"specs/train/approved/grafana-proxy-datasource.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":14,"context_line":"resource optimization. Metrics are retrieved using several different"},{"line_number":15,"context_line":"datasources such as Gnocchi and Monasca, however, not every OpenStack cloud"},{"line_number":16,"context_line":"might have the available datasources deployed. Grafana can be implemented as an"},{"line_number":17,"context_line":"additional datasource that can be used to retrieve metrics from several"},{"line_number":18,"context_line":"different databases that the Grafana endpoint is configured to use."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_1d68f184","line":18,"range":{"start_line":17,"start_character":64,"end_line":18,"end_character":19},"updated":"2019-05-14 15:42:20.000000000","message":"Would be nice to add a footnote reference to this page:\n\nhttps://grafana.com/plugins?type\u003ddatasource\n\nThe point being you can use grafana as a front end to things that watcher already uses natively like gnocchi and monasca but also for things which watcher doesn\u0027t support natively like prometheus and influxdb.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"resource optimization. Metrics are retrieved using several different"},{"line_number":15,"context_line":"datasources such as Gnocchi and Monasca, however, not every OpenStack cloud"},{"line_number":16,"context_line":"might have the available datasources deployed. Grafana can be implemented as an"},{"line_number":17,"context_line":"additional datasource that can be used to retrieve metrics from several"},{"line_number":18,"context_line":"different databases that the Grafana endpoint is configured to use."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_8f7262ac","line":18,"range":{"start_line":17,"start_character":64,"end_line":18,"end_character":19},"in_reply_to":"dfbec78f_1d68f184","updated":"2019-05-14 17:23:20.000000000","message":"Done","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The new Grafana datasource will be able to query for different metrics"},{"line_number":40,"context_line":"depending on what is configured by the end user. Flexible configuration options"},{"line_number":41,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":42,"context_line":"will be configurable per metric using key value pairs in a dictionary, these"},{"line_number":43,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":44,"context_line":"Configuration options include"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_5df749d4","line":42,"range":{"start_line":42,"start_character":69,"end_line":42,"end_character":72},"updated":"2019-05-14 15:42:20.000000000","message":". These","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The new Grafana datasource will be able to query for different metrics"},{"line_number":40,"context_line":"depending on what is configured by the end user. Flexible configuration options"},{"line_number":41,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":42,"context_line":"will be configurable per metric using key value pairs in a dictionary, these"},{"line_number":43,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":44,"context_line":"Configuration options include"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_2f6b36b7","line":42,"range":{"start_line":42,"start_character":69,"end_line":42,"end_character":72},"in_reply_to":"dfbec78f_5df749d4","updated":"2019-05-14 17:23:20.000000000","message":"Done","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":42,"context_line":"will be configurable per metric using key value pairs in a dictionary, these"},{"line_number":43,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":44,"context_line":"Configuration options include"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Endpoint url"},{"line_number":47,"context_line":"* Authorization token"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_7d256d5b","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":29},"updated":"2019-05-14 15:42:20.000000000","message":"nit: include:","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":41,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":42,"context_line":"will be configurable per metric using key value pairs in a dictionary, these"},{"line_number":43,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":44,"context_line":"Configuration options include"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Endpoint url"},{"line_number":47,"context_line":"* Authorization token"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_4f68eab7","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":29},"in_reply_to":"dfbec78f_7d256d5b","updated":"2019-05-14 17:23:20.000000000","message":"Done","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Query map"},{"line_number":51,"context_line":"* Translator map"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The way queries have to be send to the endpoint and how to interpret the"},{"line_number":54,"context_line":"retrieved data will depend upon the database behind Grafana. To account for"},{"line_number":55,"context_line":"these differences between databases specific translators will be developed."},{"line_number":56,"context_line":"The influxdb translator will be developed first."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_9d2aa129","line":53,"range":{"start_line":53,"start_character":27,"end_line":53,"end_character":31},"updated":"2019-05-14 15:42:20.000000000","message":"sent","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Query map"},{"line_number":51,"context_line":"* Translator map"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The way queries have to be send to the endpoint and how to interpret the"},{"line_number":54,"context_line":"retrieved data will depend upon the database behind Grafana. To account for"},{"line_number":55,"context_line":"these differences between databases specific translators will be developed."},{"line_number":56,"context_line":"The influxdb translator will be developed first."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_ef60bed1","line":53,"range":{"start_line":53,"start_character":27,"end_line":53,"end_character":31},"in_reply_to":"dfbec78f_9d2aa129","updated":"2019-05-14 17:23:20.000000000","message":"Done","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The way queries have to be send to the endpoint and how to interpret the"},{"line_number":54,"context_line":"retrieved data will depend upon the database behind Grafana. To account for"},{"line_number":55,"context_line":"these differences between databases specific translators will be developed."},{"line_number":56,"context_line":"The influxdb translator will be developed first."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Because the amount of metrics available to Grafana depends on user"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_7db32d0b","line":55,"range":{"start_line":55,"start_character":26,"end_line":55,"end_character":74},"updated":"2019-05-14 15:42:20.000000000","message":"Ah OK, so I guess it\u0027s not as easy as just using grafana and getting metrics from the underlying DBs for free (using grafana as an abstraction layer). That\u0027s unfortunate.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The way queries have to be send to the endpoint and how to interpret the"},{"line_number":54,"context_line":"retrieved data will depend upon the database behind Grafana. To account for"},{"line_number":55,"context_line":"these differences between databases specific translators will be developed."},{"line_number":56,"context_line":"The influxdb translator will be developed first."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Because the amount of metrics available to Grafana depends on user"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_af85e65b","line":55,"range":{"start_line":55,"start_character":26,"end_line":55,"end_character":74},"in_reply_to":"dfbec78f_7db32d0b","updated":"2019-05-14 17:23:20.000000000","message":"Yes for now maybe abstraction will come with Grafana 6 or later but I doubt it. The graphs and plots you configure in Grafana use raw queries which change per type of database.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":65,"context_line":"interpret both the keys and values to call the appropriate metric method until"},{"line_number":66,"context_line":"the transition is complete."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Similarly currently the metric map will soon be configured using a separate"},{"line_number":69,"context_line":"yaml file instead of in the main configuration. To anticipate `this change`_"},{"line_number":70,"context_line":"the Grafana datasource will depend on the file based metric map and will be"},{"line_number":71,"context_line":"developed to work with."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_9dadc19c","line":69,"range":{"start_line":68,"start_character":0,"end_line":69,"end_character":47},"updated":"2019-05-14 15:42:20.000000000","message":"Well, the metric map file is optional, but yeah.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":65,"context_line":"interpret both the keys and values to call the appropriate metric method until"},{"line_number":66,"context_line":"the transition is complete."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Similarly currently the metric map will soon be configured using a separate"},{"line_number":69,"context_line":"yaml file instead of in the main configuration. To anticipate `this change`_"},{"line_number":70,"context_line":"the Grafana datasource will depend on the file based metric map and will be"},{"line_number":71,"context_line":"developed to work with."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_cf8a9a68","line":69,"range":{"start_line":68,"start_character":0,"end_line":69,"end_character":47},"in_reply_to":"dfbec78f_9dadc19c","updated":"2019-05-14 17:23:20.000000000","message":"Done","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Similarly currently the metric map will soon be configured using a separate"},{"line_number":69,"context_line":"yaml file instead of in the main configuration. To anticipate `this change`_"},{"line_number":70,"context_line":"the Grafana datasource will depend on the file based metric map and will be"},{"line_number":71,"context_line":"developed to work with."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. _there is a transition: https://specs.openstack.org/openstack/watcher-specs/specs/train/approved/formal-datasource-interface.html"},{"line_number":74,"context_line":".. _this change: https://specs.openstack.org/openstack/watcher-specs/specs/train/approved/file-based-metricmap.html"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_7d81edfa","line":71,"range":{"start_line":71,"start_character":18,"end_line":71,"end_character":22},"updated":"2019-05-14 15:42:20.000000000","message":"with it.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Similarly currently the metric map will soon be configured using a separate"},{"line_number":69,"context_line":"yaml file instead of in the main configuration. To anticipate `this change`_"},{"line_number":70,"context_line":"the Grafana datasource will depend on the file based metric map and will be"},{"line_number":71,"context_line":"developed to work with."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. _there is a transition: https://specs.openstack.org/openstack/watcher-specs/specs/train/approved/formal-datasource-interface.html"},{"line_number":74,"context_line":".. _this change: https://specs.openstack.org/openstack/watcher-specs/specs/train/approved/file-based-metricmap.html"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_8f802248","line":71,"range":{"start_line":71,"start_character":18,"end_line":71,"end_character":22},"in_reply_to":"dfbec78f_7d81edfa","updated":"2019-05-14 17:23:20.000000000","message":"Done","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The configuration file will need to contain the Grafana authorization token"},{"line_number":97,"context_line":"which provides read access to the databases Grafana is configured for."},{"line_number":98,"context_line":"The configuration file already contains other important credentials."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Notifications impact"},{"line_number":101,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_bdde850e","line":98,"updated":"2019-05-14 15:42:20.000000000","message":"This is referring to https://docs.openstack.org/watcher/latest/configuration/watcher.html#watcher-clients-auth right?","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"90f430dfbb13e73edb537534b39d519b20978ab4","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The configuration file will need to contain the Grafana authorization token"},{"line_number":97,"context_line":"which provides read access to the databases Grafana is configured for."},{"line_number":98,"context_line":"The configuration file already contains other important credentials."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Notifications impact"},{"line_number":101,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_4f96aa95","line":98,"in_reply_to":"dfbec78f_bdde850e","updated":"2019-05-14 17:23:20.000000000","message":"Yes exactly you already have credentials in the configuration to authenticate with OpenStack services so this read only access token is not really a concern in comparison.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4f1b282994717e89137cb085532c829c580b5e2","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Unit tests for both the datasource itself as well as the translator base class"},{"line_number":155,"context_line":"and any subsequent translators will be created."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Documentation Impact"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dfbec78f_bdf1a56d","line":156,"updated":"2019-05-14 15:42:20.000000000","message":"Any thoughts on a devstack-based job which uses influxdb and grafana? Maybe that\u0027s a stretch goal.","commit_id":"7091983ff16bceb7a81c4fc962f0d0f5decfd457"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"43b958f4538b8f2f6d917acfbf77e30a59d9b719","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The new Grafana datasource will be able to query for different metrics"},{"line_number":41,"context_line":"depending on what is configured by the end user. Flexible configuration options"},{"line_number":42,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":43,"context_line":"will be configurable per metric using key value pairs in a dictionary. These"},{"line_number":44,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":45,"context_line":"Configuration options include:"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_a743c641","line":43,"range":{"start_line":42,"start_character":57,"end_line":43,"end_character":70},"updated":"2019-05-15 07:45:08.000000000","message":"Could you give an example?","commit_id":"9e637010280a3409a06acf50c87ca20e9768d7b0"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"49dd10410bc3f16fe67a199eff92724fe3fa3a1c","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The new Grafana datasource will be able to query for different metrics"},{"line_number":41,"context_line":"depending on what is configured by the end user. Flexible configuration options"},{"line_number":42,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":43,"context_line":"will be configurable per metric using key value pairs in a dictionary. These"},{"line_number":44,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":45,"context_line":"Configuration options include:"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_350860d8","line":43,"range":{"start_line":42,"start_character":57,"end_line":43,"end_character":70},"in_reply_to":"dfbec78f_a743c641","updated":"2019-05-15 09:39:17.000000000","message":"Done","commit_id":"9e637010280a3409a06acf50c87ca20e9768d7b0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"78e8de8c58843d4a338bcf121b94de244806a81c","unresolved":false,"context_lines":[{"line_number":74,"context_line":".. _there is a transition: https://specs.openstack.org/openstack/watcher-specs/specs/train/approved/formal-datasource-interface.html"},{"line_number":75,"context_line":".. _this change: https://specs.openstack.org/openstack/watcher-specs/specs/train/approved/file-based-metricmap.html"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Alternatives"},{"line_number":78,"context_line":"------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Datasources for individual databases that Grafana integrates with could be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfbec78f_5b6d0cca","line":77,"updated":"2019-05-14 21:36:53.000000000","message":"Not sure if it would be here or elsewhere in the doc (problem description maybe?), but I wanted to touch on this:\n\n\u003e maybe the advantage is grafana handles the aggregation for those backends so you don\u0027t have to use something like influxdb cluster software (which is closed source and licensed)?\n\nIs that a true statement? You said CERN has multiple different influxdbs (some for compute nodes, some for instances) and rather than buy an influxdb cluster (closed source) license to aggregate those, you can do it with grafana. Does this translate to an advantage to use grafana as a proxy for watcher because otherwise you\u0027d have to buy that clustering software for the single endpoint? Because watcher is only going to know about the one datasource endpoint right? Or would you have to have multiple watcher datasources per influxdb?\n\n\u003e The primary advantage is that you have a single endpoint you have to know the url for and authenticate with.\n\nSure, but does that overlap with the advantage I\u0027m trying to get at above?","commit_id":"9e637010280a3409a06acf50c87ca20e9768d7b0"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"bb08e8e2d217cbcdd89676d860fa443a2011004e","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The new Grafana datasource will be able to query for different metrics"},{"line_number":43,"context_line":"depending on what is configured by the end user. Flexible configuration options"},{"line_number":44,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":45,"context_line":"will be configurable per metric using key value pairs in a dictionary. These"},{"line_number":46,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":47,"context_line":"Configuration options include:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_45cfd6af","line":44,"range":{"start_line":44,"start_character":36,"end_line":44,"end_character":41},"updated":"2019-05-22 07:50:59.000000000","message":"user\u0027s ?","commit_id":"980cef2e63934858dda13db069bf66cdd75ef8e9"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"d16ca9b987f67dd0e8b8fd09fa9d22e845f6273b","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The new Grafana datasource will be able to query for different metrics"},{"line_number":43,"context_line":"depending on what is configured by the end user. Flexible configuration options"},{"line_number":44,"context_line":"will allow Grafana to work for each users configuration. Some of these options"},{"line_number":45,"context_line":"will be configurable per metric using key value pairs in a dictionary. These"},{"line_number":46,"context_line":"options are called maps as they map the value to a specific metric."},{"line_number":47,"context_line":"Configuration options include:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_714f3892","line":44,"range":{"start_line":44,"start_character":36,"end_line":44,"end_character":41},"in_reply_to":"bfb3d3c7_45cfd6af","updated":"2019-05-22 11:31:50.000000000","message":"Done","commit_id":"980cef2e63934858dda13db069bf66cdd75ef8e9"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"bb08e8e2d217cbcdd89676d860fa443a2011004e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"::"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  [grafana_client]"},{"line_number":62,"context_line":"  token \u003d uyyNKUJOZiLW7AVKRF7XAAAAQQDzoXbnS6cOxxcqJfS8ZEQyxgakF0bSUo0D\u003d\u003d"},{"line_number":63,"context_line":"  base_url \u003d https://grafana.ch/api/datasources/proxy/"},{"line_number":64,"context_line":"  project_id_map \u003d host_cpu_usage:1337,instance_cpu_usage:4337"},{"line_number":65,"context_line":"  metric_db_map \u003d host_cpu_usage:production_db,instance_cpu_usage:production_db"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_051d5e0e","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":7},"updated":"2019-05-22 07:50:59.000000000","message":"Does this token have an expire date?","commit_id":"980cef2e63934858dda13db069bf66cdd75ef8e9"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"d16ca9b987f67dd0e8b8fd09fa9d22e845f6273b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"::"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  [grafana_client]"},{"line_number":62,"context_line":"  token \u003d uyyNKUJOZiLW7AVKRF7XAAAAQQDzoXbnS6cOxxcqJfS8ZEQyxgakF0bSUo0D\u003d\u003d"},{"line_number":63,"context_line":"  base_url \u003d https://grafana.ch/api/datasources/proxy/"},{"line_number":64,"context_line":"  project_id_map \u003d host_cpu_usage:1337,instance_cpu_usage:4337"},{"line_number":65,"context_line":"  metric_db_map \u003d host_cpu_usage:production_db,instance_cpu_usage:production_db"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfb3d3c7_65b8dac7","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":7},"in_reply_to":"bfb3d3c7_051d5e0e","updated":"2019-05-22 11:31:50.000000000","message":"No tokens are constant and don\u0027t expire.","commit_id":"980cef2e63934858dda13db069bf66cdd75ef8e9"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"9cc2d7b01c5305d9524af6d4fe804d280e6769ca","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"::"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  query \u003d \u0027SELECT \"{0}_value\" FROM cpu_util WHERE host \u003d~ /^{1}$/ AND time \u003e \u0027"},{"line_number":102,"context_line":"          \u0027now() - {2}m\u0027"},{"line_number":103,"context_line":"  query.format(aggregate, host, period, translator_specific)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfbec78f_7870fa08","line":101,"range":{"start_line":101,"start_character":35,"end_line":101,"end_character":43},"updated":"2019-05-16 09:32:55.000000000","message":"Is this right?","commit_id":"980cef2e63934858dda13db069bf66cdd75ef8e9"},{"author":{"_account_id":29911,"name":"Dantali0n","email":"info@dantalion.nl","username":"Dantali0n"},"change_message_id":"32bce03d595c369b4a83be0e9b30ef57ea78c073","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"::"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  query \u003d \u0027SELECT \"{0}_value\" FROM cpu_util WHERE host \u003d~ /^{1}$/ AND time \u003e \u0027"},{"line_number":102,"context_line":"          \u0027now() - {2}m\u0027"},{"line_number":103,"context_line":"  query.format(aggregate, host, period, translator_specific)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfbec78f_b801923a","line":101,"range":{"start_line":101,"start_character":35,"end_line":101,"end_character":43},"in_reply_to":"dfbec78f_7870fa08","updated":"2019-05-16 09:35:33.000000000","message":"The queries are an example the actual queries will differ for every deployment of Grafana as it is completely depended on the the structure of the database that is used. This is why this high degree of flexibility in configuration is essential so that it can be used no matter the structure of your database.","commit_id":"980cef2e63934858dda13db069bf66cdd75ef8e9"}]}
