Skip to content
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

Documentation #55

Merged
merged 13 commits into from
Apr 22, 2013
66 changes: 34 additions & 32 deletions common/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@
color: #000;
}

.kibana-row {
margin-left: 15px;
margin-bottom: 15px;
}

.navbar .brand {
color: #eee;
}

.navbar-inner {
border-width: 0 0 0px;
border-width: 0 0 0px;
padding-left: 0px;
padding-right: 0px;
}

.kibana-row {
margin-left: 15px;
margin-bottom: 15px;
}

.row-close {
Expand Down Expand Up @@ -54,6 +56,10 @@
background-color: #f9f9f9;
}

.nomargin {
margin: 0px;
}

[ng\:cloak], [ng-cloak], .ng-cloak {
display: none !important;
}
Expand Down Expand Up @@ -90,62 +96,58 @@
opacity: 1;
}

.pointer:hover {
.link {
cursor: pointer;
}

.pointer {
cursor: pointer;
}

.link:hover {
color: #0088CC;
}

.popover {
max-width: 500px;
}

.pointer {
cursor: pointer;
.popover-title { display: none; }

.tiny {
font-size: 50%;
}

.small {
font-size: 85%;
}

.input-append label {
font-size: inherit !important;
}

.large {
font-size: 120%;
}

.nomargin {
margin: 0px;
}

.strong {
font-weight: bold;
}

.btn-active {
background-color: #E6E6E6;
background-image: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
outline: 0 none
.input-append label {
font-size: inherit !important;
}

.popover-title { display: none; }

.input-smaller {
width: 75px;
}

.tiny {
font-size: 50%;
.typeahead { z-index: 1051; }

.btn-active {
background-color: #E6E6E6;
background-image: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
outline: 0 none
}

.remove:hover {
background-color: #A60000;
}

.typeahead { z-index: 1051; }

.navbar-inner {
padding-left: 0px;
padding-right: 0px;
}
2 changes: 1 addition & 1 deletion panels/column/editor.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ <h4>Panels</h4>
</table>
</div>
</div>
</div>
</div>
17 changes: 17 additions & 0 deletions panels/column/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
/*

## Column

The column panel is sort of a hack to allow you to put multiple, veritcal,
panels next to a bigger panel. Note that it has no group, and setting a group
for the panel itself will do nothing

### Parameters
* panels :: an array of panel objects. All of their spans should be set to 12

### Group Events
#### Sends
* time :: Object Includes from, to and index

*/

angular.module('kibana.column', [])
.controller('column', function($scope, $rootScope) {
// Set and populate defaults
Expand Down
29 changes: 29 additions & 0 deletions panels/dashcontrol/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
/*

## Dashcontrol

Dash control allows for saving, loading and sharing of dashboards. Do not
disable the dashcontrol module as a special instance of it allows for loading
the default dashboard from dashboards/default

### Parameters
* save
** gist :: Allow saving to gist. Requires registering an oauth domain with Github
** elasticsearch :: Allow saving to a special Kibana index within Elasticsearch
** local :: Allow saving to local file
* load
** gist :: Allow loading from gists
** elasticsearch :: Allow searching and loading of elasticsearch saved dashboards
** local :: Allow loading of dashboards from Elasticsearch
* hide_control :: Upon save, hide this panel
* elasticsearch_size :: show this many dashboards under the ES section in the load drop down
* elasticsearch_saveto :: Special kibana index to save to
* temp :: Allow saving of temp dashboards
* temp_ttl :: How long should temp dashboards persist

### Group Events
#### Sends
* dashboard :: An object containing an entire dashboard to be loaded

*/

angular.module('kibana.dashcontrol', [])
.controller('dashcontrol', function($scope, $routeParams, $http, eventBus, timer) {
$scope.panel = $scope.panel || {};
Expand Down
18 changes: 18 additions & 0 deletions panels/debug/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
/*

## Debug

Shows the exchange of events between panels. Disabled by default and usually
should be. This panel exists in the ALL group by default so that it receives
all of the events from every panel

### Parameters
* size :: How many events to show
* style :: A hash containing css style parameters

### Group Events
#### Receives
* $kibana_debug :: Contains a meta object of any event sent

*/

angular.module('kibana.debug', [])
.controller('debug', function($scope, eventBus) {

Expand Down
19 changes: 19 additions & 0 deletions panels/fields/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
/*

## Fields

Allows for enabling and disabling of fields in the table panel as well as a
micro anaylsis panel for analyzing the events in the table panel

### Parameters
* style :: a hash containing css styles
* arrange :: the layout pf the panel 'horizontal' or 'vertical'
* micropanel_position :: where to place the micropanel in relation to the field

### Group Events
#### Recieves
* table_documents :: An object containing the documents in the table panel
*** Sends
* fields :: an object containing the sort order, existing fields and selected fields

*/
angular.module('kibana.fields', [])
.controller('fields', function($scope, eventBus, $timeout) {

Expand Down
39 changes: 39 additions & 0 deletions panels/histogram/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
/*

## Histogram

A bucketted time series representation of the current query or queries. Note that this
panel uses facetting. I tried to make it safe by using sequential/serial querying but,
yeah, you should know that it uses facetting. It should be pretty safe.

### Parameters
* query :: an array of objects as such: {query: 'somequery', label 'legent text'}.
this is usually populated by a stringquery panel wher the query and label
parameter are the same
* interval :: Generated automatically. Tells ES how to bucket the data points
* fill :: Only applies to line charts. Level of area shading from 0-10
* linewidth :: Only applies to line charts. How thick the line should be in pixels
While the editor only exposes 0-10, this can be any numeric value.
Set to 0 and you'll get something like a scatter plot
* timezone :: This isn't totally functional yet. Currently only supports browser and utc.
browser will adjust the x-axis labels to match the timezone of the user's
browser
* spyable :: Dislay the 'eye' icon that show the last elasticsearch query
* zoomlinks :: Show the zoom links?
* bars :: Show bars in the chart
* stack :: Stack multiple queries. This generally a crappy way to represent things.
You probably should just use a line chart without stacking
* points :: Should circles at the data points on the chart
* lines :: Line chart? Sweet.
* legend :: Show the legend?
* x-axis :: Show x-axis labels and grid lines
* y-axis :: Show y-axis labels and grid lines
### Group Events
#### Receives
* time :: An object containing the time range to use and the index(es) to query
* query :: An Array of queries, even if its only one
#### Sends
* get_time :: On panel initialization get time range to query

*/

angular.module('kibana.histogram', [])
.controller('histogram', function($scope, eventBus) {

Expand Down
26 changes: 24 additions & 2 deletions panels/hits/module.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,34 @@
/*

## Hits

A variety of representations of the hits a query matches

### Parameters
* query :: An array of queries. No labels here, just an array of strings. Maybe
there should be labels. Probably.
* style :: A hash of css styles
* arrangement :: How should I arrange the query results? 'horizontal' or 'vertical'
* chart :: Show a chart? 'none', 'bar', 'pie'
* donut :: Only applies to 'pie' charts. Punches a hole in the chart for some reason
* tilt :: Only 'pie' charts. Janky 3D effect. Looks terrible 90% of the time.
* lables :: Only 'pie' charts. Labels on the pie?
### Group Events
#### Sends
* get_time :: On panel initialization get time range to query
#### Receives
* time :: An object containing the time range to use and the index(es) to query
* query :: An Array of queries, even if its only one

*/
angular.module('kibana.hits', [])
.controller('hits', function($scope, eventBus) {

// Set and populate defaults
var _d = {
query : "*",
query : ["*"],
group : "default",
style : { "font-size": '10pt'},
aggregate : true,
arrangement : 'vertical',
chart : 'none',
counter_pos : 'above',
Expand Down
29 changes: 29 additions & 0 deletions panels/map/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
/*

## Map

LOL. Should this even be documented? Zach's map panel is going to ruin this one.
For serious. This shades a map of the world, the US or Europe with the number of
events that match the query. Uses 2 letter country codes and nothing else. This uses
a terms facet. Its probably safe as long as you point it at the right field. Nach.
There's no way to query sequentially here, so I'm going to hit them all at once!

### Parameters
* query :: A single query string, not and array. This panel can only handle one
query at a time.
* map :: 'world', 'us' or 'europe'
* colors :: an array of colors to use for the regions of the map. If this is a 2
element array, jquerymap will generate shades between these colors
* size :: How big to make the facet. Higher = more countries
* exclude :: Exlude the array of counties
* spyable :: Show the 'eye' icon that reveals the last ES query
* index_limit :: This does nothing yet. Eventually will limit the query to the first
N indices
### Group Events
#### Sends
* get_time :: On panel initialization get time range to query
#### Receives
* time :: An object containing the time range to use and the index(es) to query
* query :: An Array of queries, this panel uses only the first one
*/

angular.module('kibana.map', [])
.controller('map', function($scope, eventBus) {

Expand Down
34 changes: 34 additions & 0 deletions panels/pie/module.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
/*

## Pie

This panel is probably going away. For now its has 2 modes:
* terms: Run a terms facet on the query. You're gonna have a bad (ES crashing) day
if you run in this mode on a high cardinality field
* goal: Compare the query to this number and display the percentage that the query
represents

### Parameters
* query :: An object with 3 possible parameters depends on the mode:
** field: Fields to run a terms facet on. Only does anything in terms mode
** query: A string of the query to run
** goal: How many to shoot for, only does anything in goal mode
* exclude :: In terms mode, ignore these terms
* donut :: Drill a big hole in the pie
* tilt :: A janky 3D representation of the pie. Looks terrible 90% of the time.
* legend :: Show the legend?
* labels :: Label the slices of the pie?
* mode :: 'terms' or 'goal'
* default_field :: LOL wat? A dumb fail over field if for some reason the query object
doesn't have a field
* spyable :: Show the 'eye' icon that displays the last ES query for this panel

### Group Events
#### Sends
* get_time :: On panel initialization get time range to query
#### Receives
* time :: An object containing the time range to use and the index(es) to query
* query :: An Array of queries, this panel will use the first in the array

*/

angular.module('kibana.pie', [])
.controller('pie', function($scope, eventBus) {

Expand Down
Loading