Commit 3a50be4e by Rashid Khan

Merge pull request #752 from rashidkpc/master

Speed up loading by skipping mapping parsing
parents 0efdd461 f4cc5646
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
"index": { "index": {
"interval": "none", "interval": "none",
"pattern": "[logstash-]YYYY.MM.DD", "pattern": "[logstash-]YYYY.MM.DD",
"default": "_all" "default": "_all",
"warm_fields": false
} }
} }
\ No newline at end of file
...@@ -64,61 +64,14 @@ ...@@ -64,61 +64,14 @@
"index": { "index": {
"interval": "none", "interval": "none",
"pattern": "[logstash-]YYYY.MM.DD", "pattern": "[logstash-]YYYY.MM.DD",
"default": "_all" "default": "_all",
"warm_fields": false
}, },
"style": "dark", "style": "dark",
"failover": false, "failover": false,
"panel_hints": true, "panel_hints": true,
"pulldowns": [ "pulldowns": [],
{ "nav": [],
"type": "query",
"collapse": true,
"notice": false,
"query": "*",
"pinned": true,
"history": [],
"remember": 10
},
{
"type": "filtering",
"collapse": true,
"notice": false
}
],
"nav": [
{
"type": "timepicker",
"collapse": false,
"notice": false,
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"timefield": "@timestamp",
"now": true,
"filter_id": 0
}
],
"loader": { "loader": {
"save_gist": false, "save_gist": false,
"save_elasticsearch": true, "save_elasticsearch": true,
......
...@@ -200,7 +200,8 @@ ...@@ -200,7 +200,8 @@
"index": { "index": {
"interval": "none", "interval": "none",
"pattern": "[logstash-]YYYY.MM.DD", "pattern": "[logstash-]YYYY.MM.DD",
"default": "_all" "default": "_all",
"warm_fields": false
}, },
"style": "dark", "style": "dark",
"failover": false, "failover": false,
......
...@@ -89,7 +89,8 @@ ...@@ -89,7 +89,8 @@
"index": { "index": {
"interval": "none", "interval": "none",
"pattern": "[logstash-]YYYY.MM.DD", "pattern": "[logstash-]YYYY.MM.DD",
"default": "_all" "default": "_all",
"warm_fields": false
}, },
"style": "dark", "style": "dark",
"failover": false, "failover": false,
......
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
<div class="row-fluid"> <div class="row-fluid">
<div bindonce ng-class="{'span3':panel.field_list}" ng-if="panel.field_list"> <div bindonce ng-class="{'span3':panel.field_list}" ng-if="panel.field_list">
<div class="sidebar-nav"> <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"> <div class="small">
<span class="link" ng-click="panel.all_fields = true;" 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><br> All ({{fields.list.length}})</span> /
<span class="link" ng-click="panel.all_fields = false;" ng-class="{strong:!panel.all_fields}"> <span class="link small" ng-click="panel.all_fields = false;" ng-class="{strong:!panel.all_fields}">
Current ({{current_fields.length || 0}})</span> Current ({{current_fields.length || 0}})</span>
</div> </div>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<ul class="nav nav-pills timepicker-dropdown"> <ul class="nav nav-pills timepicker-dropdown">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle timepicker-dropdown" data-toggle="dropdown" href="" bs-tooltip="(time.from.date | date:'yyyy-MM-dd HH:mm:ss.sss') + ' <br>to<br>' +(time.to.date | date:'yyyy-MM-dd HH:mm:ss.sss')" data-placement="bottom" ng-click="dismiss();"> <a class="dropdown-toggle timepicker-dropdown" data-toggle="dropdown" href="" bs-tooltip="time.from.date ? (time.from.date | date:'yyyy-MM-dd HH:mm:ss.sss') + ' <br>to<br>' +(time.to.date | date:'yyyy-MM-dd HH:mm:ss.sss') : 'Click to set a time filter'" data-placement="bottom" ng-click="dismiss();">
<span ng-show="filterSrv.idsByType('time').length"> <span ng-show="filterSrv.idsByType('time').length">
<span class="pointer" ng-hide="panel.now">{{time.from.date | date:'MMM d, y HH:mm:ss'}}</span> <span class="pointer" ng-hide="panel.now">{{time.from.date | date:'MMM d, y HH:mm:ss'}}</span>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<span class="pointer" ng-hide="panel.now" >{{time.to.date | date:'MMM d, y HH:mm:ss'}}</span> <span class="pointer" ng-hide="panel.now" >{{time.to.date | date:'MMM d, y HH:mm:ss'}}</span>
<span class="pointer" ng-show="panel.now">{{time.to.date | moment:'ago'}}</span> <span class="pointer" ng-show="panel.now">{{time.to.date | moment:'ago'}}</span>
</span> </span>
<span ng-hide="filterSrv.idsByType('time').length">Set a time filter</span> <span ng-hide="filterSrv.idsByType('time').length">Time filter</span>
<span ng-show="dashboard.current.refresh" class="text-warning">refreshed every {{dashboard.current.refresh}} </span> <span ng-show="dashboard.current.refresh" class="text-warning">refreshed every {{dashboard.current.refresh}} </span>
<i class="icon-caret-down"></i> <i class="icon-caret-down"></i>
</a> </a>
......
...@@ -62,6 +62,10 @@ ...@@ -62,6 +62,10 @@
<h6>Default Index <small ng-show="dashboard.current.index.interval != 'none'">If index not found</small></h6> <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"> <input type="text" class="input-medium" ng-model="dashboard.current.index.default">
</div> </div>
<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>
</div> </div>
</div> </div>
......
...@@ -57,7 +57,8 @@ function (angular, $, kbn, _, config, moment, Modernizr) { ...@@ -57,7 +57,8 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
index: { index: {
interval: 'none', interval: 'none',
pattern: '_all', pattern: '_all',
default: 'INDEX_MISSING' default: 'INDEX_MISSING',
warm_fields: true
}, },
refresh: false refresh: false
}; };
......
...@@ -17,7 +17,7 @@ function (angular, _, config) { ...@@ -17,7 +17,7 @@ function (angular, _, config) {
this.fullMapping = {}; this.fullMapping = {};
$rootScope.$watch(function(){return dashboard.indices;},function(n) { $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 // Only get the mapping for indices we don't know it for
var indices = _.difference(n,_.keys(self.fullMapping)); var indices = _.difference(n,_.keys(self.fullMapping));
// Only get the mapping if there are new indices // Only get the mapping if there are new indices
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment