Browse Source

feat(mixed datasources): feature ready to merge to master, closes #436

Torkel Ödegaard 10 years ago
parent
commit
d4432ddd64
2 changed files with 51 additions and 1 deletions
  1. 11 1
      CHANGELOG.md
  2. 40 0
      docs/sources/datasources/plugin_api.md

+ 11 - 1
CHANGELOG.md

@@ -1,12 +1,22 @@
 # 2.2 (unreleased)
 # 2.2 (unreleased)
 
 
-**New Features && Enhancements**
+** New Feature: Mix data sources **
+A built in data source is now available named `-- Mixed --`, When picked in the metrics tab,
+it allows you to add queries of differnet data source types & instances to the same graph/panel!
+[Issue #436](https://github.com/grafana/grafana/issues/436)
+
+** Other new Features && Enhancements**
 - [Issue #2457](https://github.com/grafana/grafana/issues/2457). Admin: admin page for all grafana organizations (list / edit view)
 - [Issue #2457](https://github.com/grafana/grafana/issues/2457). Admin: admin page for all grafana organizations (list / edit view)
 - [Issue #1186](https://github.com/grafana/grafana/issues/1186). Time Picker: New option `today`, will set time range from midnight to now
 - [Issue #1186](https://github.com/grafana/grafana/issues/1186). Time Picker: New option `today`, will set time range from midnight to now
 
 
 **Fixes**
 **Fixes**
 - [Issue #2490](https://github.com/grafana/grafana/issues/2490). Graphite: Dashboard import was broken in 2.1 and 2.1.1, working now
 - [Issue #2490](https://github.com/grafana/grafana/issues/2490). Graphite: Dashboard import was broken in 2.1 and 2.1.1, working now
 
 
+** Breaking Changes **
+- Notice to makers/users of custom data sources, there is a minor breaking change in 2.2 that
+require and update to custom data sources for them to work in 2.2. [Read this doc](https://github.com/grafana/grafana/tree/master/docs/sources/datasources/plugin_api.md) for more on the
+data source api change.
+
 # 2.1.1 (2015-08-11)
 # 2.1.1 (2015-08-11)
 
 
 **Fixes**
 **Fixes**

+ 40 - 0
docs/sources/datasources/plugin_api.md

@@ -0,0 +1,40 @@
+----
+page_title: Data source Plugin API
+page_description: Data Source Plugin Description
+page_keywords: grafana, data source, plugin, api, docs
+---
+
+# Data source plugin API
+
+All data sources in Grafana are implemented as plugins.
+
+## Breaking change in 2.2
+
+In Grafana 2.2 a breaking change was introduced for how data source query editors
+are structured, defined and loaded. This was in order to support mixing multiple data sources
+in the same panel.
+
+In Grafana 2.2, the query editor is no longer defined using the partials section in
+`plugin.json`, but defined via an angular directive named using convention naming
+scheme like `metricQueryEditor<data source type name>`. For example
+
+Graphite defines a directive like this:
+
+```javascript
+module.directive('metricQueryEditorGraphite', function() {
+  return {controller: 'GraphiteQueryCtrl', templateUrl: 'app/plugins/datasource/graphite/partials/query.editor.html'};
+});
+```
+
+Even though the data source type name is with lowercase `g`, the directive uses capital `G` in `Graphite` because
+that is how angular directives needs to be named in order to match an element with name `<metric-query-editor-graphite />`.
+You also specify the query controller here instead of in the query.editor.html partial like before.
+
+### query.editor.html
+
+This partial needs to be updated, remove the `np-repeat` this is done in the outer partial now,m the query.editor.html
+should only render a single query. Take a look at the Graphite or InfluxDB partials for `query.editor.html` for reference.
+You should also add a `tight-form-item` with `{{target.refId}}`, all queries needs to be assigned a letter (`refId`).
+These query reference letters are going to be utilized in a later feature.
+
+