EVOLUTION-MANAGER
Edit File: graphitePlugin.4d0490a94b199a11f40c.js
(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{nKVo:function(e,t,a){"use strict";w.$inject=["$compile"],C.$inject=["$compile","templateSrv"],a.r(t);var n=a("mrSG"),r=a("LvDl"),i=a.n(r),s=a("Obii"),o=/^(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-([0-9A-Za-z\.]+))?/,u=function(){function e(e){var t=o.exec(e);t&&(this.major=Number(t[1]),this.minor=Number(t[2]||0),this.patch=Number(t[3]||0),this.meta=t[4])}return e.prototype.isGtOrEq=function(t){for(var a=new e(t),n=0;n<this.comparable.length;++n){if(this.comparable[n]>a.comparable[n])return!0;if(this.comparable[n]<a.comparable[n])return!1}return!0},e.prototype.isValid=function(){return i.a.isNumber(this.major)},Object.defineProperty(e.prototype,"comparable",{get:function(){return[this.major,this.minor,this.patch]},enumerable:!0,configurable:!0}),e}();function m(e,t){return new u(e).isGtOrEq(t)}var l={};function p(e){e.params=e.params||[],e.defaultParams=e.defaultParams||[],l[e.name]=e,e.shortName&&(l[e.shortName]=e)}var c=[{name:"other",type:"value_or_series",optional:!0,multiple:!0}];function h(e,t){return!e.version||m(t,e.version)}p({name:"scaleToSeconds",category:"Transform",params:[{name:"seconds",type:"int"}],defaultParams:[1]}),p({name:"perSecond",category:"Transform",params:[{name:"max value",type:"int",optional:!0}],defaultParams:[]}),p({name:"holtWintersForecast",category:"Calculate"}),p({name:"holtWintersConfidenceBands",category:"Calculate",params:[{name:"delta",type:"int"}],defaultParams:[3]}),p({name:"holtWintersAberration",category:"Calculate",params:[{name:"delta",type:"int"}],defaultParams:[3]}),p({name:"nPercentile",category:"Calculate",params:[{name:"Nth percentile",type:"int"}],defaultParams:[95]}),p({name:"diffSeries",params:c,defaultParams:["#A"],category:"Combine"}),p({name:"stddevSeries",params:c,defaultParams:[""],category:"Combine"}),p({name:"divideSeries",params:c,defaultParams:["#A"],category:"Combine"}),p({name:"multiplySeries",params:c,defaultParams:["#A"],category:"Combine"}),p({name:"asPercent",params:c,defaultParams:["#A"],category:"Combine"}),p({name:"group",params:c,defaultParams:["#A","#B"],category:"Combine"}),p({name:"sumSeries",shortName:"sum",category:"Combine",params:c,defaultParams:[""]}),p({name:"averageSeries",shortName:"avg",category:"Combine",params:c,defaultParams:[""]}),p({name:"rangeOfSeries",category:"Combine"}),p({name:"percentileOfSeries",category:"Combine",params:[{name:"n",type:"int"},{name:"interpolate",type:"boolean",options:["true","false"]}],defaultParams:[95,"false"]}),p({name:"sumSeriesWithWildcards",category:"Combine",params:[{name:"node",type:"int",multiple:!0}],defaultParams:[3]}),p({name:"maxSeries",shortName:"max",category:"Combine"}),p({name:"minSeries",shortName:"min",category:"Combine"}),p({name:"averageSeriesWithWildcards",category:"Combine",params:[{name:"node",type:"int",multiple:!0}],defaultParams:[3]}),p({name:"alias",category:"Alias",params:[{name:"alias",type:"string"}],defaultParams:["alias"]}),p({name:"aliasSub",category:"Alias",params:[{name:"search",type:"string"},{name:"replace",type:"string"}],defaultParams:["","\\1"]}),p({name:"consolidateBy",category:"Special",params:[{name:"function",type:"string",options:["sum","average","min","max"]}],defaultParams:["max"]}),p({name:"cumulative",category:"Special",params:[],defaultParams:[]}),p({name:"groupByNode",category:"Combine",params:[{name:"node",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12]},{name:"function",type:"string",options:["sum","avg","maxSeries"]}],defaultParams:[3,"sum"]}),p({name:"aliasByNode",category:"Alias",params:[{name:"node",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12],multiple:!0}],defaultParams:[3]}),p({name:"substr",category:"Special",params:[{name:"start",type:"int",options:[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,12]},{name:"stop",type:"int",options:[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,12]}],defaultParams:[0,0]}),p({name:"sortByName",category:"Sorting",params:[{name:"natural",type:"boolean",options:["true","false"],optional:!0}],defaultParams:["false"]}),p({name:"sortByMaxima",category:"Sorting"}),p({name:"sortByMinima",category:"Sorting"}),p({name:"sortByTotal",category:"Sorting"}),p({name:"aliasByMetric",category:"Alias"}),p({name:"randomWalk",fake:!0,category:"Special",params:[{name:"name",type:"string"}],defaultParams:["randomWalk"]}),p({name:"countSeries",category:"Combine"}),p({name:"constantLine",category:"Special",params:[{name:"value",type:"int"}],defaultParams:[10]}),p({name:"cactiStyle",category:"Special"}),p({name:"keepLastValue",category:"Transform",params:[{name:"n",type:"int"}],defaultParams:[100]}),p({name:"changed",category:"Special",params:[],defaultParams:[]}),p({name:"scale",category:"Transform",params:[{name:"factor",type:"int"}],defaultParams:[1]}),p({name:"offset",category:"Transform",params:[{name:"amount",type:"int"}],defaultParams:[10]}),p({name:"transformNull",category:"Transform",params:[{name:"amount",type:"int"}],defaultParams:[0]}),p({name:"integral",category:"Transform"}),p({name:"derivative",category:"Transform"}),p({name:"nonNegativeDerivative",category:"Transform",params:[{name:"max value or 0",type:"int",optional:!0}],defaultParams:[""]}),p({name:"timeShift",category:"Transform",params:[{name:"amount",type:"select",options:["1h","6h","12h","1d","2d","7d","14d","30d"]}],defaultParams:["1d"]}),p({name:"timeStack",category:"Transform",params:[{name:"timeShiftUnit",type:"select",options:["1h","6h","12h","1d","2d","7d","14d","30d"]},{name:"timeShiftStart",type:"int"},{name:"timeShiftEnd",type:"int"}],defaultParams:["1d",0,7]}),p({name:"summarize",category:"Transform",params:[{name:"interval",type:"string"},{name:"func",type:"select",options:["sum","avg","min","max","last"]},{name:"alignToFrom",type:"boolean",optional:!0,options:["false","true"]}],defaultParams:["1h","sum","false"]}),p({name:"smartSummarize",category:"Transform",params:[{name:"interval",type:"string"},{name:"func",type:"select",options:["sum","avg","min","max","last"]}],defaultParams:["1h","sum"]}),p({name:"absolute",category:"Transform"}),p({name:"hitcount",category:"Transform",params:[{name:"interval",type:"string"}],defaultParams:["10s"]}),p({name:"log",category:"Transform",params:[{name:"base",type:"int"}],defaultParams:["10"]}),p({name:"averageAbove",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[25]}),p({name:"averageBelow",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[25]}),p({name:"currentAbove",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[25]}),p({name:"currentBelow",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[25]}),p({name:"maximumAbove",category:"Filter Series",params:[{name:"value",type:"int"}],defaultParams:[0]}),p({name:"maximumBelow",category:"Filter Series",params:[{name:"value",type:"int"}],defaultParams:[0]}),p({name:"minimumAbove",category:"Filter Series",params:[{name:"value",type:"int"}],defaultParams:[0]}),p({name:"minimumBelow",category:"Filter Series",params:[{name:"value",type:"int"}],defaultParams:[0]}),p({name:"limit",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[5]}),p({name:"mostDeviant",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[10]}),p({name:"exclude",category:"Filter Series",params:[{name:"exclude",type:"string"}],defaultParams:["exclude"]}),p({name:"highestCurrent",category:"Filter Series",params:[{name:"count",type:"int"}],defaultParams:[5]}),p({name:"highestMax",category:"Filter Series",params:[{name:"count",type:"int"}],defaultParams:[5]}),p({name:"lowestCurrent",category:"Filter Series",params:[{name:"count",type:"int"}],defaultParams:[5]}),p({name:"movingAverage",category:"Calculate",params:[{name:"windowSize",type:"int_or_interval",options:["5","7","10","5min","10min","30min","1hour"]}],defaultParams:[10]}),p({name:"movingMedian",category:"Calculate",params:[{name:"windowSize",type:"int_or_interval",options:["5","7","10","5min","10min","30min","1hour"]}],defaultParams:["5"]}),p({name:"stdev",category:"Calculate",params:[{name:"n",type:"int"},{name:"tolerance",type:"int"}],defaultParams:[5,.1]}),p({name:"highestAverage",category:"Filter Series",params:[{name:"count",type:"int"}],defaultParams:[5]}),p({name:"lowestAverage",category:"Filter Series",params:[{name:"count",type:"int"}],defaultParams:[5]}),p({name:"removeAbovePercentile",category:"Filter Data",params:[{name:"n",type:"int"}],defaultParams:[5]}),p({name:"removeAboveValue",category:"Filter Data",params:[{name:"n",type:"int"}],defaultParams:[5]}),p({name:"removeBelowPercentile",category:"Filter Data",params:[{name:"n",type:"int"}],defaultParams:[5]}),p({name:"removeBelowValue",category:"Filter Data",params:[{name:"n",type:"int"}],defaultParams:[5]}),p({name:"useSeriesAbove",category:"Filter Series",params:[{name:"value",type:"int"},{name:"search",type:"string"},{name:"replace",type:"string"}],defaultParams:[0,"search","replace"]}),p({name:"aggregateLine",category:"Calculate",params:[{name:"func",type:"select",options:["sum","avg","min","max","last"]}],defaultParams:["avg"],version:"1.0"}),p({name:"averageOutsidePercentile",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[95],version:"1.0"}),p({name:"delay",category:"Transform",params:[{name:"steps",type:"int"}],defaultParams:[1],version:"1.0"}),p({name:"exponentialMovingAverage",category:"Calculate",params:[{name:"windowSize",type:"int_or_interval",options:["5","7","10","5min","10min","30min","1hour"]}],defaultParams:[10],version:"1.0"}),p({name:"fallbackSeries",category:"Special",params:[{name:"fallback",type:"string"}],defaultParams:["constantLine(0)"],version:"1.0"}),p({name:"grep",category:"Filter Series",params:[{name:"grep",type:"string"}],defaultParams:["grep"],version:"1.0"}),p({name:"groupByNodes",category:"Combine",params:[{name:"function",type:"string",options:["sum","avg","maxSeries"]},{name:"node",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12],multiple:!0}],defaultParams:["sum",3],version:"1.0"}),p({name:"integralByInterval",category:"Transform",params:[{name:"intervalUnit",type:"select",options:["1h","6h","12h","1d","2d","7d","14d","30d"]}],defaultParams:["1d"],version:"1.0"}),p({name:"interpolate",category:"Transform",params:[{name:"limit",type:"int",optional:!0}],defaultParams:[],version:"1.0"}),p({name:"invert",category:"Transform",version:"1.0"}),p({name:"isNonNull",category:"Combine",version:"1.0"}),p({name:"linearRegression",category:"Calculate",params:[{name:"startSourceAt",type:"select",options:["-1h","-6h","-12h","-1d","-2d","-7d","-14d","-30d"],optional:!0},{name:"endSourceAt",type:"select",options:["-1h","-6h","-12h","-1d","-2d","-7d","-14d","-30d"],optional:!0}],defaultParams:[],version:"1.0"}),p({name:"mapSeries",shortName:"map",params:[{name:"node",type:"int"}],defaultParams:[3],category:"Combine",version:"1.0"}),p({name:"movingMin",category:"Calculate",params:[{name:"windowSize",type:"int_or_interval",options:["5","7","10","5min","10min","30min","1hour"]}],defaultParams:[10],version:"1.0"}),p({name:"movingMax",category:"Calculate",params:[{name:"windowSize",type:"int_or_interval",options:["5","7","10","5min","10min","30min","1hour"]}],defaultParams:[10],version:"1.0"}),p({name:"movingSum",category:"Calculate",params:[{name:"windowSize",type:"int_or_interval",options:["5","7","10","5min","10min","30min","1hour"]}],defaultParams:[10],version:"1.0"}),p({name:"multiplySeriesWithWildcards",category:"Combine",params:[{name:"position",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12],multiple:!0}],defaultParams:[2],version:"1.0"}),p({name:"offsetToZero",category:"Transform",version:"1.0"}),p({name:"pow",category:"Transform",params:[{name:"factor",type:"int"}],defaultParams:[10],version:"1.0"}),p({name:"powSeries",category:"Transform",params:c,defaultParams:[""],version:"1.0"}),p({name:"reduceSeries",shortName:"reduce",params:[{name:"function",type:"string",options:["asPercent","diffSeries","divideSeries"]},{name:"reduceNode",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,11,12,13]},{name:"reduceMatchers",type:"string",multiple:!0}],defaultParams:["asPercent",2,"used_bytes"],category:"Combine",version:"1.0"}),p({name:"removeBetweenPercentile",category:"Filter Series",params:[{name:"n",type:"int"}],defaultParams:[95],version:"1.0"}),p({name:"removeEmptySeries",category:"Filter Series",version:"1.0"}),p({name:"squareRoot",category:"Transform",version:"1.0"}),p({name:"timeSlice",category:"Transform",params:[{name:"startSliceAt",type:"select",options:["-1h","-6h","-12h","-1d","-2d","-7d","-14d","-30d"]},{name:"endSliceAt",type:"select",options:["-1h","-6h","-12h","-1d","-2d","-7d","-14d","-30d"],optional:!0}],defaultParams:["-1h"],version:"1.0"}),p({name:"weightedAverage",category:"Combine",params:[{name:"other",type:"value_or_series",optional:!0},{name:"node",type:"int",options:[0,1,2,3,4,5,6,7,8,9,10,12]}],defaultParams:["#A",4],version:"1.0"}),p({name:"seriesByTag",category:"Special",params:[{name:"tagExpression",type:"string",multiple:!0}],version:"1.1"}),p({name:"groupByTags",category:"Combine",params:[{name:"function",type:"string",options:["sum","avg","maxSeries"]},{name:"tag",type:"string",multiple:!0}],defaultParams:["sum","tag"],version:"1.1"}),p({name:"aliasByTags",category:"Alias",params:[{name:"tag",type:"string",multiple:!0}],defaultParams:["tag"],version:"1.1"});var f=function(){function e(e,t){this.def=e,this.params=[],t&&t.withDefaultParams&&(this.params=e.defaultParams.slice(0)),this.updateText()}return e.prototype.render=function(e,t){for(var a=this,n=this.def.name+"(",r=i.a.map(this.params,function(e,n){var r;if(n<a.def.params.length?r=a.def.params[n].type:i.a.get(i.a.last(a.def.params),"multiple")&&(r=i.a.get(i.a.last(a.def.params),"type")),i.a.includes(["value_or_series","boolean","int","float","node"],r))return e;var s=i.a.isString(e)?t(e):e;return i.a.includes(["int_or_interval","node_or_tag"],r)&&i.a.isFinite(+s)?i.a.toString(e):"'"+e+"'"});""===r[r.length-1];)r.pop();return e&&r.unshift(e),n+r.join(", ")+")"},e.prototype._hasMultipleParamsInString=function(e,t){return-1!==e.indexOf(",")&&(!(!this.def.params[t+1]||!this.def.params[t+1].optional)||!!(t+1>=this.def.params.length&&i.a.get(i.a.last(this.def.params),"multiple")))},e.prototype.updateParam=function(e,t){var a=this;this._hasMultipleParamsInString(e,t)?i.a.each(e.split(","),function(e,n){a.updateParam(e.trim(),t+n)}):(""===e&&(t>=this.def.params.length||this.def.params[t].optional)?this.params.splice(t,1):this.params[t]=e,this.updateText())},e.prototype.updateText=function(){if(0!==this.params.length){var e=this.def.name+"(";e+=this.params.join(", "),e+=")",this.text=e}else this.text=this.def.name+"()"},e}();function d(e,t){if(!(t||l)[e])throw{message:"Method not found "+e};return(t||l)[e]}var g,y={createFuncInstance:function(e,t,a){return i.a.isString(e)&&(e=d(e,a)),new f(e,t)},getFuncDef:d,getFuncDefs:function(e,t){var a={};return i.a.forEach(t||l,function(t){h(t,e)&&(a[t.name]=i.a.assign({},t,{params:i.a.filter(t.params,function(t){return h(t,e)})}))}),a},parseFuncDefs:function(e){var t={};return i.a.forEach(e||{},function(e,a){if("Graph"!==e.group){var n=e.description;n&&(n=n.replace(/:py:func:`(.+)( <[^>]*>)?`/g,"``$1``").replace(/.. seealso:: /g,"See also: ").replace(/.. code-block *:: *none/g,".. code-block::"));var r={name:e.name,description:n,category:e.group,params:[],defaultParams:[],fake:!1};/^seriesLists?$/.test(i.a.get(e,"params[0].type",""))?e.params[0].multiple?e.params[0].required=!1:e.params.shift():r.fake=!0,i.a.forEach(e.params,function(e){var t={name:e.name,type:"string",optional:!e.required,multiple:!!e.multiple,options:void 0};void 0!==e.default?r.defaultParams.push(i.a.toString(e.default)):e.suggestions?r.defaultParams.push(i.a.toString(e.suggestions[0])):r.defaultParams.push(""),"boolean"===e.type?(t.type="boolean",t.options=["true","false"]):"integer"===e.type?t.type="int":"float"===e.type?t.type="float":"node"===e.type?(t.type="node",t.options=["0","1","2","3","4","5","6","7","8","9","10","11","12"]):"nodeOrTag"===e.type?(t.type="node_or_tag",t.options=["name","0","1","2","3","4","5","6","7","8","9","10","11","12"]):"intOrInterval"===e.type?t.type="int_or_interval":"seriesList"===e.type&&(t.type="value_or_series"),e.options?t.options=i.a.map(e.options,i.a.toString):e.suggestions&&(t.options=i.a.map(e.suggestions,i.a.toString)),r.params.push(t)}),t[a]=r}}),t}};!function(e){e.Default="default",e.Metrictank="metrictank"}(g||(g={}));var v=a("4qJB"),S=function(e){function t(t,a,n){var r=e.call(this,t)||this;return r.backendSrv=a,r.templateSrv=n,r.funcDefs=null,r.funcDefsPromise=null,r.convertResponseToDataFrames=function(e){var t=[];if(!e||!e.data)return{data:t};var a=e.data.series||e.data;if(!i.a.isArray(a))throw{message:"Missing series in result",data:e};for(var n=0;n<a.length;n++){for(var o=a[n],u=0;u<o.datapoints.length;u++)o.datapoints[u][1]*=1e3;var m=Object(s.toDataFrame)(o);o.meta&&(m.meta={datasource:r.name,custom:{request:e.data.meta,info:o.meta}}),t.push(m)}return{data:t}},r.basicAuth=t.basicAuth,r.url=t.url,r.name=t.name,r.graphiteVersion=t.jsonData.graphiteVersion||"0.9",r.isMetricTank=t.jsonData.graphiteType===g.Metrictank,r.supportsTags=m(r.graphiteVersion,"1.1"),r.cacheTimeout=t.cacheTimeout,r.withCredentials=t.withCredentials,r.funcDefs=null,r.funcDefsPromise=null,r._seriesRefLetters="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r}return t.$inject=["instanceSettings","backendSrv","templateSrv"],Object(n.__extends)(t,e),t.prototype.getQueryOptionsInfo=function(){return{maxDataPoints:!0,cacheTimeout:!0,links:[{text:"Help",url:"http://docs.grafana.org/features/datasources/graphite/#using-graphite-in-grafana"}]}},t.prototype.query=function(e){return Object(n.__awaiter)(this,void 0,Promise,function(){var t,a,r;return Object(n.__generator)(this,function(n){return t={from:this.translateTime(e.rangeRaw.from,!1,e.timezone),until:this.translateTime(e.rangeRaw.to,!0,e.timezone),targets:e.targets,format:e.format,cacheTimeout:e.cacheTimeout||this.cacheTimeout,maxDataPoints:e.maxDataPoints},0===(a=this.buildGraphiteParams(t,e.scopedVars)).length?[2,Promise.resolve({data:[]})]:(this.isMetricTank&&a.push("meta=true"),r={method:"POST",url:"/render",data:a.join("&"),headers:{"Content-Type":"application/x-www-form-urlencoded"}},this.addTracingHeaders(r,e),e.panelId&&(r.requestId=this.name+".panelId."+e.panelId),[2,this.doGraphiteRequest(r).then(this.convertResponseToDataFrames)])})})},t.prototype.addTracingHeaders=function(e,t){!this.url.match(/^http/)&&(e.headers["X-Dashboard-Id"]=t.dashboardId,e.headers["X-Panel-Id"]=t.panelId)},t.prototype.parseTags=function(e){var t=[];return 1===(t=e.split(",")).length&&""===(t=e.split(" "))[0]&&(t=[]),t},t.prototype.interpolateVariablesInQueries=function(e,t){var a=this,r=e;return e&&e.length>0&&(r=e.map(function(e){return Object(n.__assign)(Object(n.__assign)({},e),{datasource:a.name,target:a.templateSrv.replace(e.target,t)})})),r},t.prototype.annotationQuery=function(e){var t=this;if(e.annotation.target){var a=this.templateSrv.replace(e.annotation.target,{},"glob"),n={rangeRaw:e.rangeRaw,targets:[{target:a}],format:"json",maxDataPoints:100};return this.query(n).then(function(t){for(var a=[],n=0;n<t.data.length;n++)for(var r=t.data[n],i=0;i<r.length;i++){var s=r.fields[1].values.get(i);r.fields[0].values.get(i)&&a.push({annotation:e.annotation,time:s,title:r.name})}return a})}var r=this.templateSrv.replace(e.annotation.tags);return this.events({range:e.rangeRaw,tags:r}).then(function(a){for(var n=[],r=0;r<a.data.length;r++){var s=a.data[r],o=s.tags;i.a.isString(s.tags)&&(o=t.parseTags(s.tags)),n.push({annotation:e.annotation,time:1e3*s.when,title:s.what,tags:o,text:s.data})}return n})},t.prototype.events=function(e){try{var t="";return e.tags&&(t="&tags="+e.tags),this.doGraphiteRequest({method:"GET",url:"/events/get_data?from="+this.translateTime(e.range.from,!1,e.timezone)+"&until="+this.translateTime(e.range.to,!0,e.timezone)+t})}catch(e){return Promise.reject(e)}},t.prototype.targetContainsTemplate=function(e){return this.templateSrv.variableExists(e.target)},t.prototype.translateTime=function(e,t,a){if(i.a.isString(e)){if("now"===e)return"now";if(e.indexOf("now-")>=0&&-1===e.indexOf("/"))return e=(e=(e=e.substring(3)).replace("m","min")).replace("M","mon");e=s.dateMath.parse(e,t,a)}return t?e.get("s")&&e.add(1,"s"):!1===t&&e.get("s")&&e.subtract(1,"s"),e.unix()},t.prototype.metricFindQuery=function(e,t){var a=t||{},n=this.templateSrv.replace(e,Object(v.g)({query:e,wildcardChar:"",options:t})),r=n.match(/^tag_values\(([^,]+)((, *[^,]+)*)\)$/);if(r){for(var s=[],o=(u=/, *([^,]+)/g).exec(r[2]);null!==o;)s.push(o[1]),o=u.exec(r[2]);return a.limit=1e4,this.getTagValuesAutoComplete(s,r[1],void 0,a)}if(r=n.match(/^tags\(([^,]*)((, *[^,]+)*)\)$/)){s=[];if(r[1]){s.push(r[1]);var u;for(o=(u=/, *([^,]+)/g).exec(r[2]);null!==o;)s.push(o[1]),o=u.exec(r[2])}return a.limit=1e4,this.getTagsAutoComplete(s,void 0,a)}var m={method:"POST",url:"/metrics/find",params:{},data:"query="+(n=this.templateSrv.replace(e,Object(v.g)({query:e,wildcardChar:"*",options:t}))),headers:{"Content-Type":"application/x-www-form-urlencoded"},requestId:a.requestId};return a.range&&(m.params.from=this.translateTime(a.range.from,!1,a.timezone),m.params.until=this.translateTime(a.range.to,!0,a.timezone)),this.doGraphiteRequest(m).then(function(e){return i.a.map(e.data,function(e){return{text:e.text,expandable:!!e.expandable}})})},t.prototype.getTags=function(e){var t=e||{},a={method:"GET",url:"/tags",requestId:t.requestId};return t.range&&(a.params.from=this.translateTime(t.range.from,!1,t.timezone),a.params.until=this.translateTime(t.range.to,!0,t.timezone)),this.doGraphiteRequest(a).then(function(e){return i.a.map(e.data,function(e){return{text:e.tag,id:e.id}})})},t.prototype.getTagValues=function(e){void 0===e&&(e={});var t={method:"GET",url:"/tags/"+this.templateSrv.replace(e.key),requestId:e.requestId};return e.range&&(t.params.from=this.translateTime(e.range.from,!1,e.timezone),t.params.until=this.translateTime(e.range.to,!0,e.timezone)),this.doGraphiteRequest(t).then(function(e){return e.data&&e.data.values?i.a.map(e.data.values,function(e){return{text:e.value,id:e.id}}):[]})},t.prototype.getTagsAutoComplete=function(e,t,a){var n=this,r=a||{},s={method:"GET",url:"/tags/autoComplete/tags",params:{expr:i.a.map(e,function(e){return n.templateSrv.replace((e||"").trim())})},requestId:r.requestId};return t&&(s.params.tagPrefix=t),r.limit&&(s.params.limit=r.limit),r.range&&(s.params.from=this.translateTime(r.range.from,!1,r.timezone),s.params.until=this.translateTime(r.range.to,!0,r.timezone)),this.doGraphiteRequest(s).then(function(e){return e.data?i.a.map(e.data,function(e){return{text:e}}):[]})},t.prototype.getTagValuesAutoComplete=function(e,t,a,n){var r=this,s=n||{},o={method:"GET",url:"/tags/autoComplete/values",params:{expr:i.a.map(e,function(e){return r.templateSrv.replace((e||"").trim())}),tag:this.templateSrv.replace((t||"").trim())},requestId:s.requestId};return a&&(o.params.valuePrefix=a),s.limit&&(o.params.limit=s.limit),s.range&&(o.params.from=this.translateTime(s.range.from,!1,s.timezone),o.params.until=this.translateTime(s.range.to,!0,s.timezone)),this.doGraphiteRequest(o).then(function(e){return e.data?i.a.map(e.data,function(e){return{text:e}}):[]})},t.prototype.getVersion=function(e){var t={method:"GET",url:"/version",requestId:(e||{}).requestId};return this.doGraphiteRequest(t).then(function(e){return e.data&&new u(e.data).isValid()?e.data:""}).catch(function(){return""})},t.prototype.createFuncInstance=function(e,t){return y.createFuncInstance(e,t,this.funcDefs)},t.prototype.getFuncDef=function(e){return y.getFuncDef(e,this.funcDefs)},t.prototype.waitForFuncDefsLoaded=function(){return this.getFuncDefs()},t.prototype.getFuncDefs=function(){var e=this;if(null!==this.funcDefsPromise)return this.funcDefsPromise;if(!m(this.graphiteVersion,"1.1"))return this.funcDefs=y.getFuncDefs(this.graphiteVersion),this.funcDefsPromise=Promise.resolve(this.funcDefs),this.funcDefsPromise;return this.funcDefsPromise=this.doGraphiteRequest({method:"GET",url:"/functions"}).then(function(t){return 200!==t.status||"object"!=typeof t.data?e.funcDefs=y.getFuncDefs(e.graphiteVersion):e.funcDefs=y.parseFuncDefs(t.data),e.funcDefs}).catch(function(t){return console.log("Fetching graphite functions error",t),e.funcDefs=y.getFuncDefs(e.graphiteVersion),e.funcDefs}),this.funcDefsPromise},t.prototype.testDatasource=function(){return this.query({panelId:3,rangeRaw:{from:"now-1h",to:"now"},targets:[{target:"constantLine(100)"}],maxDataPoints:300}).then(function(){return{status:"success",message:"Data source is working"}})},t.prototype.doGraphiteRequest=function(e){return(this.basicAuth||this.withCredentials)&&(e.withCredentials=!0),this.basicAuth&&(e.headers=e.headers||{},e.headers.Authorization=this.basicAuth),e.url=this.url+e.url,e.inspect={type:"graphite"},this.backendSrv.datasourceRequest(e)},t.prototype.buildGraphiteParams=function(e,t){var a,n,r,s=["from","until","rawData","format","maxDataPoints","cacheTimeout"],o=[],u={},m=/\#([A-Z])/g,l=/'(\d+)m'/gi,p=!1;function c(e){return e.replace("m","min").replace("M","mon")}for(e.format="json",r=0;r<e.targets.length;r++)(a=e.targets[r]).target&&(a.refId||(a.refId=this._seriesRefLetters[r]),n=(n=this.templateSrv.replace(a.target,t)).replace(l,c),u[a.refId]=n);function h(e,t){return u[t]||e}for(r=0;r<e.targets.length;r++)(a=e.targets[r]).target&&(n=(n=u[a.refId]).replace(m,h),u[a.refId]=n,a.hide||(p=!0,o.push("target="+encodeURIComponent(n))));return i.a.each(e,function(e,t){-1!==i.a.indexOf(s,t)&&e&&o.push(t+"="+encodeURIComponent(e))}),p?o:[]},t}(s.DataSourceApi);var T=a("+2Rf"),b=a.n(T),k=a("XI+/"),P=a.n(k),x=a("txxJ");function w(e){return{link:function(t,r){var s,o=this,u=t.ctrl,m=b()('<input type="text" class="gf-form-input" spellcheck="false" style="display:none"></input>'),l=b()('<a class="gf-form-label query-part dropdown-toggle" tabindex="1" gf-dropdown="functionMenu" data-toggle="dropdown"><i class="fa fa-plus"></i></a>');m.appendTo(r),l.appendTo(r),u.datasource.getFuncDefs().then(function(a){var n=i.a.map(a,"name").sort();t.functionMenu=function(e){var t={};return i.a.forEach(e,function(e){e.category&&(t[e.category]||(t[e.category]=[]),t[e.category].push({text:e.name,click:"ctrl.addFunction('"+e.name+"')"}))}),i.a.sortBy(i.a.map(t,function(e,t){return{text:t,submenu:i.a.sortBy(e,"text")}}),"text")}(a),m.attr("data-provide","typeahead"),m.typeahead({source:n,minLength:1,items:10,updater:function(e){var a=u.datasource.getFuncDef(e);return a||(e=e.toLowerCase(),a=i.a.find(n,function(t){return 0===t.toLowerCase().indexOf(e)}))?(t.$apply(function(){u.addFunction(a)}),m.trigger("blur"),""):""}}),l.click(function(){l.hide(),m.show(),m.focus()}),m.keyup(function(){r.toggleClass("open",""===m.val())}),m.blur(function(){setTimeout(function(){m.val(""),m.hide(),l.show(),r.removeClass("open")},200)}),e(r.contents())(t)});var p=function(){s&&(s.destroy(),s=null)};b()(r).on("mouseenter","ul.dropdown-menu li",function(){return Object(n.__awaiter)(o,void 0,void 0,function(){var e,t,r,i;return Object(n.__generator)(this,function(n){switch(n.label){case 0:p();try{e=u.datasource.getFuncDef(b()("a",this).text())}catch(e){}return e&&e.description?((t=e.description).length>500&&(t=t.substring(0,497)+"..."),r=document.createElement("div"),[4,a.e(45).then(a.t.bind(null,"fQim",7))]):[3,2];case 1:i=n.sent().default,r.innerHTML="<h4>"+e.name+"</h4>"+i(t),s=new P.a({target:this,content:r,classes:"drop-popover",openOn:"always",tetherOptions:{attachment:"bottom left",targetAttachment:"bottom right"}}),n.label=2;case 2:return[2]}})})}).on("mouseout","ul.dropdown-menu li",function(){p()}),t.$on("$destroy",p)}}}function C(e,t){var a='<input type="text" style="display:none" class="input-small tight-form-func-param"></input>';return{restrict:"A",link:function(n,r){var s=b()('\n <function-editor\n func="func"\n onRemove="ctrl.handleRemoveFunction"\n onMoveLeft="ctrl.handleMoveLeft"\n onMoveRight="ctrl.handleMoveRight"\n /><span>(</span>\n '),o=n.ctrl,u=n.func,m=!1,l=0,p=null;function c(e){var t=b()(this),a=t.prev(".comma"),n=t.next();n.val(u.params[e]),a.removeClass("query-part__last"),t.hide(),n.show(),n.focus(),n.select();var r=n.data("typeahead");r&&(n.val(""),r.lookup())}function h(e){return e<u.def.params.length?u.def.params[e]:i.a.last(u.def.params).multiple?i.a.assign({},i.a.last(u.def.params),{optional:!0}):{}}function f(e,a){var r=b()(e);clearTimeout(p),p=null;var i=r.prev(),s=i.prev(".comma"),c=r.val();(""!==c||h(a).optional)&&(u.updateParam(c,a),i.html(c?t.highlightVariablesAsHtml(c):" ")),l!==u.params.length&&(m||(m=!0,setTimeout(function(){S(),m=!1},200))),n.$apply(function(){o.targetChanged()}),i.hasClass("query-part__last")&&""===c?s.addClass("query-part__last"):i.removeClass("query-part__last"),r.hide(),i.show()}function d(e){var t=this;p=setTimeout(function(){f(t,e)},200)}function g(e,t){13===t.which&&b()(this).blur()}function y(){this.style.width=8*(3+this.value.length)+"px"}function v(){s.appendTo(r);for(var o=i.a.clone(u.def.params),m=i.a.last(u.def.params);u.params.length>=o.length&&m&&m.multiple;)o.push(i.a.assign({},m,{optional:!0}));i.a.each(o,function(e,n){if(e.optional&&u.params.length<n)return!1;var s=t.highlightVariablesAsHtml(u.params[n]),o=null!=s&&""!==s,m=n>=u.params.length-1&&e.optional&&!o,p="query-part__link";m&&(p+=" query-part__last"),m&&e.multiple?s="+":o||(s=e.name,p+=" query-part__link--no-value"),n>0&&b()('<span class="comma'+(m?" query-part__last":"")+'">, </span>').appendTo(r);var v=b()('<a ng-click="" class="'+p+'">'+s+"</a>"),S=b()(a);return S.attr("placeholder",e.name),l++,v.appendTo(r),S.appendTo(r),S.blur(i.a.partial(d,n)),S.keyup(y),S.keypress(i.a.partial(g,n)),v.click(i.a.partial(c,n)),e.options&&function(e,t){e.attr("data-provide","typeahead");var a=h(t).options;"int"===h(t).type&&(a=i.a.map(a,function(e){return e.toString()})),e.typeahead({source:a,minLength:0,items:20,updater:function(a){return e.val(a),f(e[0],t),a}}),e.data("typeahead").lookup=function(){return this.query=this.$element.val()||"",this.process(this.source)}}(S,n),!0}),b()("<span>)</span>").appendTo(r),e(r.contents())(n)}function S(){r.children().remove(),v(),n.func.added&&(n.func.added=!1,setTimeout(function(){r.find(".query-part__link").first().click()},10))}o.handleRemoveFunction=function(e){o.removeFunction(e)},o.handleMoveLeft=function(e){o.moveFunction(e,-1)},o.handleMoveRight=function(e){o.moveFunction(e,1)},S()}}}x.c.directive("graphiteAddFunc",w),x.c.directive("graphiteFuncEditor",C);for(var F=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4304,4346,4348,4348,4352,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7104,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11520,11557,11568,11621,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,13312,19893,19893,19968,19968,40907,40907,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42897,42912,42921,43002,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,44032,55203,55203,55216,55238,55243,55291,63744,64045,64048,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66334,66352,66378,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67840,67861,67872,67897,68096,68096,68112,68115,68117,68119,68121,68147,68192,68220,68352,68405,68416,68437,68448,68466,68608,68680,69635,69687,69763,69807,73728,74606,74752,74850,77824,78894,92160,92728,110592,110593,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,131072,131072,173782,173782,173824,173824,177972,177972,177984,177984,178205,178205,194560,195101],M=[],q=0;q<128;q++)M[q]=q>=48&&q<=57||36===q||126===q||124===q||q>=65&&q<=90||95===q||45===q||42===q||58===q||91===q||93===q||63===q||37===q||35===q||61===q||q>=97&&q<=122;var E=M,_=function(){function e(e){this.input=e,this.char=1,this.from=1}return e.prototype.peek=function(e){return this.input.charAt(e||0)},e.prototype.skip=function(e){e=e||1,this.char+=e,this.input=this.input.slice(e)},e.prototype.tokenize=function(){for(var e=[],t=this.next();t;)e.push(t),t=this.next();return e},e.prototype.next=function(){if(this.from=this.char,/\s/.test(this.peek())){for(;/\s/.test(this.peek());)this.from+=1,this.skip();if(""===this.peek())return null}var e=this.scanStringLiteral();return e||((e=this.scanPunctuator()||this.scanNumericLiteral()||this.scanIdentifier()||this.scanTemplateSequence())?(this.skip(e.value.length),e):null)},e.prototype.scanTemplateSequence=function(){return"["===this.peek()&&"["===this.peek(1)?{type:"templateStart",value:"[[",pos:this.char}:"]"===this.peek()&&"]"===this.peek(1)?{type:"templateEnd",value:"[[",pos:this.char}:null},e.prototype.scanIdentifier=function(){var e,t,a="",n=0;function r(e){for(var t=0;t<F.length;){if(e<F[t++])return!1;if(e<=F[t++])return!0}return!1}function s(e){return/^[0-9a-fA-F]$/.test(e)}var o=i.a.bind(function(){if(n+=1,"u"!==this.peek(n))return null;var e=this.peek(n+1),t=this.peek(n+2),a=this.peek(n+3),i=this.peek(n+4);return s(e)&&s(t)&&s(a)&&s(i)&&r(parseInt(e+t+a+i,16))?(n+=5,"\\u"+e+t+a+i):null},this),u=i.a.bind(function(){var e=this.peek(n),t=e.charCodeAt(0);return"*"===e?(n+=1,e):92===t?o():t<128?M[t]?(n+=1,e):null:r(t)?(n+=1,e):null},this),m=i.a.bind(function(){var e=this.peek(n),t=e.charCodeAt(0);return 92===t?o():t<128?E[t]?(n+=1,e):null:r(t)?(n+=1,e):null},this);if(null===(t=u()))return null;for(a=t;null!==(t=m());)a+=t;switch(a){case"true":case"false":e="bool";break;default:e="identifier"}return{type:e,value:a,pos:this.char}},e.prototype.scanNumericLiteral=function(){var e,t=0,a="",n=this.input.length,r=this.peek(t);function i(e){return/^[0-9]$/.test(e)}function s(e){return/^[0-7]$/.test(e)}function o(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&e<="z"||e>="A"&&e<="Z"}if("-"===r&&(a+=r,t+=1,r=this.peek(t)),"."!==r&&!i(r))return null;if("."!==r){if(a+=this.peek(t),t+=1,r=this.peek(t),"0"===a){if("x"===r||"X"===r){for(t+=1,a+=r;t<n&&(r=this.peek(t),/^[0-9a-fA-F]$/.test(r));)a+=r,t+=1;return a.length<=2?{type:"number",value:a,isMalformed:!0,pos:this.char}:t<n&&o(r=this.peek(t))?null:{type:"number",value:a,base:16,isMalformed:!1,pos:this.char}}if(s(r)){for(t+=1,a+=r,e=!1;t<n;){if(i(r=this.peek(t))&&(e=!0),!s(r)){if(!this.isPunctuator(r))return null;break}a+=r,t+=1}return t<n&&o(r=this.peek(t))?null:{type:"number",value:a,base:8,isMalformed:e}}i(r)&&(t+=1,a+=r)}for(;t<n&&i(r=this.peek(t));)a+=r,t+=1}if("."===r)for(a+=r,t+=1;t<n&&i(r=this.peek(t));)a+=r,t+=1;if("e"===r||"E"===r){if(a+=r,t+=1,"+"!==(r=this.peek(t))&&"-"!==r||(a+=this.peek(t),t+=1),!i(r=this.peek(t)))return null;for(a+=r,t+=1;t<n&&i(r=this.peek(t));)a+=r,t+=1}return t<n&&(r=this.peek(t),!this.isPunctuator(r))?null:{type:"number",value:a,base:10,pos:this.char,isMalformed:!isFinite(+a)}},e.prototype.isPunctuator=function(e){switch(e){case".":case"(":case")":case",":case"{":case"}":return!0}return!1},e.prototype.scanPunctuator=function(){var e=this.peek();return this.isPunctuator(e)?{type:e,value:e,pos:this.char}:null},e.prototype.scanStringLiteral=function(){var e=this.peek();if('"'!==e&&"'"!==e)return null;var t="";for(this.skip();this.peek()!==e;){if(""===this.peek())return{type:"string",value:t,isUnclosed:!0,quote:e,pos:this.char};t+=this.peek(),this.skip(1)}return this.skip(),{type:"string",value:t,isUnclosed:!1,quote:e,pos:this.char}},e}(),D=function(){function e(e){this.expression=e,this.lexer=new _(e),this.tokens=this.lexer.tokenize(),this.index=0}return e.prototype.getAst=function(){return this.start()},e.prototype.start=function(){try{return this.functionCall()||this.metricExpression()}catch(e){return{type:"error",message:e.message,pos:e.pos}}},e.prototype.curlyBraceSegment=function(){if(this.match("identifier","{")||this.match("{")){for(var e="";!this.match("")&&!this.match("}");)e+=this.consumeToken().value;return this.match("}")||this.errorMark("Expected closing '}'"),e+=this.consumeToken().value,this.match("identifier")&&(e+=this.consumeToken().value),{type:"segment",value:e}}return null},e.prototype.metricSegment=function(){var e=this.curlyBraceSegment();if(e)return e;if(this.match("identifier")||this.match("number")){var t=this.consumeToken().value.split(".");return 2===t.length&&(this.tokens.splice(this.index,0,{type:"."}),this.tokens.splice(this.index+1,0,{type:"number",value:t[1]})),{type:"segment",value:t[0]}}this.match("templateStart")||this.errorMark("Expected metric identifier"),this.consumeToken(),this.match("identifier")||this.errorMark("Expected identifier after templateStart");var a={type:"template",value:this.consumeToken().value};return this.match("templateEnd")||this.errorMark("Expected templateEnd"),this.consumeToken(),a},e.prototype.metricExpression=function(){if(!(this.match("templateStart")||this.match("identifier")||this.match("number")||this.match("{")))return null;var e={type:"metric",segments:[]};for(e.segments.push(this.metricSegment());this.match(".");){this.consumeToken();var t=this.metricSegment();t||this.errorMark("Expected metric identifier"),e.segments.push(t)}return e},e.prototype.functionCall=function(){if(!this.match("identifier","("))return null;var e={type:"function",name:this.consumeToken().value};return this.consumeToken(),e.params=this.functionParameters(),this.match(")")||this.errorMark("Expected closing parenthesis"),this.consumeToken(),e},e.prototype.boolExpression=function(){return this.match("bool")?{type:"bool",value:"true"===this.consumeToken().value}:null},e.prototype.functionParameters=function(){if(this.match(")")||this.match(""))return[];var e=this.functionCall()||this.numericLiteral()||this.seriesRefExpression()||this.boolExpression()||this.metricExpression()||this.stringLiteral();return this.match(",")?(this.consumeToken(),[e].concat(this.functionParameters())):[e]},e.prototype.seriesRefExpression=function(){return this.match("identifier")&&this.tokens[this.index].value.match(/\#[A-Z]/)?{type:"series-ref",value:this.consumeToken().value}:null},e.prototype.numericLiteral=function(){return this.match("number")?{type:"number",value:parseFloat(this.consumeToken().value)}:null},e.prototype.stringLiteral=function(){if(!this.match("string"))return null;var e=this.consumeToken();if(e.isUnclosed)throw{message:"Unclosed string parameter",pos:e.pos};return{type:"string",value:e.value}},e.prototype.errorMark=function(e){var t=this.tokens[this.index];throw{message:e+" instead found "+(t?t.type:"end of string"),pos:t?t.pos:this.lexer.char}},e.prototype.consumeToken=function(){return this.index++,this.tokens[this.index-1]},e.prototype.matchToken=function(e,t){var a=this.tokens[this.index+t];return void 0===a&&""===e||a&&a.type===e},e.prototype.match=function(e,t){return this.matchToken(e,0)&&(!t||this.matchToken(t,1))},e}(),A=function(){function e(e,t,a,n){this.datasource=e,this.target=t,this.templateSrv=a,this.scopedVars=n,this.parseTarget(),this.removeTagValue="-- remove tag --"}return e.$inject=["datasource","target","templateSrv","scopedVars"],e.prototype.parseTarget=function(){if(this.functions=[],this.segments=[],this.tags=[],this.seriesByTagUsed=!1,this.error=null,!this.target.textEditor){var e=new D(this.target.target).getAst();if(null!==e){if("error"===e.type)return this.error=e.message+" at position: "+e.pos,void(this.target.textEditor=!0);try{this.parseTargetRecursive(e,null)}catch(e){console.log("error parsing target:",e.message),this.error=e.message,this.target.textEditor=!0}this.checkOtherSegmentsIndex=this.segments.length-1}else this.checkOtherSegmentsIndex=0}},e.prototype.getSegmentPathUpTo=function(e){var t=this.segments.slice(0,e);return i.a.reduce(t,function(e,t){return e?e+"."+t.value:t.value},"")},e.prototype.parseTargetRecursive=function(e,t){var a=this;if(null===e)return null;switch(e.type){case"function":var n=this.datasource.createFuncInstance(e.name,{withDefaultParams:!1});i.a.each(e.params,function(e){a.parseTargetRecursive(e,n)}),n.updateText(),this.functions.push(n),"seriesByTag"!==n.def.name||this.seriesByTagUsed||(this.seriesByTagUsed=!0,n.hidden=!0,this.tags=this.splitSeriesByTagParams(n));break;case"series-ref":this.segments.length>0||this.getSeriesByTagFuncIndex()>=0?this.addFunctionParameter(t,e.value):this.segments.push(e);break;case"bool":case"string":case"number":this.addFunctionParameter(t,e.value);break;case"metric":this.segments.length||this.tags.length?this.addFunctionParameter(t,i.a.join(i.a.map(e.segments,"value"),".")):this.segments=e.segments}},e.prototype.updateSegmentValue=function(e,t){this.segments[t].value=e.value},e.prototype.addSelectMetricSegment=function(){this.segments.push({value:"select metric"})},e.prototype.addFunction=function(e){this.functions.push(e)},e.prototype.addFunctionParameter=function(e,t){if(e.params.length>=e.def.params.length&&!i.a.get(i.a.last(e.def.params),"multiple",!1))throw{message:"too many parameters for function "+e.def.name};e.params.push(t)},e.prototype.removeFunction=function(e){this.functions=i.a.without(this.functions,e)},e.prototype.moveFunction=function(e,t){var a=this.functions.indexOf(e);i.a.move(this.functions,a,a+t)},e.prototype.updateModelTarget=function(e){var t,a,r=this;if(!this.target.textEditor){var s=this.getSegmentPathUpTo(this.segments.length).replace(/\.select metric$/,"");this.target.target=i.a.reduce(this.functions,function(e,t){return t.render(e,function(e){return r.templateSrv.replace(e,r.scopedVars)})},s)}this.updateRenderedTarget(this.target,e);try{for(var o=Object(n.__values)(e||[]),u=o.next();!u.done;u=o.next()){var m=u.value;m.refId!==this.target.refId&&this.updateRenderedTarget(m,e)}}catch(e){t={error:e}}finally{try{u&&!u.done&&(a=o.return)&&a.call(o)}finally{if(t)throw t.error}}},e.prototype.updateRenderedTarget=function(e,t){var a=i.a.keyBy(t,"refId");delete a[e.refId];var n=/\#([A-Z])/g,r=e.target;for(i.a.each(a,function(e,t){!function(e,t){var a=0;i.a.each(e,function(e,r){if(r!==t){var i=n.exec(e.target),s=i&&i.length?i.length-1:0;a+=s}}),e[t].refCount=a}(a,t)});r.match(n);){var s=r.replace(n,function(e,t){var n=a[t];return n?(0===n.refCount&&delete a[t],n.refCount--,n.target):e});if(s===r)break;r=s}delete e.targetFull,e.target!==r&&(e.targetFull=r)},e.prototype.splitSeriesByTagParams=function(e){var t=/([^\!=~]+)(\!?=~?)(.*)/;return i.a.flatten(i.a.map(e.params,function(e){var a=t.exec(e);if(a){var n=a.slice(1);if(3===n.length)return{key:n[0],operator:n[1],value:n[2]}}return[]}))},e.prototype.getSeriesByTagFuncIndex=function(){return i.a.findIndex(this.functions,function(e){return"seriesByTag"===e.def.name})},e.prototype.getSeriesByTagFunc=function(){var e=this.getSeriesByTagFuncIndex();return e>=0?this.functions[e]:void 0},e.prototype.addTag=function(e){var t=I(e);this.getSeriesByTagFunc().params.push(t),this.tags.push(e)},e.prototype.removeTag=function(e){this.getSeriesByTagFunc().params.splice(e,1),this.tags.splice(e,1)},e.prototype.updateTag=function(e,t){if(this.error=null,e.key!==this.removeTagValue){var a=I(e);this.getSeriesByTagFunc().params[t]=a,this.tags[t]=e}else this.removeTag(t)},e.prototype.renderTagExpressions=function(e){return void 0===e&&(e=-1),i.a.compact(i.a.map(this.tags,function(t,a){if(a!==e)return t.key+t.operator+t.value}))},e}();function I(e){return e.key+e.operator+e.value}var B=a("LzXI"),O=a("Xmxp"),R=["=","!=","=~","!=~"],j="tag: ",N=function(e){function t(t,a,n,r,i){var s=e.call(this,t,a)||this;return s.uiSegmentSrv=n,s.templateSrv=r,s.supportsTags=s.datasource.supportsTags,s.paused=!1,s.target.target=s.target.target||"",s.datasource.waitForFuncDefsLoaded().then(function(){s.queryModel=new A(s.datasource,s.target,r),s.buildSegments(!1)}),s.removeTagValue="-- remove tag --",s}return t.$inject=["$scope","$injector","uiSegmentSrv","templateSrv","$timeout"],Object(n.__extends)(t,e),t.prototype.parseTarget=function(){this.queryModel.parseTarget(),this.buildSegments()},t.prototype.toggleEditorMode=function(){this.target.textEditor=!this.target.textEditor,this.parseTarget()},t.prototype.buildSegments=function(e){var t=this;void 0===e&&(e=!0),this.segments=i.a.map(this.queryModel.segments,function(e){return t.uiSegmentSrv.newSegment(e)});var a=this.queryModel.checkOtherSegmentsIndex||0;this.checkOtherSegments(a,e),this.queryModel.seriesByTagUsed&&this.fixTagSegments()},t.prototype.addSelectMetricSegment=function(){this.queryModel.addSelectMetricSegment(),this.segments.push(this.uiSegmentSrv.newSelectMetric())},t.prototype.checkOtherSegments=function(e,t){var a=this;if(void 0===t&&(t=!0),1!==this.queryModel.segments.length||"series-ref"!==this.queryModel.segments[0].type){if(0!==e){var n=this.queryModel.getSegmentPathUpTo(e+1);return""===n?Promise.resolve():this.datasource.metricFindQuery(n).then(function(r){if(0===r.length)""!==n&&t&&(a.queryModel.segments=a.queryModel.segments.splice(0,e),a.segments=a.segments.splice(0,e),a.addSelectMetricSegment());else if(r[0].expandable){if(a.segments.length!==e)return a.checkOtherSegments(e+1);a.addSelectMetricSegment()}}).catch(function(e){O.b.emit(s.AppEvents.alertError,["Error",e])})}this.addSelectMetricSegment()}},t.prototype.setSegmentFocus=function(e){i.a.each(this.segments,function(t,a){t.focus=e===a})},t.prototype.getAltSegments=function(e,t){var a=this,n=t&&t.length>0?"*"+t+"*":"*";e>0&&(n=this.queryModel.getSegmentPathUpTo(e)+"."+n);var r={range:this.panelCtrl.range,requestId:"get-alt-segments"};return this.datasource.metricFindQuery(n,r).then(function(n){var r=i.a.map(n,function(e){return a.uiSegmentSrv.newSegment({value:e.text,expandable:e.expandable})});return e>0&&0===r.length?r:(0===e&&i.a.eachRight(a.panelCtrl.panel.targets,function(e){e.refId!==a.queryModel.target.refId&&r.unshift(a.uiSegmentSrv.newSegment({type:"series-ref",value:"#"+e.refId,expandable:!1}))}),i.a.eachRight(a.templateSrv.variables,function(e){r.unshift(a.uiSegmentSrv.newSegment({type:"template",value:"$"+e.name,expandable:!0}))}),r.unshift(a.uiSegmentSrv.newSegment("*")),a.supportsTags&&0===e?(a.removeTaggedEntry(r),a.addAltTagSegments(t,r)):r)}).catch(function(e){return[]})},t.prototype.addAltTagSegments=function(e,t){return this.getTagsAsSegments(e).then(function(e){return e=i.a.map(e,function(e){return e.value=j+e.value,e}),t.concat.apply(t,Object(n.__spread)(e))})},t.prototype.removeTaggedEntry=function(e){e=i.a.remove(e,function(e){return"_tagged"===e.value})},t.prototype.segmentValueChanged=function(e,t){var a=this;if(this.error=null,this.queryModel.updateSegmentValue(e,t),this.queryModel.functions.length>0&&this.queryModel.functions[0].def.fake&&(this.queryModel.functions=[]),"tag"===e.type){var n=e.value.replace(j,"");return this.pause(),void this.addSeriesByTagFunc(n)}if(e.expandable)return this.checkOtherSegments(t+1).then(function(){a.setSegmentFocus(t+1),a.targetChanged()});this.spliceSegments(t+1),this.setSegmentFocus(t+1),this.targetChanged()},t.prototype.spliceSegments=function(e){this.segments=this.segments.splice(0,e),this.queryModel.segments=this.queryModel.segments.splice(0,e)},t.prototype.emptySegments=function(){this.queryModel.segments=[],this.segments=[]},t.prototype.targetTextChanged=function(){this.updateModelTarget(),this.refresh()},t.prototype.updateModelTarget=function(){this.queryModel.updateModelTarget(this.panelCtrl.panel.targets)},t.prototype.targetChanged=function(){if(!this.queryModel.error){var e=this.queryModel.target.target;this.updateModelTarget(),this.queryModel.target===e||this.paused||this.panelCtrl.refresh()}},t.prototype.addFunction=function(e){var t=this.datasource.createFuncInstance(e,{withDefaultParams:!0});t.added=!0,this.queryModel.addFunction(t),this.smartlyHandleNewAliasByNode(t),1===this.segments.length&&this.segments[0].fake&&this.emptySegments(),!t.params.length&&t.added&&this.targetChanged(),"seriesByTag"===t.def.name&&this.parseTarget()},t.prototype.removeFunction=function(e){this.queryModel.removeFunction(e),this.targetChanged()},t.prototype.moveFunction=function(e,t){this.queryModel.moveFunction(e,t),this.targetChanged()},t.prototype.addSeriesByTagFunc=function(e){var t=this.datasource.createFuncInstance("seriesByTag",{withDefaultParams:!1}),a=e+"=";t.params=[a],this.queryModel.addFunction(t),t.added=!0,this.emptySegments(),this.targetChanged(),this.parseTarget()},t.prototype.smartlyHandleNewAliasByNode=function(e){if("aliasByNode"===e.def.name)for(var t=0;t<this.segments.length;t++)if(this.segments[t].value.indexOf("*")>=0)return e.params[0]=t,e.added=!1,void this.targetChanged()},t.prototype.getAllTags=function(){var e=this;return this.datasource.getTags().then(function(t){var a=i.a.map(t,"text");return a.splice(0,0,e.removeTagValue),V(a)})},t.prototype.getTags=function(e,t){var a=this,n=this.queryModel.renderTagExpressions(e);return this.datasource.getTagsAutoComplete(n,t).then(function(e){var t=i.a.map(e,"text");return t.splice(0,0,a.removeTagValue),V(t)})},t.prototype.getTagsAsSegments=function(e){var t=this,a=this.queryModel.renderTagExpressions();return this.datasource.getTagsAutoComplete(a,e).then(function(e){return i.a.map(e,function(e){return t.uiSegmentSrv.newSegment({value:e.text,type:"tag",expandable:!1})})})},t.prototype.getTagOperators=function(){return V(R)},t.prototype.getAllTagValues=function(e){var t=e.key;return this.datasource.getTagValues(t).then(function(e){return V(i.a.map(e,"text"))})},t.prototype.getTagValues=function(e,t,a){var n=this,r=this.queryModel.renderTagExpressions(t),s=e.key;return this.datasource.getTagValuesAutoComplete(r,s,a).then(function(e){var t=i.a.map(e,"text");return i.a.eachRight(n.templateSrv.variables,function(e){t.push("${"+e.name+":regex}")}),V(t)})},t.prototype.tagChanged=function(e,t){this.queryModel.updateTag(e,t),this.targetChanged()},t.prototype.addNewTag=function(e){var t={key:e.value,operator:"=",value:""};this.queryModel.addTag(t),this.targetChanged(),this.fixTagSegments()},t.prototype.removeTag=function(e){this.queryModel.removeTag(e),this.targetChanged()},t.prototype.fixTagSegments=function(){this.addTagSegments=[this.uiSegmentSrv.newPlusButton()]},t.prototype.showDelimiter=function(e){return e!==this.queryModel.tags.length-1},t.prototype.pause=function(){this.paused=!0},t.prototype.unpause=function(){this.paused=!1,this.panelCtrl.refresh()},t.prototype.getCollapsedText=function(){return this.target.target},t.templateUrl="partials/query.editor.html",t}(B.QueryCtrl);function V(e){return i.a.map(e,function(e){return{text:e,value:e}})}var L=a("q1tI"),z=a.n(L),G=a("kDLi"),$=[{label:"0.9.x",value:"0.9"},{label:"1.0.x",value:"1.0"},{label:"1.1.x",value:"1.1"}],U=Object.keys(g).map(function(e){return{label:e,value:g[e]}}),H=function(e){function t(t){var a=e.call(this,t)||this;return a.onChangeHandler=function(e){return function(t){var r,i=a.props,s=i.value;(0,i.onChange)(Object(n.__assign)(Object(n.__assign)({},s),{jsonData:Object(n.__assign)(Object(n.__assign)({},s.jsonData),(r={},r[e]=t.value,r))}))}},a.state={showMetricTankHelp:!1},a}return Object(n.__extends)(t,e),t.prototype.render=function(){var e,t=this,a=this.props.value,n=this.state.showMetricTankHelp,r=null!=(e=$.find(function(e){return e.value===a.jsonData.graphiteVersion}))?e:$[2];return z.a.createElement(z.a.Fragment,null,z.a.createElement("h3",{className:"page-heading"},"Graphite details"),z.a.createElement("div",{className:"gf-form-group"},z.a.createElement("div",{className:"gf-form"},z.a.createElement(G.FormLabel,{tooltip:"This option controls what functions are available in the Graphite query editor."},"Version"),z.a.createElement(G.Select,{value:r,options:$,width:8,onChange:this.onChangeHandler("graphiteVersion")})),z.a.createElement("div",{className:"gf-form-inline"},z.a.createElement(G.FormLabel,null,"Type"),z.a.createElement(G.Select,{options:U,value:U.find(function(e){return e.value===a.jsonData.graphiteType}),width:8,onChange:this.onChangeHandler("graphiteType")}),z.a.createElement(G.Button,{style:{marginLeft:"8px",marginTop:"5px"},variant:"secondary",size:"sm",onClick:function(){return t.setState(function(e){return{showMetricTankHelp:!e.showMetricTankHelp}})}},"Help ",z.a.createElement("i",{className:n?"fa fa-caret-down":"fa fa-caret-right"}))),n&&z.a.createElement("div",{className:"grafana-info-box m-t-2"},z.a.createElement("div",{className:"alert-body"},z.a.createElement("p",null,"There are different types of Graphite compatible backends. Here you can specify the type you are using. If you are using"," ",z.a.createElement("a",{href:"https://github.com/grafana/metrictank",className:"pointer",target:"_blank"},"Metrictank")," ","then select that here. This will enable Metrictank specific features like query processing meta data. Metrictank is a multi-tenant timeseries engine for Graphite and friends.")))))},t}(L.PureComponent);function W(e){if(e)return parseInt(e,10)}function Q(e){if(e)return"true"===e||"false"!==e&&parseInt(e,10)}var J=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={index:0},t.renderInfo=function(e,t){var a,n=(a=e["schema-retentions"])?a.split(",").map(function(e){var t=e.split(":");return{interval:t[0],retention:t[1],chunkspan:t[2],numchunks:W(t[3]),ready:Q(t[4])}}):[];return z.a.createElement("div",null,z.a.createElement("h3",null,"Info"),z.a.createElement("table",null,z.a.createElement("tbody",null,n.map(function(e){return z.a.createElement("tr",{key:e.interval},z.a.createElement("td",null,e.interval," "),z.a.createElement("td",null,e.retention," "),z.a.createElement("td",null,e.chunkspan," "),z.a.createElement("td",null,e.numchunks," "),z.a.createElement("td",null,e.ready," "))}))),z.a.createElement("pre",null,JSON.stringify(e,null,2)))},t}return Object(n.__extends)(t,e),t.prototype.render=function(){var e,t=this,a=this.props.data;if(!a||!a.length)return z.a.createElement("div",null,"No Metadata");var n=a[this.state.index],r=null===(e=n.meta)||void 0===e?void 0:e.custom;return r&&r.info?z.a.createElement("div",null,z.a.createElement("h3",null,"MetricTank Request"),z.a.createElement("pre",null,JSON.stringify(r.request,null,2)),r.info.map(function(e){return t.renderInfo(e,n)})):z.a.createElement(z.a.Fragment,null,"No Metadatata on DataFrame")},t}(L.PureComponent);a.d(t,"plugin",function(){return Z});var X=function(){function e(){}return e.templateUrl="partials/annotations.editor.html",e}(),Z=new s.DataSourcePlugin(S).setQueryCtrl(N).setConfigEditor(function(e){var t=e.options,a=e.onOptionsChange;return z.a.createElement(z.a.Fragment,null,z.a.createElement(G.DataSourceHttpSettings,{defaultUrl:"http://localhost:8080",dataSourceConfig:t,onChange:a}),z.a.createElement(H,{value:t,onChange:a}))}).setMetadataInspector(J).setAnnotationQueryCtrl(X)}}]); //# sourceMappingURL=graphitePlugin.4d0490a94b199a11f40c.js.map