graphdb-workbench 2.2.1 → 2.2.2-TR1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/11.f4c5533cd200c8568ff6.bundle.js +1 -1
- package/dist/11.f4c5533cd200c8568ff6.bundle.js.map +1 -1
- package/dist/111.a12fdfab1d11ab373ecf.bundle.js +2 -0
- package/dist/111.a12fdfab1d11ab373ecf.bundle.js.map +1 -0
- package/dist/112.8cd13d27736494201244.bundle.js +2 -0
- package/dist/112.8cd13d27736494201244.bundle.js.map +1 -0
- package/dist/{12.d9d71e44fdefd12ffbd9.bundle.js → 12.f348b65d06b0213c492e.bundle.js} +2 -2
- package/dist/12.f348b65d06b0213c492e.bundle.js.map +1 -0
- package/dist/{13.c983d32d3e92f49cd670.bundle.js → 13.fc8afecbe1a39b84c1db.bundle.js} +2 -2
- package/dist/13.fc8afecbe1a39b84c1db.bundle.js.map +1 -0
- package/dist/{14.8661d578dfadafbcdf84.bundle.js → 14.457cf038826e0d9e033e.bundle.js} +2 -2
- package/dist/14.457cf038826e0d9e033e.bundle.js.map +1 -0
- package/dist/148.dd250d3cc5aafade33c6.bundle.js +1 -1
- package/dist/148.dd250d3cc5aafade33c6.bundle.js.map +1 -1
- package/dist/{15.6eada6724367dcd05007.bundle.js → 15.874aa7b7f7972283a629.bundle.js} +2 -2
- package/dist/15.874aa7b7f7972283a629.bundle.js.map +1 -0
- package/dist/20.fbcb31706f03a07e8827.bundle.js +1 -1
- package/dist/20.fbcb31706f03a07e8827.bundle.js.map +1 -1
- package/dist/27.83b24ef9ec0fd6964d92.bundle.js +1 -1
- package/dist/27.83b24ef9ec0fd6964d92.bundle.js.map +1 -1
- package/dist/33.4d23fa109c9184727386.bundle.js +1 -1
- package/dist/33.4d23fa109c9184727386.bundle.js.map +1 -1
- package/dist/34.f019d485e103b291488a.bundle.js +2 -0
- package/dist/34.f019d485e103b291488a.bundle.js.map +1 -0
- package/dist/40.50b40301c8cc69a70457.bundle.js +1 -1
- package/dist/40.50b40301c8cc69a70457.bundle.js.map +1 -1
- package/dist/44.568afd25b8a568b1c18d.bundle.js +2 -0
- package/dist/44.568afd25b8a568b1c18d.bundle.js.map +1 -0
- package/dist/45.ff1425adb8765ead76fa.bundle.js +2 -0
- package/dist/45.ff1425adb8765ead76fa.bundle.js.map +1 -0
- package/dist/46.e92017f79bee05197e4a.bundle.js +2 -0
- package/dist/46.e92017f79bee05197e4a.bundle.js.map +1 -0
- package/dist/47.099bba66b99e58961fd9.bundle.js +2 -0
- package/dist/47.099bba66b99e58961fd9.bundle.js.map +1 -0
- package/dist/48.5a84d14ed4cb41f91fca.bundle.js +2 -0
- package/dist/48.5a84d14ed4cb41f91fca.bundle.js.map +1 -0
- package/dist/49.ad3b75a5d0c8679165b9.bundle.js +2 -0
- package/dist/49.ad3b75a5d0c8679165b9.bundle.js.map +1 -0
- package/dist/50.5114c92299726180a264.bundle.js +2 -0
- package/dist/50.5114c92299726180a264.bundle.js.map +1 -0
- package/dist/51.f884748db1436a79a134.bundle.js +2 -0
- package/dist/51.f884748db1436a79a134.bundle.js.map +1 -0
- package/dist/52.351e9098a43e13a6f2da.bundle.js +2 -0
- package/dist/52.351e9098a43e13a6f2da.bundle.js.map +1 -0
- package/dist/94.38349f52df66313fbcc0.bundle.js +1 -1
- package/dist/94.38349f52df66313fbcc0.bundle.js.map +1 -1
- package/dist/{bundle.119af3621ec41f8cbf04.bundle.js → bundle.85f39e50f7dea19ff7b6.bundle.js} +3 -3
- package/dist/bundle.85f39e50f7dea19ff7b6.bundle.js.map +1 -0
- package/dist/css/jmx.css +7 -1
- package/dist/i18n/locale-en.json +22 -6
- package/dist/i18n/locale-fr.json +61 -15
- package/dist/index.html +3 -3
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +4 -4
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +11 -11
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +121 -31
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +2 -2
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +4 -3
- package/dist/res/swagger/index.html +27 -27
- package/package.json +1 -1
- package/dist/111.4845cf402b3a4c3c006c.bundle.js +0 -2
- package/dist/111.4845cf402b3a4c3c006c.bundle.js.map +0 -1
- package/dist/112.99c50f08e6724346dc3a.bundle.js +0 -2
- package/dist/112.99c50f08e6724346dc3a.bundle.js.map +0 -1
- package/dist/12.d9d71e44fdefd12ffbd9.bundle.js.map +0 -1
- package/dist/13.c983d32d3e92f49cd670.bundle.js.map +0 -1
- package/dist/14.8661d578dfadafbcdf84.bundle.js.map +0 -1
- package/dist/15.6eada6724367dcd05007.bundle.js.map +0 -1
- package/dist/34.01b159cdf635ac9d0dd7.bundle.js +0 -2
- package/dist/34.01b159cdf635ac9d0dd7.bundle.js.map +0 -1
- package/dist/44.4d7cb09cdd1413d5f879.bundle.js +0 -2
- package/dist/44.4d7cb09cdd1413d5f879.bundle.js.map +0 -1
- package/dist/45.8c6f6eba4736e953c2bc.bundle.js +0 -2
- package/dist/45.8c6f6eba4736e953c2bc.bundle.js.map +0 -1
- package/dist/46.3a0da10162409588560c.bundle.js +0 -2
- package/dist/46.3a0da10162409588560c.bundle.js.map +0 -1
- package/dist/47.049aedaa6cfccef06f69.bundle.js +0 -2
- package/dist/47.049aedaa6cfccef06f69.bundle.js.map +0 -1
- package/dist/48.d7b02a85dfa52084b1c4.bundle.js +0 -2
- package/dist/48.d7b02a85dfa52084b1c4.bundle.js.map +0 -1
- package/dist/49.2e7858348448fdde1332.bundle.js +0 -2
- package/dist/49.2e7858348448fdde1332.bundle.js.map +0 -1
- package/dist/50.1650ec02515a7dce98a5.bundle.js +0 -2
- package/dist/50.1650ec02515a7dce98a5.bundle.js.map +0 -1
- package/dist/51.c597233d286f68e37481.bundle.js +0 -2
- package/dist/51.c597233d286f68e37481.bundle.js.map +0 -1
- package/dist/52.0ea1cd862aeb2461a9c4.bundle.js +0 -2
- package/dist/52.0ea1cd862aeb2461a9c4.bundle.js.map +0 -1
- package/dist/bundle.119af3621ec41f8cbf04.bundle.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[34,52,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return r}));class r{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,r){this.disableRangeUpdate=a,this.disableOldDataRemoval=r,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,r){}updateRange(t,e){const[a]=r.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>r.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?r.getMaxValueFromDataHolder(t):r.getMaxValueForDataSeries(t);const s=Math.round(a*(e||r.DEFAULT_MULTIPLIER))||1;return[s,Math.ceil(s/r.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,s]=r.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,s)}}},40:function(t,e,a){"use strict";a.r(e),a.d(e,"HeapMemoryChart",(function(){return s}));var r=a(38);class s extends r.ChartData{constructor(t,e){super(t,e,!1,!1)}getTitle(){return this.translateService.instant("resource.memory.heap.label")}createDataHolder(){return[{key:this.translateService.instant("resource.memory.committed"),values:[]},{key:this.translateService.instant("resource.memory.used"),area:"true",values:[]}]}addNewData(t,e,a){const[r,s]=t,i=this.parseData(a);r.values.push([e,i.committed]),s.values.push([e,i.used]),this.setMaxHeapSize(i.max,t)}parseData(t){return t.heapMemoryUsage}setMaxHeapSize(t,e){if(t>0){const e=this.formatBytesValue(t);this.setSubTitle(this.translateService.instant("resource.memory.heap.max",{max:e}))}}updateRange(t){this.setScale(t),super.updateRange(t)}setScale(t){this.chartOptions.chart.yAxis.tickFormat=e=>this.formatBytesValue(e,t)}formatBytesValue(t,e){let a=t;e&&(a=Math.max(...e.filter(t=>!t.disabled).flatMap(t=>t.values).flatMap(t=>t[1])));const r=Math.floor(Math.log(a)/Math.log(1024));return`${(parseFloat(t)/Math.pow(1024,r)).toFixed(2)} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][r]}`}}},47:function(t,e,a){"use strict";a.r(e),a.d(e,"NonHeapMemoryChart",(function(){return s}));var r=a(40);class s extends r.HeapMemoryChart{constructor(t,e){super(t,e,!1,!1)}getTitle(){return this.translateService.instant("resource.memory.non_heap.label")}parseData(t){return t.nonHeapMemoryUsage}}}}]);
|
|
2
|
-
//# sourceMappingURL=34.01b159cdf635ac9d0dd7.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/resource/heap-memory-chart.js","webpack:///./src/js/angular/resources/chart-models/resource/non-heap-memory-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","HeapMemoryChart","super","key","area","committed","used","memoryData","parseData","push","setMaxHeapSize","heapMemoryUsage","maxMemory","formatBytesValue","setSubTitle","setScale","value","i","floor","log","parseFloat","pow","toFixed","NonHeapMemoryChart","nonHeapMemoryUsage"],"mappings":"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","file":"34.01b159cdf635ac9d0dd7.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class HeapMemoryChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n\n getTitle() {\n return this.translateService.instant('resource.memory.heap.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.memory.committed'),\n values: []\n }, {\n key: this.translateService.instant('resource.memory.used'),\n area: 'true',\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n const [committed, used] = dataHolder;\n const memoryData = this.parseData(data);\n committed.values.push([timestamp, memoryData.committed]);\n used.values.push([timestamp, memoryData.used]);\n this.setMaxHeapSize(memoryData.max, dataHolder);\n }\n\n parseData(data) {\n return data.heapMemoryUsage;\n }\n\n setMaxHeapSize(max, dataHolder) {\n if (max > 0) {\n const maxMemory = this.formatBytesValue(max);\n this.setSubTitle(this.translateService.instant('resource.memory.heap.max', {max: maxMemory}));\n }\n }\n\n updateRange(dataHolder) {\n this.setScale(dataHolder);\n super.updateRange(dataHolder);\n }\n setScale(dataHolder) {\n this.chartOptions.chart.yAxis.tickFormat = (d) => {\n return this.formatBytesValue(d, dataHolder);\n };\n }\n formatBytesValue(value, dataHolder) {\n let maxChartValue = value;\n if (dataHolder) {\n maxChartValue = Math.max(...dataHolder.filter((data)=> !data.disabled).flatMap((data) => data.values).flatMap((data) => data[1]));\n }\n\n const k = 1024;\n const i = Math.floor(Math.log(maxChartValue) / Math.log(k));\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const relativeValue = parseFloat(value) / Math.pow(k, i);\n return `${relativeValue.toFixed(2)} ${sizes[i]}`;\n }\n}\n","import {HeapMemoryChart} from \"./heap-memory-chart\";\n\nexport class NonHeapMemoryChart extends HeapMemoryChart {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n\n getTitle() {\n return this.translateService.instant('resource.memory.non_heap.label');\n }\n\n parseData(data) {\n return data.nonHeapMemoryUsage;\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[44,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return s}));class s{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,s){this.disableRangeUpdate=a,this.disableOldDataRemoval=s,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,s){}updateRange(t,e){const[a]=s.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>s.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?s.getMaxValueFromDataHolder(t):s.getMaxValueForDataSeries(t);const r=Math.round(a*(e||s.DEFAULT_MULTIPLIER))||1;return[r,Math.ceil(r/s.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,r]=s.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,r)}}},53:function(t,e,a){"use strict";a.r(e),a.d(e,"ClusterHealthChart",(function(){return r}));var s=a(38);class r extends s.ChartData{constructor(t,e){super(t,e,!0,!1),this.nodesCount=0}chartSetup(t){const e={type:"stackedAreaChart",interpolate:"step-after",stacked:!0,yAxis:{showMaxMin:!1,tickFormat:function(t){return t},tickValues:()=>d3.range(0,this.nodesCount+1,1)}};Object.assign(t.chart,e)}getTitle(){return this.translateService.instant("resources.cluster_health.label")}createDataHolder(){return[{key:this.translateService.instant("resources.cluster_health.in_sync"),values:[]},{key:this.translateService.instant("resources.cluster_health.syncing"),color:"#ff5508",values:[]},{key:this.translateService.instant("resources.cluster_health.out_sync"),color:"#f52121",values:[]},{key:this.translateService.instant("resources.cluster_health.disconnected"),color:"#999999",values:[]}]}addNewData(t,e,a){const s=a.nodesStats;this.nodesCount=s.nodesInCluster;const[r,i,n,o]=t;r.values.push([e,s.nodesInSync]),n.values.push([e,s.nodesOutOfSync]),o.values.push([e,s.nodesDisconnected]),i.values.push([e,s.nodesSyncing]);const l={leaderElections:a.term,failedRecoveries:a.failureRecoveriesCount,failedTransactions:a.failedTransactionsCount};this.setSubTitle(this.translateService.instant("resource.cluster_health.additional_data",l))}}}}]);
|
|
2
|
-
//# sourceMappingURL=44.4d7cb09cdd1413d5f879.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/cluster-health/cluster-health-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","ClusterHealthChart","super","nodesCount","clusterHealthChartOptions","stacked","tickValues","Object","assign","key","nodesStatus","nodesStats","nodesInCluster","nodesInSync","nodesSyncing","nodesOutOfSync","nodesDisconnected","push","subTitleValues","leaderElections","term","failedRecoveries","failureRecoveriesCount","failedTransactions","failedTransactionsCount","setSubTitle"],"mappings":"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","file":"44.4d7cb09cdd1413d5f879.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from '../chart-data';\n\nexport class ClusterHealthChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, true, false);\n this.nodesCount = 0;\n }\n chartSetup(chartOptions) {\n const clusterHealthChartOptions = {\n type: 'stackedAreaChart',\n interpolate: 'step-after',\n stacked: true,\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n },\n tickValues: () => {\n return d3.range(0, this.nodesCount + 1, 1);\n }\n }\n };\n Object.assign(chartOptions.chart, clusterHealthChartOptions);\n }\n\n getTitle() {\n return this.translateService.instant('resources.cluster_health.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resources.cluster_health.in_sync'),\n values: []\n }, {\n key: this.translateService.instant('resources.cluster_health.syncing'),\n color: '#ff5508',\n values: []\n }, {\n key: this.translateService.instant('resources.cluster_health.out_sync'),\n color: '#f52121',\n values: []\n }, {\n key: this.translateService.instant('resources.cluster_health.disconnected'),\n color: '#999999',\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n const nodesStatus = data.nodesStats;\n this.nodesCount = nodesStatus.nodesInCluster;\n const [nodesInSync, nodesSyncing, nodesOutOfSync, nodesDisconnected] = dataHolder;\n\n nodesInSync.values.push([timestamp, nodesStatus.nodesInSync]);\n nodesOutOfSync.values.push([timestamp, nodesStatus.nodesOutOfSync]);\n nodesDisconnected.values.push([timestamp, nodesStatus.nodesDisconnected]);\n nodesSyncing.values.push([timestamp, nodesStatus.nodesSyncing]);\n\n const subTitleValues = {\n leaderElections: data.term,\n failedRecoveries: data.failureRecoveriesCount,\n failedTransactions: data.failedTransactionsCount\n };\n this.setSubTitle(this.translateService.instant('resource.cluster_health.additional_data', subTitleValues));\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[45,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return i}));class i{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,i){this.disableRangeUpdate=a,this.disableOldDataRemoval=i,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,i){}updateRange(t,e){const[a]=i.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>i.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?i.getMaxValueFromDataHolder(t):i.getMaxValueForDataSeries(t);const r=Math.round(a*(e||i.DEFAULT_MULTIPLIER))||1;return[r,Math.ceil(r/i.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,r]=i.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,r)}}},52:function(t,e,a){"use strict";a.r(e),a.d(e,"ConnectionsChart",(function(){return r}));var i=a(38);class r extends i.ChartData{constructor(t,e){super(t,e,!1,!1)}chartSetup(t){t.chart.yAxis.tickValues=()=>r.getIntegerRangeForValues(this.dataHolder)}getTitle(){return this.translateService.instant("resource.connections.label")}createDataHolder(){return[{key:this.translateService.instant("resource.connections.active"),values:[]},{key:this.translateService.instant("resource.connections.open"),values:[]}]}addNewData(t,e,a){const i=a.performanceData;t[0].values.push([e,i.activeTransactions]),t[1].values.push([e,i.openConnections])}}}}]);
|
|
2
|
-
//# sourceMappingURL=45.8c6f6eba4736e953c2bc.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/performance/connections-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","ConnectionsChart","super","tickValues","getIntegerRangeForValues","key","performanceData","push","activeTransactions","openConnections"],"mappings":"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","file":"45.8c6f6eba4736e953c2bc.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class ConnectionsChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n chartSetup(chartOptions) {\n chartOptions.chart.yAxis.tickValues = () => {\n return ConnectionsChart.getIntegerRangeForValues(this.dataHolder);\n };\n }\n\n getTitle() {\n return this.translateService.instant('resource.connections.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.connections.active'),\n values: []\n }, {\n key: this.translateService.instant('resource.connections.open'),\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n const performanceData = data.performanceData;\n dataHolder[0].values.push([timestamp, performanceData.activeTransactions]);\n dataHolder[1].values.push([timestamp, performanceData.openConnections]);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[46,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return i}));class i{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,i){this.disableRangeUpdate=a,this.disableOldDataRemoval=i,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,i){}updateRange(t,e){const[a]=i.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>i.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?i.getMaxValueFromDataHolder(t):i.getMaxValueForDataSeries(t);const s=Math.round(a*(e||i.DEFAULT_MULTIPLIER))||1;return[s,Math.ceil(s/i.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,s]=i.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,s)}}},54:function(t,e,a){"use strict";a.r(e),a.d(e,"EpoolChart",(function(){return s}));var i=a(38);class s extends i.ChartData{constructor(t,e){super(t,e,!1,!1)}chartSetup(t){const e={type:"multiChart",yAxis1:{showMaxMin:!1,axisLabel:this.translateService.instant("resource.epool.reads"),axisLabelDistance:-10,rotateYLabel:!0,tickFormat:function(t){return t},tickValues:()=>s.getIntegerRangeForValues(this.dataHolder[0])},yAxis2:{showMaxMin:!1,axisLabel:this.translateService.instant("resource.epool.writes"),axisLabelDistance:-10,rotateYLabel:!0,tickFormat:function(t){return t},tickValues:()=>s.getIntegerRangeForValues(this.dataHolder[1])},y1Domain:[0,1],y2Domain:[0,1]};Object.assign(t.chart,e)}getTitle(){return this.translateService.instant("resource.epool.label")}createDataHolder(){return[{key:this.translateService.instant("resource.epool.reads"),type:"line",yAxis:1,values:[]},{key:this.translateService.instant("resource.epool.writes"),type:"line",yAxis:2,values:[]}]}addNewData(t,e,a,i){const s=a.performanceData,[r,n]=t;let o=0,l=0;const h=s.entityPool.epoolReads,c=s.entityPool.epoolWrites;if(!i){o=h-r.values[r.values.length-1][2],l=c-n.values[r.values.length-1][2]}r.values.push([e,o,h]),n.values.push([e,l,c])}updateRange(t){this.chartOptions.chart.yDomain1=this.getAxisDomain(t[0]),this.chartOptions.chart.yDomain2=this.getAxisDomain(t[1])}getAxisDomain(t){const[e]=s.calculateMaxChartValueAndDivisions(t);return[0,e]}}}}]);
|
|
2
|
-
//# sourceMappingURL=46.3a0da10162409588560c.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/performance/epool-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","EpoolChart","super","customChartOptions","yAxis1","axisLabel","axisLabelDistance","rotateYLabel","tickValues","getIntegerRangeForValues","yAxis2","y1Domain","y2Domain","Object","assign","key","performanceData","readsData","writesData","readsDiff","writesDiff","currentReads","entityPool","epoolReads","currentWrites","epoolWrites","push","yDomain1","getAxisDomain","yDomain2"],"mappings":"8FAAA,iDAAO,MAAMA,EACT,gBAAgBC,GACZ,MAAO,CACHC,MAAO,CACHC,YAAa,WACbC,KAAM,YACNC,OAAQ,IACRC,OAAQ,CACJC,KAAM,GACNC,MAAO,IAEXC,EAAG,SAAUC,GACT,OAAOA,EAAE,IAEbC,EAAG,SAAUD,GACT,OAAOA,EAAE,IAEbE,UAAU,EACVC,OAAQZ,EAAiBa,QAAQ,oBACjCC,cAAc,EACdC,SAAU,EACVC,iBAAiB,EACjBC,yBAAyB,EACzBC,MAAO,CACHC,YAAY,EACZC,WAAY,SAAUX,GAClB,OAAOY,GAAGC,KAAKC,OAAO,KAAfF,CAAqB,IAAIG,KAAKf,MAG7CgB,MAAO,CACHN,YAAY,EACZC,WAAY,SAAUX,GAClB,OAAOA,IAGfiB,OAAQ,CACJC,aAAc,KAElBC,MAAOP,GAAGQ,MAAMC,aAAaC,SAEjCC,MAAO,CACHC,QAAQ,EACRC,KAAMC,KAAKC,YAEfC,SAAU,CACNC,UAAW,wBACXL,QAAQ,EACRC,KAAMC,KAAKI,gBASvB,WACI,MAAO,qBAGX,SAASP,GACLG,KAAKK,aAAaR,MAAMC,QAAS,EACjCE,KAAKK,aAAaR,MAAME,KAAOF,EAGnC,eAGA,YAAYS,GACRN,KAAKK,aAAaH,SAASJ,QAAS,EACpCE,KAAKK,aAAaH,SAASK,KAAOD,EAMtC,gCACI,OAAO,IAMX,+BACI,OAAO,GAGX,YAAYzC,EAAkBwC,EAAcG,EAAoBC,GAC5DT,KAAKQ,mBAAqBA,EAC1BR,KAAKS,sBAAwBA,EAC7BT,KAAKnC,iBAAmBA,EACxBmC,KAAKJ,MAAQ,IACbI,KAAKK,aAAeL,KAAKU,gBAAgB7C,GACzCmC,KAAKW,WAAWX,KAAKK,cACrBL,KAAKY,WAAaZ,KAAKa,mBACvBb,KAAKc,WAAY,EAOrB,WAAWT,IAOX,mBACI,MAAM,IAAIU,MAAM,uCAQpB,QAAQC,EAAWC,GACVjB,KAAKS,uBACNT,KAAKkB,cAAclB,KAAKY,WAAYZ,KAAKJ,OAE7CI,KAAKmB,WAAWnB,KAAKY,WAAYI,EAAWC,EAASjB,KAAKoB,eACrDpB,KAAKQ,oBACNR,KAAKqB,YAAYrB,KAAKY,YAEtBZ,KAAKc,YACLd,KAAKc,WAAY,GASzB,cAAcF,EAAYhB,GAClBgB,EAAW,GAAGU,OAAOC,OAAS3B,GAC9BgB,EAAWY,QAASC,GAASA,EAAKH,OAAOI,SAYjD,WAAWd,EAAYI,EAAWS,EAAML,IAQxC,YAAYR,EAAYe,GACpB,MAAOC,GAAoBhE,EAAUiE,mCAAmCjB,EAAYe,GACpF3B,KAAKK,aAAavC,MAAMgE,QAAU,CAAC,EAAGF,GAG1C,cACI,OAAO5B,KAAKc,UAQhB,iCAAiCF,GAC7B,OAAOmB,KAAKC,OAAOpB,EAAWqB,OAAQR,IAAUA,EAAKS,UAAUC,QAASV,GAAS7D,EAAUwE,yBAAyBX,KAQxH,gCAAgCY,GAC5B,OAAON,KAAKC,OAAOK,EAAWf,OAAOgB,IAAKb,GAASA,EAAK,KAS5D,0CAA0Cb,EAAYe,GAClD,IAAIY,EAGAA,EADAC,MAAMC,QAAQ7B,GACChD,EAAU8E,0BAA0B9B,GAEpChD,EAAUwE,yBAAyBxB,GAGtD,MAAM+B,EAAgBZ,KAAKa,MAAML,GAAgBZ,GAAc/D,EAAUiF,sBAAwB,EAEjG,MAAO,CAACF,EADIZ,KAAKe,KAAKH,EAAgB/E,EAAUmF,oBAUpD,gCAAgCnC,EAAYe,GACxC,MAAOgB,EAAeK,GAAapF,EAAUiE,mCAAmCjB,EAAYe,GAC5F,OAAOzC,GAAGU,MAAM,EAAG+C,EAAgB,EAAGK,M,gCCrN9C,8DAEO,MAAMC,UAAmB,YAC5B,YAAYpF,EAAkBwC,GAC1B6C,MAAMrF,EAAkBwC,GAAc,GAAO,GAEjD,WAAWA,GACP,MAAM8C,EAAqB,CACvBnF,KAAM,aACNoF,OAAQ,CACJpE,YAAY,EACZqE,UAAWrD,KAAKnC,iBAAiBa,QAAQ,wBACzC4E,mBAAoB,GACpBC,cAAc,EACdtE,WAAY,SAASX,GACjB,OAAOA,GAEXkF,WAAY,IACDP,EAAWQ,yBAAyBzD,KAAKY,WAAW,KAGnE8C,OAAQ,CACJ1E,YAAY,EACZqE,UAAWrD,KAAKnC,iBAAiBa,QAAQ,yBACzC4E,mBAAoB,GACpBC,cAAc,EACdtE,WAAY,SAASX,GACjB,OAAOA,GAEXkF,WAAY,IACDP,EAAWQ,yBAAyBzD,KAAKY,WAAW,KAGnE+C,SAAU,CAAC,EAAG,GACdC,SAAU,CAAC,EAAG,IAElBC,OAAOC,OAAOzD,EAAavC,MAAOqF,GAGtC,WACI,OAAOnD,KAAKnC,iBAAiBa,QAAQ,wBAGzC,mBACI,MAAO,CAAC,CACJqF,IAAK/D,KAAKnC,iBAAiBa,QAAQ,wBACnCV,KAAM,OACNsB,MAAO,EACPgC,OAAQ,IACT,CACCyC,IAAK/D,KAAKnC,iBAAiBa,QAAQ,yBACnCV,KAAM,OACNsB,MAAO,EACPgC,OAAQ,KAGhB,WAAWV,EAAYI,EAAWS,EAAML,GACpC,MAAM4C,EAAkBvC,EAAKuC,iBACtBC,EAAWC,GAActD,EAChC,IAAIuD,EAAY,EACZC,EAAa,EACjB,MAAMC,EAAeL,EAAgBM,WAAWC,WAC1CC,EAAgBR,EAAgBM,WAAWG,YAEjD,IAAKrD,EAAa,CAGd+C,EAAYE,EAFWJ,EAAU3C,OAAO2C,EAAU3C,OAAOC,OAAS,GAAG,GAGrE6C,EAAaI,EAFWN,EAAW5C,OAAO2C,EAAU3C,OAAOC,OAAS,GAAG,GAK3E0C,EAAU3C,OAAOoD,KAAK,CAAC1D,EAAWmD,EAAWE,IAC7CH,EAAW5C,OAAOoD,KAAK,CAAC1D,EAAWoD,EAAYI,IAEnD,YAAY5D,GACRZ,KAAKK,aAAavC,MAAM6G,SAAW3E,KAAK4E,cAAchE,EAAW,IACjEZ,KAAKK,aAAavC,MAAM+G,SAAW7E,KAAK4E,cAAchE,EAAW,IAErE,cAAcA,GACV,MAAOgB,GAAoBqB,EAAWpB,mCAAmCjB,GACzE,MAAO,CAAC,EAAGgB","file":"46.3a0da10162409588560c.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class EpoolChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n chartSetup(chartOptions) {\n const customChartOptions = {\n type: 'multiChart',\n yAxis1: {\n showMaxMin: false,\n axisLabel: this.translateService.instant('resource.epool.reads'),\n axisLabelDistance: -10,\n rotateYLabel: true,\n tickFormat: function(d) {\n return d;\n },\n tickValues: () => {\n return EpoolChart.getIntegerRangeForValues(this.dataHolder[0]);\n }\n },\n yAxis2: {\n showMaxMin: false,\n axisLabel: this.translateService.instant('resource.epool.writes'),\n axisLabelDistance: -10,\n rotateYLabel: true,\n tickFormat: function(d) {\n return d;\n },\n tickValues: () => {\n return EpoolChart.getIntegerRangeForValues(this.dataHolder[1]);\n }\n },\n y1Domain: [0, 1],\n y2Domain: [0, 1]\n };\n Object.assign(chartOptions.chart, customChartOptions);\n }\n\n getTitle() {\n return this.translateService.instant('resource.epool.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.epool.reads'),\n type: 'line',\n yAxis: 1,\n values: []\n }, {\n key: this.translateService.instant('resource.epool.writes'),\n type: 'line',\n yAxis: 2,\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n const performanceData = data.performanceData;\n const [readsData, writesData] = dataHolder;\n let readsDiff = 0;\n let writesDiff = 0;\n const currentReads = performanceData.entityPool.epoolReads;\n const currentWrites = performanceData.entityPool.epoolWrites;\n\n if (!isFirstLoad) {\n const lastReadsEntry = readsData.values[readsData.values.length - 1][2];\n const lastWritesEntry = writesData.values[readsData.values.length - 1][2];\n readsDiff = currentReads - lastReadsEntry;\n writesDiff = currentWrites - lastWritesEntry;\n }\n\n readsData.values.push([timestamp, readsDiff, currentReads]);\n writesData.values.push([timestamp, writesDiff, currentWrites]);\n }\n updateRange(dataHolder) {\n this.chartOptions.chart.yDomain1 = this.getAxisDomain(dataHolder[0]);\n this.chartOptions.chart.yDomain2 = this.getAxisDomain(dataHolder[1]);\n }\n getAxisDomain(dataHolder) {\n const [domainUpperBound] = EpoolChart.calculateMaxChartValueAndDivisions(dataHolder);\n return [0, domainUpperBound];\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[47,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return r}));class r{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,r){this.disableRangeUpdate=a,this.disableOldDataRemoval=r,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,r){}updateRange(t,e){const[a]=r.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>r.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?r.getMaxValueFromDataHolder(t):r.getMaxValueForDataSeries(t);const i=Math.round(a*(e||r.DEFAULT_MULTIPLIER))||1;return[i,Math.ceil(i/r.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,i]=r.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,i)}}},50:function(t,e,a){"use strict";a.r(e),a.d(e,"QueriesChart",(function(){return i}));var r=a(38);class i extends r.ChartData{constructor(t,e){super(t,e,!1,!1)}getTitle(){return this.translateService.instant("resource.queries.label")}chartSetup(t){t.chart.yAxis.tickValues=()=>i.getIntegerRangeForValues(this.dataHolder)}createDataHolder(){return[{key:this.translateService.instant("resource.queries.running"),values:[]}]}addNewData(t,e,a){const{activeQueryData:r,performanceData:i}=a;t[0].values.push([e,r.length]);const s=i.queries.slow,n=i.queries.suboptimal;this.setSubTitle(this.translateService.instant("resource.queries.slow_and_suboptimal",{slowQueries:s,suboptimal:n}))}}}}]);
|
|
2
|
-
//# sourceMappingURL=47.049aedaa6cfccef06f69.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/performance/queries-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","QueriesChart","super","tickValues","getIntegerRangeForValues","key","activeQueryData","performanceData","push","slowQueries","queries","slow","suboptimal","setSubTitle"],"mappings":"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","file":"47.049aedaa6cfccef06f69.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class QueriesChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n\n getTitle() {\n return this.translateService.instant('resource.queries.label');\n }\n\n chartSetup(chartOptions) {\n chartOptions.chart.yAxis.tickValues = () => {\n return QueriesChart.getIntegerRangeForValues(this.dataHolder);\n };\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.queries.running'),\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n const {activeQueryData, performanceData} = data;\n dataHolder[0].values.push([timestamp, activeQueryData.length]);\n\n const slowQueries = performanceData.queries.slow;\n const suboptimal = performanceData.queries.suboptimal;\n this.setSubTitle(this.translateService.instant('resource.queries.slow_and_suboptimal', {slowQueries, suboptimal}));\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[48,111],{38:function(t,a,e){"use strict";e.r(a),e.d(a,"ChartData",(function(){return r}));class r{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,a,e,r){this.disableRangeUpdate=e,this.disableOldDataRemoval=r,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,a){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,a,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,a){t[0].values.length>a&&t.forEach(t=>t.values.shift())}addNewData(t,a,e,r){}updateRange(t,a){const[e]=r.calculateMaxChartValueAndDivisions(t,a);this.chartOptions.chart.yDomain=[0,e]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>r.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,a){let e;e=Array.isArray(t)?r.getMaxValueFromDataHolder(t):r.getMaxValueForDataSeries(t);const i=Math.round(e*(a||r.DEFAULT_MULTIPLIER))||1;return[i,Math.ceil(i/r.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,a){const[e,i]=r.calculateMaxChartValueAndDivisions(t,a);return d3.range(0,e+1,i)}}},48:function(t,a,e){"use strict";e.r(a),e.d(a,"CpuLoadChart",(function(){return i}));var r=e(38);class i extends r.ChartData{constructor(t,a){super(t,a,!1,!1)}chartSetup(t){t.chart.yAxis.tickFormat=function(t){return t+"%"}}getTitle(){return this.translateService.instant("resource.system.cpu_load.label")}createDataHolder(){return[{key:this.translateService.instant("resource.system.cpu_load.label"),values:[]}]}addNewData(t,a,e){t[0].values.push([a,this.formatValue(e.cpuLoad)])}formatValue(t){return parseFloat(t).toFixed(4)}updateRange(t){const a=Math.max(...t[0].values.flatMap(t=>t[1])),e=a>50?100:2*a;this.chartOptions.chart.yDomain=[0,e]}}}}]);
|
|
2
|
-
//# sourceMappingURL=48.d7b02a85dfa52084b1c4.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/resource/cpu-load-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","CpuLoadChart","super","key","push","formatValue","cpuLoad","parseFloat","toFixed"],"mappings":"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","file":"48.d7b02a85dfa52084b1c4.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class CpuLoadChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n chartSetup(chartOptions) {\n chartOptions.chart.yAxis.tickFormat = function (d) {\n return d + '%';\n };\n }\n\n getTitle() {\n return this.translateService.instant('resource.system.cpu_load.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.system.cpu_load.label'),\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n dataHolder[0].values.push([timestamp, this.formatValue(data.cpuLoad)]);\n }\n formatValue(cpuLoad) {\n return parseFloat(cpuLoad).toFixed(4);\n }\n updateRange(dataHolder) {\n const maxChartValue = Math.max(...dataHolder[0].values.flatMap((data) => data[1]));\n const domainUpperBound = maxChartValue > 50 ? 100 : maxChartValue * 2;\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[49,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return r}));class r{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,r){this.disableRangeUpdate=a,this.disableOldDataRemoval=r,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,r){}updateRange(t,e){const[a]=r.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>r.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?r.getMaxValueFromDataHolder(t):r.getMaxValueForDataSeries(t);const s=Math.round(a*(e||r.DEFAULT_MULTIPLIER))||1;return[s,Math.ceil(s/r.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,s]=r.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,s)}}},49:function(t,e,a){"use strict";a.r(e),a.d(e,"DiskStorageChart",(function(){return s}));var r=a(38);class s extends r.ChartData{constructor(t,e){super(t,e,!0,!0)}chartSetup(t){const e={type:"multiBarHorizontalChart",stacked:!0,showControls:!1,color:d3.scale.category10().range(),xAxis:{showMaxMin:!1,tickFormat:function(t){return t}},yAxis:{showMaxMin:!1,tickFormat:function(t){return(100*t).toFixed(2)+"%"}},yDomain:[0,1]};Object.assign(t.chart,e)}getTitle(){return this.translateService.instant("resource.storage.label")}createDataHolder(){return[{key:this.translateService.instant("resource.storage.used"),values:[]},{key:this.translateService.instant("resource.storage.free"),values:[]}]}addNewData(t,e,a,r){const s=a.storageMemory,[i,n]=t;r&&(i.values.push([this.translateService.instant("resource.storage.data"),0]),i.values.push([this.translateService.instant("resource.storage.work"),0]),i.values.push([this.translateService.instant("resource.storage.logs"),0]),n.values.push([this.translateService.instant("resource.storage.data"),1]),n.values.push([this.translateService.instant("resource.storage.work"),1]),n.values.push([this.translateService.instant("resource.storage.logs"),1])),i.values[0][1]=s.dataDirUsed/(s.dataDirUsed+s.dataDirFree),i.values[1][1]=s.workDirUsed/(s.workDirUsed+s.workDirFree),i.values[2][1]=s.logsDirUsed/(s.logsDirUsed+s.logsDirFree),n.values[0][1]=s.dataDirFree/(s.dataDirUsed+s.dataDirFree),n.values[1][1]=s.workDirFree/(s.workDirUsed+s.workDirFree),n.values[2][1]=s.logsDirFree/(s.logsDirUsed+s.logsDirFree)}}}}]);
|
|
2
|
-
//# sourceMappingURL=49.2e7858348448fdde1332.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/resource/disk-storage-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","DiskStorageChart","super","diskStorageChartOptions","stacked","toFixed","Object","assign","key","storageData","storageMemory","used","free","push","dataDirUsed","dataDirFree","workDirUsed","workDirFree","logsDirUsed","logsDirFree"],"mappings":"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","file":"49.2e7858348448fdde1332.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class DiskStorageChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, true, true);\n }\n chartSetup(chartOptions) {\n const diskStorageChartOptions = {\n type: 'multiBarHorizontalChart',\n stacked: true,\n showControls: false,\n color: d3.scale.category10().range(),\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return (d * 100).toFixed(2) + '%';\n }\n },\n yDomain: [0, 1]\n };\n Object.assign(chartOptions.chart, diskStorageChartOptions);\n }\n\n getTitle() {\n return this.translateService.instant('resource.storage.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.storage.used'),\n values: []\n }, {\n key: this.translateService.instant('resource.storage.free'),\n values: []\n }];\n }\n\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n const storageData = data.storageMemory;\n const [used, free] = dataHolder;\n\n if (isFirstLoad) {\n used.values.push([this.translateService.instant('resource.storage.data'), 0]);\n used.values.push([this.translateService.instant('resource.storage.work'), 0]);\n used.values.push([this.translateService.instant('resource.storage.logs'), 0]);\n free.values.push([this.translateService.instant('resource.storage.data'), 1]);\n free.values.push([this.translateService.instant('resource.storage.work'), 1]);\n free.values.push([this.translateService.instant('resource.storage.logs'), 1]);\n }\n\n used.values[0][1] = storageData.dataDirUsed / (storageData.dataDirUsed + storageData.dataDirFree);\n used.values[1][1] = storageData.workDirUsed / (storageData.workDirUsed + storageData.workDirFree);\n used.values[2][1] = storageData.logsDirUsed / (storageData.logsDirUsed + storageData.logsDirFree);\n free.values[0][1] = storageData.dataDirFree / (storageData.dataDirUsed + storageData.dataDirFree);\n free.values[1][1] = storageData.workDirFree / (storageData.workDirUsed + storageData.workDirFree);\n free.values[2][1] = storageData.logsDirFree / (storageData.logsDirUsed + storageData.logsDirFree);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[50,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return i}));class i{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,i){this.disableRangeUpdate=a,this.disableOldDataRemoval=i,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,i){}updateRange(t,e){const[a]=i.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>i.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?i.getMaxValueFromDataHolder(t):i.getMaxValueForDataSeries(t);const r=Math.round(a*(e||i.DEFAULT_MULTIPLIER))||1;return[r,Math.ceil(r/i.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,r]=i.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,r)}}},46:function(t,e,a){"use strict";a.r(e),a.d(e,"FileDescriptorsChart",(function(){return r}));var i=a(38);class r extends i.ChartData{constructor(t,e){super(t,e,!1,!1)}getTitle(){return this.translateService.instant("resource.system.file_descriptors.label")}createDataHolder(){return[{key:this.translateService.instant("resource.system.file_descriptors.open"),area:"true",values:[]}]}addNewData(t,e,a){a.openFileDescriptors?(t[0].values.push([e,a.openFileDescriptors]),this.chartOptions.title.enable||(this.chartOptions.title.enable=!0),this.setSubTitle(this.translateService.instant("resource.system.file_descriptors.max",{max:a.maxFileDescriptors}))):this.setSubTitle(this.translateService.instant("resource.system.file_descriptors.only_unix"))}updateRange(t){super.updateRange(t,2)}}}}]);
|
|
2
|
-
//# sourceMappingURL=50.1650ec02515a7dce98a5.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/resource/file-descriptors-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","FileDescriptorsChart","super","key","area","openFileDescriptors","push","setSubTitle","maxFileDescriptors"],"mappings":"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","file":"50.1650ec02515a7dce98a5.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class FileDescriptorsChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n\n getTitle() {\n return this.translateService.instant('resource.system.file_descriptors.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.system.file_descriptors.open'),\n area: 'true',\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n if (!data.openFileDescriptors) {\n this.setSubTitle(this.translateService.instant('resource.system.file_descriptors.only_unix'));\n return;\n }\n dataHolder[0].values.push([timestamp, data.openFileDescriptors]);\n if (!this.chartOptions.title.enable) {\n this.chartOptions.title.enable = true;\n }\n this.setSubTitle(this.translateService.instant('resource.system.file_descriptors.max', {max: data.maxFileDescriptors}));\n }\n updateRange(dataHolder) {\n super.updateRange(dataHolder, 2);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[51,111],{38:function(t,a,e){"use strict";e.r(a),e.d(a,"ChartData",(function(){return i}));class i{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,a,e,i){this.disableRangeUpdate=e,this.disableOldDataRemoval=i,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,a){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,a,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,a){t[0].values.length>a&&t.forEach(t=>t.values.shift())}addNewData(t,a,e,i){}updateRange(t,a){const[e]=i.calculateMaxChartValueAndDivisions(t,a);this.chartOptions.chart.yDomain=[0,e]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>i.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,a){let e;e=Array.isArray(t)?i.getMaxValueFromDataHolder(t):i.getMaxValueForDataSeries(t);const r=Math.round(e*(a||i.DEFAULT_MULTIPLIER))||1;return[r,Math.ceil(r/i.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,a){const[e,r]=i.calculateMaxChartValueAndDivisions(t,a);return d3.range(0,e+1,r)}}},51:function(t,a,e){"use strict";e.r(a),e.d(a,"GlobalCacheChart",(function(){return r}));var i=e(38);class r extends i.ChartData{constructor(t,a){super(t,a,!1,!1)}getTitle(){return this.translateService.instant("resources.global_cache.label")}createDataHolder(){return[{key:this.translateService.instant("resources.global_cache.hits"),values:[]},{key:this.translateService.instant("resources.global_cache.miss"),values:[]}]}addNewData(t,a,e){const[i,r]=t;i.values.push([a,e.cacheHit]),r.values.push([a,e.cacheMiss])}}}}]);
|
|
2
|
-
//# sourceMappingURL=51.c597233d286f68e37481.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/resource/global-cache-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","GlobalCacheChart","super","key","hit","miss","push","cacheHit","cacheMiss"],"mappings":"8FAAA,iDAAO,MAAMA,EACT,gBAAgBC,GACZ,MAAO,CACHC,MAAO,CACHC,YAAa,WACbC,KAAM,YACNC,OAAQ,IACRC,OAAQ,CACJC,KAAM,GACNC,MAAO,IAEXC,EAAG,SAAUC,GACT,OAAOA,EAAE,IAEbC,EAAG,SAAUD,GACT,OAAOA,EAAE,IAEbE,UAAU,EACVC,OAAQZ,EAAiBa,QAAQ,oBACjCC,cAAc,EACdC,SAAU,EACVC,iBAAiB,EACjBC,yBAAyB,EACzBC,MAAO,CACHC,YAAY,EACZC,WAAY,SAAUX,GAClB,OAAOY,GAAGC,KAAKC,OAAO,KAAfF,CAAqB,IAAIG,KAAKf,MAG7CgB,MAAO,CACHN,YAAY,EACZC,WAAY,SAAUX,GAClB,OAAOA,IAGfiB,OAAQ,CACJC,aAAc,KAElBC,MAAOP,GAAGQ,MAAMC,aAAaC,SAEjCC,MAAO,CACHC,QAAQ,EACRC,KAAMC,KAAKC,YAEfC,SAAU,CACNC,UAAW,wBACXL,QAAQ,EACRC,KAAMC,KAAKI,gBASvB,WACI,MAAO,qBAGX,SAASP,GACLG,KAAKK,aAAaR,MAAMC,QAAS,EACjCE,KAAKK,aAAaR,MAAME,KAAOF,EAGnC,eAGA,YAAYS,GACRN,KAAKK,aAAaH,SAASJ,QAAS,EACpCE,KAAKK,aAAaH,SAASK,KAAOD,EAMtC,gCACI,OAAO,IAMX,+BACI,OAAO,GAGX,YAAYzC,EAAkBwC,EAAcG,EAAoBC,GAC5DT,KAAKQ,mBAAqBA,EAC1BR,KAAKS,sBAAwBA,EAC7BT,KAAKnC,iBAAmBA,EACxBmC,KAAKJ,MAAQ,IACbI,KAAKK,aAAeL,KAAKU,gBAAgB7C,GACzCmC,KAAKW,WAAWX,KAAKK,cACrBL,KAAKY,WAAaZ,KAAKa,mBACvBb,KAAKc,WAAY,EAOrB,WAAWT,IAOX,mBACI,MAAM,IAAIU,MAAM,uCAQpB,QAAQC,EAAWC,GACVjB,KAAKS,uBACNT,KAAKkB,cAAclB,KAAKY,WAAYZ,KAAKJ,OAE7CI,KAAKmB,WAAWnB,KAAKY,WAAYI,EAAWC,EAASjB,KAAKoB,eACrDpB,KAAKQ,oBACNR,KAAKqB,YAAYrB,KAAKY,YAEtBZ,KAAKc,YACLd,KAAKc,WAAY,GASzB,cAAcF,EAAYhB,GAClBgB,EAAW,GAAGU,OAAOC,OAAS3B,GAC9BgB,EAAWY,QAASC,GAASA,EAAKH,OAAOI,SAYjD,WAAWd,EAAYI,EAAWS,EAAML,IAQxC,YAAYR,EAAYe,GACpB,MAAOC,GAAoBhE,EAAUiE,mCAAmCjB,EAAYe,GACpF3B,KAAKK,aAAavC,MAAMgE,QAAU,CAAC,EAAGF,GAG1C,cACI,OAAO5B,KAAKc,UAQhB,iCAAiCF,GAC7B,OAAOmB,KAAKC,OAAOpB,EAAWqB,OAAQR,IAAUA,EAAKS,UAAUC,QAASV,GAAS7D,EAAUwE,yBAAyBX,KAQxH,gCAAgCY,GAC5B,OAAON,KAAKC,OAAOK,EAAWf,OAAOgB,IAAKb,GAASA,EAAK,KAS5D,0CAA0Cb,EAAYe,GAClD,IAAIY,EAGAA,EADAC,MAAMC,QAAQ7B,GACChD,EAAU8E,0BAA0B9B,GAEpChD,EAAUwE,yBAAyBxB,GAGtD,MAAM+B,EAAgBZ,KAAKa,MAAML,GAAgBZ,GAAc/D,EAAUiF,sBAAwB,EAEjG,MAAO,CAACF,EADIZ,KAAKe,KAAKH,EAAgB/E,EAAUmF,oBAUpD,gCAAgCnC,EAAYe,GACxC,MAAOgB,EAAeK,GAAapF,EAAUiE,mCAAmCjB,EAAYe,GAC5F,OAAOzC,GAAGU,MAAM,EAAG+C,EAAgB,EAAGK,M,gCCrN9C,oEAEO,MAAMC,UAAyB,YAClC,YAAYpF,EAAkBwC,GAC1B6C,MAAMrF,EAAkBwC,GAAc,GAAO,GAGjD,WACI,OAAOL,KAAKnC,iBAAiBa,QAAQ,gCAGzC,mBACI,MAAO,CAAC,CACJyE,IAAKnD,KAAKnC,iBAAiBa,QAAQ,+BACnC4C,OAAQ,IACT,CACC6B,IAAKnD,KAAKnC,iBAAiBa,QAAQ,+BACnC4C,OAAQ,KAGhB,WAAWV,EAAYI,EAAWS,GAC9B,MAAO2B,EAAKC,GAAQzC,EACpBwC,EAAI9B,OAAOgC,KAAK,CAACtC,EAAWS,EAAK8B,WACjCF,EAAK/B,OAAOgC,KAAK,CAACtC,EAAWS,EAAK+B","file":"51.c597233d286f68e37481.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from '../chart-data';\n\nexport class GlobalCacheChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n\n getTitle() {\n return this.translateService.instant('resources.global_cache.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resources.global_cache.hits'),\n values: []\n }, {\n key: this.translateService.instant('resources.global_cache.miss'),\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n const [hit, miss] = dataHolder;\n hit.values.push([timestamp, data.cacheHit]);\n miss.values.push([timestamp, data.cacheMiss]);\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[52,111],{38:function(t,e,a){"use strict";a.r(e),a.d(e,"ChartData",(function(){return r}));class r{getChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:d3.scale.category10().range()},title:{enable:!0,text:this.getTitle()},subtitle:{className:"chart-additional-info",enable:!0,text:this.getSubTitle()}}}getTitle(){return"No chart title set"}setTitle(t){this.chartOptions.title.enable=!0,this.chartOptions.title.text=t}getSubTitle(){}setSubTitle(t){this.chartOptions.subtitle.enable=!0,this.chartOptions.subtitle.html=t}static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}constructor(t,e,a,r){this.disableRangeUpdate=a,this.disableOldDataRemoval=r,this.translateService=t,this.range=150,this.chartOptions=this.getChartOptions(t),this.chartSetup(this.chartOptions),this.dataHolder=this.createDataHolder(),this.firstLoad=!0}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.disableOldDataRemoval||this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.disableRangeUpdate||this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,a,r){}updateRange(t,e){const[a]=r.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,a]}isFirstLoad(){return this.firstLoad}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>r.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let a;a=Array.isArray(t)?r.getMaxValueFromDataHolder(t):r.getMaxValueForDataSeries(t);const s=Math.round(a*(e||r.DEFAULT_MULTIPLIER))||1;return[s,Math.ceil(s/r.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[a,s]=r.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,a+1,s)}}},40:function(t,e,a){"use strict";a.r(e),a.d(e,"HeapMemoryChart",(function(){return s}));var r=a(38);class s extends r.ChartData{constructor(t,e){super(t,e,!1,!1)}getTitle(){return this.translateService.instant("resource.memory.heap.label")}createDataHolder(){return[{key:this.translateService.instant("resource.memory.committed"),values:[]},{key:this.translateService.instant("resource.memory.used"),area:"true",values:[]}]}addNewData(t,e,a){const[r,s]=t,i=this.parseData(a);r.values.push([e,i.committed]),s.values.push([e,i.used]),this.setMaxHeapSize(i.max,t)}parseData(t){return t.heapMemoryUsage}setMaxHeapSize(t,e){if(t>0){const e=this.formatBytesValue(t);this.setSubTitle(this.translateService.instant("resource.memory.heap.max",{max:e}))}}updateRange(t){this.setScale(t),super.updateRange(t)}setScale(t){this.chartOptions.chart.yAxis.tickFormat=e=>this.formatBytesValue(e,t)}formatBytesValue(t,e){let a=t;e&&(a=Math.max(...e.filter(t=>!t.disabled).flatMap(t=>t.values).flatMap(t=>t[1])));const r=Math.floor(Math.log(a)/Math.log(1024));return`${(parseFloat(t)/Math.pow(1024,r)).toFixed(2)} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][r]}`}}}}]);
|
|
2
|
-
//# sourceMappingURL=52.0ea1cd862aeb2461a9c4.bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/js/angular/resources/chart-models/chart-data.js","webpack:///./src/js/angular/resources/chart-models/resource/heap-memory-chart.js"],"names":["ChartData","translateService","chart","interpolate","type","height","margin","left","right","x","d","y","clipEdge","noData","instant","showControls","duration","rightAlignYAxis","useInteractiveGuideline","xAxis","showMaxMin","tickFormat","d3","time","format","Date","yAxis","legend","maxKeyLength","color","scale","category10","range","title","enable","text","this","getTitle","subtitle","className","getSubTitle","chartOptions","subTitle","html","disableRangeUpdate","disableOldDataRemoval","getChartOptions","chartSetup","dataHolder","createDataHolder","firstLoad","Error","timestamp","newData","removeOldData","addNewData","isFirstLoad","updateRange","values","length","forEach","data","shift","multiplier","domainUpperBound","calculateMaxChartValueAndDivisions","yDomain","Math","max","filter","disabled","flatMap","getMaxValueForDataSeries","dataSeries","map","maxDataValue","Array","isArray","getMaxValueFromDataHolder","maxChartValue","round","DEFAULT_MULTIPLIER","ceil","MAXIMUM_DIVISIONS","divisions","HeapMemoryChart","super","key","area","committed","used","memoryData","parseData","push","setMaxHeapSize","heapMemoryUsage","maxMemory","formatBytesValue","setSubTitle","setScale","value","i","floor","log","parseFloat","pow","toFixed"],"mappings":"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","file":"52.0ea1cd862aeb2461a9c4.bundle.js","sourcesContent":["export class ChartData {\n getChartOptions(translateService) {\n return {\n chart: {\n interpolate: 'monotone',\n type: 'lineChart',\n height: 500,\n margin: {\n left: 80,\n right: 80\n },\n x: function (d) {\n return d[0];\n },\n y: function (d) {\n return d[1];\n },\n clipEdge: true,\n noData: translateService.instant('resource.no_data'),\n showControls: false,\n duration: 0,\n rightAlignYAxis: false,\n useInteractiveGuideline: true,\n xAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d3.time.format('%X')(new Date(d));\n }\n },\n yAxis: {\n showMaxMin: false,\n tickFormat: function (d) {\n return d;\n }\n },\n legend: {\n maxKeyLength: 100\n },\n color: d3.scale.category10().range()\n },\n title: {\n enable: true,\n text: this.getTitle()\n },\n subtitle: {\n className: 'chart-additional-info',\n enable: true,\n text: this.getSubTitle()\n }\n };\n }\n\n /**\n * Must implement\n * @return {string} the title name\n */\n getTitle() {\n return 'No chart title set';\n }\n\n setTitle(title) {\n this.chartOptions.title.enable = true;\n this.chartOptions.title.text = title;\n }\n\n getSubTitle() {\n }\n\n setSubTitle(subTitle) {\n this.chartOptions.subtitle.enable = true;\n this.chartOptions.subtitle.html = subTitle;\n }\n\n /**\n * Defines the default multiplier for chart overhead. The space above the maximum value.\n */\n static get DEFAULT_MULTIPLIER() {\n return 1.2;\n }\n\n /**\n * Defines the default divisions for chart. Used to calculate chart ticks.\n */\n static get MAXIMUM_DIVISIONS() {\n return 10;\n }\n\n constructor(translateService, chartOptions, disableRangeUpdate, disableOldDataRemoval) {\n this.disableRangeUpdate = disableRangeUpdate;\n this.disableOldDataRemoval = disableOldDataRemoval;\n this.translateService = translateService;\n this.range = 150;\n this.chartOptions = this.getChartOptions(translateService);\n this.chartSetup(this.chartOptions);\n this.dataHolder = this.createDataHolder();\n this.firstLoad = true;\n }\n\n /**\n * Provides chart options if custom setup needs to be done\n * @param chartOptions\n */\n chartSetup(chartOptions) {\n }\n\n /**\n * Returns the data holder array for the chart data.\n * Must be implemented.\n */\n createDataHolder() {\n throw new Error('Must implement data holder creation');\n }\n\n /**\n * Adds data to the data holder\n * @param timestamp time of the data\n * @param newData the new data\n */\n addData(timestamp, newData) {\n if (!this.disableOldDataRemoval) {\n this.removeOldData(this.dataHolder, this.range);\n }\n this.addNewData(this.dataHolder, timestamp, newData, this.isFirstLoad());\n if (!this.disableRangeUpdate) {\n this.updateRange(this.dataHolder);\n }\n if (this.firstLoad) {\n this.firstLoad = false;\n }\n }\n\n /**\n * Removes data from the data holder that is obsolete based on range property\n * @param dataHolder data holder\n * @param range the number of entries to keep\n */\n removeOldData(dataHolder, range) {\n if (dataHolder[0].values.length > range) {\n dataHolder.forEach((data) => data.values.shift());\n }\n }\n\n /**\n * Adds data to data holder\n * Must be implemented.\n * @param dataHolder\n * @param timestamp\n * @param data\n * @param isFirstLoad\n */\n addNewData(dataHolder, timestamp, data, isFirstLoad) {\n }\n\n /**\n * Updates the chart axis range, based on maximum value in data holder\n * @param dataHolder\n * @param multiplier\n */\n updateRange(dataHolder, multiplier) {\n const [domainUpperBound] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n this.chartOptions.chart.yDomain = [0, domainUpperBound];\n }\n\n isFirstLoad() {\n return this.firstLoad;\n }\n\n /**\n * Returns the maximum value in data holder\n * @param dataHolder\n * @return {number}\n */\n static getMaxValueFromDataHolder(dataHolder) {\n return Math.max(...dataHolder.filter((data) => !data.disabled).flatMap((data) => ChartData.getMaxValueForDataSeries(data)));\n }\n\n /**\n * Returns the maximum value in specific data series\n * @param dataSeries\n * @return {number}\n */\n static getMaxValueForDataSeries(dataSeries) {\n return Math.max(...dataSeries.values.map((data) => data[1]));\n }\n\n /**\n * Calculated maximum value for chart axis and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {(number|number)[]}\n */\n static calculateMaxChartValueAndDivisions(dataHolder, multiplier) {\n let maxDataValue;\n\n if (Array.isArray(dataHolder)) {\n maxDataValue = ChartData.getMaxValueFromDataHolder(dataHolder);\n } else {\n maxDataValue = ChartData.getMaxValueForDataSeries(dataHolder);\n }\n\n const maxChartValue = Math.round(maxDataValue * (multiplier || ChartData.DEFAULT_MULTIPLIER)) || 1;\n const div = Math.ceil(maxChartValue / ChartData.MAXIMUM_DIVISIONS);\n return [maxChartValue, div];\n }\n\n /**\n * Returnes a D3 range for chart axis based on maximum value and divisions width\n * @param dataHolder\n * @param multiplier\n * @return {*}\n */\n static getIntegerRangeForValues(dataHolder, multiplier) {\n const [maxChartValue, divisions] = ChartData.calculateMaxChartValueAndDivisions(dataHolder, multiplier);\n return d3.range(0, maxChartValue + 1, divisions);\n }\n}\n","import {ChartData} from \"../chart-data\";\n\nexport class HeapMemoryChart extends ChartData {\n constructor(translateService, chartOptions) {\n super(translateService, chartOptions, false, false);\n }\n\n getTitle() {\n return this.translateService.instant('resource.memory.heap.label');\n }\n\n createDataHolder() {\n return [{\n key: this.translateService.instant('resource.memory.committed'),\n values: []\n }, {\n key: this.translateService.instant('resource.memory.used'),\n area: 'true',\n values: []\n }];\n }\n addNewData(dataHolder, timestamp, data) {\n const [committed, used] = dataHolder;\n const memoryData = this.parseData(data);\n committed.values.push([timestamp, memoryData.committed]);\n used.values.push([timestamp, memoryData.used]);\n this.setMaxHeapSize(memoryData.max, dataHolder);\n }\n\n parseData(data) {\n return data.heapMemoryUsage;\n }\n\n setMaxHeapSize(max, dataHolder) {\n if (max > 0) {\n const maxMemory = this.formatBytesValue(max);\n this.setSubTitle(this.translateService.instant('resource.memory.heap.max', {max: maxMemory}));\n }\n }\n\n updateRange(dataHolder) {\n this.setScale(dataHolder);\n super.updateRange(dataHolder);\n }\n setScale(dataHolder) {\n this.chartOptions.chart.yAxis.tickFormat = (d) => {\n return this.formatBytesValue(d, dataHolder);\n };\n }\n formatBytesValue(value, dataHolder) {\n let maxChartValue = value;\n if (dataHolder) {\n maxChartValue = Math.max(...dataHolder.filter((data)=> !data.disabled).flatMap((data) => data.values).flatMap((data) => data[1]));\n }\n\n const k = 1024;\n const i = Math.floor(Math.log(maxChartValue) / Math.log(k));\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const relativeValue = parseFloat(value) / Math.pow(k, i);\n return `${relativeValue.toFixed(2)} ${sizes[i]}`;\n }\n}\n"],"sourceRoot":""}
|