├── .gitignore ├── dist ├── img │ ├── grallama-example.png │ ├── grallama-example-2.png │ ├── grallama-example-3.png │ ├── grallama-logo-large.png │ └── grallama-logo-small.png ├── src │ └── img │ │ ├── grallama-example.png │ │ ├── grallama-example-2.png │ │ ├── grallama-example-3.png │ │ ├── grallama-logo-large.png │ │ └── grallama-logo-small.png ├── module.js.map ├── axes_editor.html ├── module.js ├── plugin.json ├── module.html ├── rendering.js ├── css │ └── matrix.css ├── rendering.js.map ├── README.md ├── options_editor.html ├── grallama_ctrl.js.map └── grallama_ctrl.js ├── src ├── img │ ├── grallama-example.png │ ├── grallama-example-2.png │ ├── grallama-example-3.png │ ├── grallama-logo-large.png │ └── grallama-logo-small.png ├── module.js ├── axes_editor.html ├── plugin.json ├── rendering.js ├── module.html ├── css │ └── matrix.css ├── options_editor.html └── grallama_ctrl.js ├── LICENSE ├── package.json ├── Gruntfile.js ├── README.md └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea/* 3 | -------------------------------------------------------------------------------- /dist/img/grallama-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/img/grallama-example.png -------------------------------------------------------------------------------- /src/img/grallama-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/src/img/grallama-example.png -------------------------------------------------------------------------------- /dist/img/grallama-example-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/img/grallama-example-2.png -------------------------------------------------------------------------------- /dist/img/grallama-example-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/img/grallama-example-3.png -------------------------------------------------------------------------------- /src/img/grallama-example-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/src/img/grallama-example-2.png -------------------------------------------------------------------------------- /src/img/grallama-example-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/src/img/grallama-example-3.png -------------------------------------------------------------------------------- /src/img/grallama-logo-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/src/img/grallama-logo-large.png -------------------------------------------------------------------------------- /src/img/grallama-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/src/img/grallama-logo-small.png -------------------------------------------------------------------------------- /dist/img/grallama-logo-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/img/grallama-logo-large.png -------------------------------------------------------------------------------- /dist/img/grallama-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/img/grallama-logo-small.png -------------------------------------------------------------------------------- /dist/src/img/grallama-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/src/img/grallama-example.png -------------------------------------------------------------------------------- /dist/src/img/grallama-example-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/src/img/grallama-example-2.png -------------------------------------------------------------------------------- /dist/src/img/grallama-example-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/src/img/grallama-example-3.png -------------------------------------------------------------------------------- /dist/src/img/grallama-logo-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/src/img/grallama-logo-large.png -------------------------------------------------------------------------------- /dist/src/img/grallama-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dropbox/grallama-panel/master/dist/src/img/grallama-logo-small.png -------------------------------------------------------------------------------- /src/module.js: -------------------------------------------------------------------------------- 1 | import { GraLLAMACtrl } from './grallama_ctrl'; 2 | import { loadPluginCss } from 'app/plugins/sdk'; 3 | 4 | loadPluginCss({ 5 | dark: 'plugins/dropbox-grallama-panel/css/matrix.css', 6 | light: 'plugins/dropbox-grallama-panel/css/matrix.css', 7 | }); 8 | 9 | export { 10 | GraLLAMACtrl as PanelCtrl 11 | }; 12 | -------------------------------------------------------------------------------- /dist/module.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["../src/module.js"],"names":["GraLLAMACtrl","loadPluginCss","dark","light"],"mappings":";;;;;;;;AAASA,kB,kBAAAA,Y;;AACAC,mB,kBAAAA,a;;;;AAETA,oBAAc;AACZC,cAAM,+CADM;AAEZC,eAAO;AAFK,OAAd;;2BAMEH,Y","file":"module.js","sourcesContent":["import { GraLLAMACtrl } from './grallama_ctrl';\nimport { loadPluginCss } from 'app/plugins/sdk';\n\nloadPluginCss({\n dark: 'plugins/dropbox-grallama-panel/css/matrix.css',\n light: 'plugins/dropbox-grallama-panel/css/matrix.css',\n});\n\nexport {\n GraLLAMACtrl as PanelCtrl\n};\n"]} -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Dropbox, Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /src/axes_editor.html: -------------------------------------------------------------------------------- 1 |
4 |
5 | GraLLAMA is a panel plugin for Grafana which visualizes the matrix-like data
6 | collected by the [LLAMA](https://github.com/dropbox/llama) project. See the
7 | LLAMA project on GitHub for more information:
8 |
9 | https://github.com/dropbox/llama
10 |
11 | ## Features
12 | * Displays loss percentages between sources and destinations.
13 | * Sources/Destinations are dynamically pulled from timeseries tags.
14 | * Changes cell color based on higher percentages.
15 |
16 | 
17 | 
18 |
19 | ## Compatibility
20 | This panel should work with the following datasources:
21 | [InfluxDB](https://grafana.net/plugins/influxdb)
22 |
23 | ## Installation
24 | Use the new grafana-cli tool to install grallama-panel from the commandline:
25 |
26 | ```
27 | grafana-cli plugins install dropbox-grallama-panel
28 | ```
29 |
30 | The plugin will be installed into your grafana plugins directory; the default
31 | is /var/lib/grafana/plugins if you installed the grafana package.
32 |
33 | More instructions on the cli tool can be found
34 | [here](http://docs.grafana.org/v3.0/plugins/installation/).
35 |
36 | You need the lastest grafana build for Grafana 3.0 to enable plugin support.
37 | You can get it here : http://grafana.org/download/builds.html
38 |
39 | ## Setup
40 | After installing the panel plugin follow these instructions to visualize
41 | the latest loss data from your running LLAMA deployment.
42 |
43 | 0. Setup a datasource for InfluxDB where LLAMA data is stored.
44 | 1. Add a new panel to a row in Grafana and select GraLLAMA.
45 | 2. Open the query editor and select InfluxDB and the measurement `loss`.
46 | 3. Select `mean()` as an aggregation (or others if you see fit).
47 | 4. Select `Group by` using exactly two tags; one of them will be the source
48 | tag and the other will be the destination tag. Also, use `fill(null)`.
49 | 5. Type into the `Alias by` field `
4 |
5 | GraLLAMA is a panel plugin for Grafana which visualizes the matrix-like data
6 | collected by the [LLAMA](https://github.com/dropbox/llama) project. See the
7 | LLAMA project on GitHub for more information:
8 |
9 | https://github.com/dropbox/llama
10 |
11 | ## Features
12 | * Displays loss percentages between sources and destinations.
13 | * Sources/Destinations are dynamically pulled from timeseries tags.
14 | * Changes cell color based on higher percentages.
15 |
16 | 
17 | 
18 |
19 | ## Compatibility
20 | This panel should work with the following datasources:
21 | [InfluxDB](https://grafana.net/plugins/influxdb)
22 |
23 | ## Installation
24 | Use the new grafana-cli tool to install grallama-panel from the commandline:
25 |
26 | ```
27 | grafana-cli plugins install dropbox-grallama-panel
28 | ```
29 |
30 | The plugin will be installed into your grafana plugins directory; the default
31 | is /var/lib/grafana/plugins if you installed the grafana package.
32 |
33 | More instructions on the cli tool can be found
34 | [here](http://docs.grafana.org/v3.0/plugins/installation/).
35 |
36 | You need the lastest grafana build for Grafana 3.0 to enable plugin support.
37 | You can get it here : http://grafana.org/download/builds.html
38 |
39 | ## Setup
40 | After installing the panel plugin follow these instructions to visualize
41 | the latest loss data from your running LLAMA deployment.
42 |
43 | 0. Setup a datasource for InfluxDB where LLAMA data is stored.
44 | 1. Add a new panel to a row in Grafana and select GraLLAMA.
45 | 2. Open the query editor and select InfluxDB and the measurement `loss`.
46 | 3. Select `mean()` as an aggregation (or others if you see fit).
47 | 4. Select `Group by` using exactly two tags; one of them will be the source
48 | tag and the other will be the destination tag. Also, use `fill(null)`.
49 | 5. Type into the `Alias by` field `