@@ -26,6 +26,7 @@
"index": {
"interval": "none",
"pattern": "[logstash-]YYYY.MM.DD",
- "default": "_all"
+ "default": "_all",
+ "warm_fields": false
}
@@ -64,61 +64,14 @@
},
"style": "dark",
"failover": false,
"panel_hints": true,
- "pulldowns": [
- {
- "type": "query",
- "collapse": true,
- "notice": false,
- "query": "*",
- "pinned": true,
- "history": [],
- "remember": 10
- },
- "type": "filtering",
- "notice": false
- }
- ],
- "nav": [
- "type": "timepicker",
- "collapse": false,
- "status": "Stable",
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "30m",
- "2h",
- "1d"
- "timefield": "@timestamp",
- "now": true,
- "filter_id": 0
+ "pulldowns": [],
+ "nav": [],
"loader": {
"save_gist": false,
"save_elasticsearch": true,
@@ -200,7 +200,8 @@
@@ -89,7 +89,8 @@
@@ -10,11 +10,11 @@
<div class="row-fluid">
<div bindonce ng-class="{'span3':panel.field_list}" ng-if="panel.field_list">
<div class="sidebar-nav">
- <strong>Fields <i class=" icon-chevron-sign-left pointer " ng-click="panel.field_list = !panel.field_list" bs-tooltip="'Hide field list'" ng-show="panel.field_list"></i></strong><p>
+ <strong>Fields <i class=" icon-chevron-sign-left pointer " ng-click="panel.field_list = !panel.field_list" bs-tooltip="'Hide field list'"></i></strong><p>
<div class="small">
- <span class="link" ng-click="panel.all_fields = true;" ng-class="{strong:panel.all_fields}">
- All ({{fields.list.length}})</span><br>
- <span class="link" ng-click="panel.all_fields = false;" ng-class="{strong:!panel.all_fields}">
+ <span class="link small" ng-click="panel.all_fields = true;" ng-if="fields.list.length" ng-class="{strong:panel.all_fields}">
+ All ({{fields.list.length}})</span> /
+ <span class="link small" ng-click="panel.all_fields = false;" ng-class="{strong:!panel.all_fields}">
Current ({{current_fields.length || 0}})</span>
</div>
@@ -62,6 +62,10 @@
<h6>Default Index <small ng-show="dashboard.current.index.interval != 'none'">If index not found</small></h6>
<input type="text" class="input-medium" ng-model="dashboard.current.index.default">
+ <div class="span2">
+ <h6>Preload Fields <i class="icon-question-sign" bs-tooltip="'Preload available fields for the purpose of autocomplete. Turn this off if you have many fields'"></i></h6>
+ <input type="checkbox" ng-model="dashboard.current.index.warm_fields" ng-checked="dashboard.current.index.warm_fields" />
+ </div>
@@ -57,7 +57,8 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
index: {
interval: 'none',
pattern: '_all',
- default: 'INDEX_MISSING'
+ default: 'INDEX_MISSING',
+ warm_fields: true
refresh: false
};
@@ -17,7 +17,7 @@ function (angular, _, config) {
this.fullMapping = {};
$rootScope.$watch(function(){return dashboard.indices;},function(n) {
- if(!_.isUndefined(n) && n.length) {
+ if(!_.isUndefined(n) && n.length && dashboard.current.index.warm_fields) {
// Only get the mapping for indices we don't know it for
var indices = _.difference(n,_.keys(self.fullMapping));
// Only get the mapping if there are new indices