|  |  | @ -24,7 +24,7 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |     data() { | 
			
		
	
		
			
				
					|  |  |  |         return { | 
			
		
	
		
			
				
					|  |  |  |             chartPeriodHrs: 24, | 
			
		
	
		
			
				
					|  |  |  |             chartPeriodHrs: 6, | 
			
		
	
		
			
				
					|  |  |  |         }; | 
			
		
	
		
			
				
					|  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |     computed: { | 
			
		
	
	
		
			
				
					|  |  | @ -39,11 +39,27 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |                         bottom: 10, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                 }, | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 elements: { | 
			
		
	
		
			
				
					|  |  |  |                     point: { | 
			
		
	
		
			
				
					|  |  |  |                         radius: 0, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                     bar: { | 
			
		
	
		
			
				
					|  |  |  |                         barThickness: "flex", | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 }, | 
			
		
	
		
			
				
					|  |  |  |                 scales: { | 
			
		
	
		
			
				
					|  |  |  |                     x: { | 
			
		
	
		
			
				
					|  |  |  |                         type: "time", | 
			
		
	
		
			
				
					|  |  |  |                         time: { | 
			
		
	
		
			
				
					|  |  |  |                             stepSize: 30, | 
			
		
	
		
			
				
					|  |  |  |                             unit: "minute", | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                         ticks: { | 
			
		
	
		
			
				
					|  |  |  |                             maxRotation: 0, | 
			
		
	
		
			
				
					|  |  |  |                             autoSkipPadding: 10, | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                         grid: { | 
			
		
	
		
			
				
					|  |  |  |                             color: this.$root.theme === "light" ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)", | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                     y: { | 
			
		
	
	
		
			
				
					|  |  | @ -51,10 +67,29 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |                             display: true, | 
			
		
	
		
			
				
					|  |  |  |                             text: "Response Time (ms)", | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                         offset: false, | 
			
		
	
		
			
				
					|  |  |  |                         grid: { | 
			
		
	
		
			
				
					|  |  |  |                             color: this.$root.theme === "light" ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)", | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                     y1: { | 
			
		
	
		
			
				
					|  |  |  |                         display: false, | 
			
		
	
		
			
				
					|  |  |  |                         position: "right", | 
			
		
	
		
			
				
					|  |  |  |                         grid: { | 
			
		
	
		
			
				
					|  |  |  |                             drawOnChartArea: false, | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                         min: 0, | 
			
		
	
		
			
				
					|  |  |  |                         max: 1, | 
			
		
	
		
			
				
					|  |  |  |                         offset: false, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                 }, | 
			
		
	
		
			
				
					|  |  |  |                 bounds: "ticks", | 
			
		
	
		
			
				
					|  |  |  |                 plugins: { | 
			
		
	
		
			
				
					|  |  |  |                     tooltip: { | 
			
		
	
		
			
				
					|  |  |  |                         filter: function (tooltipItem) { | 
			
		
	
		
			
				
					|  |  |  |                             return tooltipItem.datasetIndex === 0; | 
			
		
	
		
			
				
					|  |  |  |                         }, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                     legend: { | 
			
		
	
		
			
				
					|  |  |  |                         display: false, | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
	
		
			
				
					|  |  | @ -62,9 +97,10 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |         }, | 
			
		
	
		
			
				
					|  |  |  |         chartData() { | 
			
		
	
		
			
				
					|  |  |  |             let data = []; | 
			
		
	
		
			
				
					|  |  |  |             let ping_data = []; | 
			
		
	
		
			
				
					|  |  |  |             let down_data = []; | 
			
		
	
		
			
				
					|  |  |  |             if (this.monitorId in this.$root.heartbeatList) { | 
			
		
	
		
			
				
					|  |  |  |                 data = this.$root.heartbeatList[this.monitorId] | 
			
		
	
		
			
				
					|  |  |  |                 ping_data = this.$root.heartbeatList[this.monitorId] | 
			
		
	
		
			
				
					|  |  |  |                     .filter( | 
			
		
	
		
			
				
					|  |  |  |                         (beat) => dayjs.utc(beat.time).tz(this.$root.timezone).isAfter(dayjs().subtract(this.chartPeriodHrs, "hours"))) | 
			
		
	
		
			
				
					|  |  |  |                     .map((beat) => { | 
			
		
	
	
		
			
				
					|  |  | @ -73,15 +109,32 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |                             y: beat.ping, | 
			
		
	
		
			
				
					|  |  |  |                         }; | 
			
		
	
		
			
				
					|  |  |  |                     }); | 
			
		
	
		
			
				
					|  |  |  |                 down_data = this.$root.heartbeatList[this.monitorId] | 
			
		
	
		
			
				
					|  |  |  |                     .filter( | 
			
		
	
		
			
				
					|  |  |  |                         (beat) => dayjs.utc(beat.time).tz(this.$root.timezone).isAfter(dayjs().subtract(this.chartPeriodHrs, "hours"))) | 
			
		
	
		
			
				
					|  |  |  |                     .map((beat) => { | 
			
		
	
		
			
				
					|  |  |  |                         return { | 
			
		
	
		
			
				
					|  |  |  |                             x: dayjs.utc(beat.time).tz(this.$root.timezone).format("YYYY-MM-DD HH:mm:ss"), | 
			
		
	
		
			
				
					|  |  |  |                             y: beat.status === 0 ? 1 : 0, | 
			
		
	
		
			
				
					|  |  |  |                         }; | 
			
		
	
		
			
				
					|  |  |  |                     }); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             return { | 
			
		
	
		
			
				
					|  |  |  |                 datasets: [ | 
			
		
	
		
			
				
					|  |  |  |                     { | 
			
		
	
		
			
				
					|  |  |  |                         data: data, | 
			
		
	
		
			
				
					|  |  |  |                         data: ping_data, | 
			
		
	
		
			
				
					|  |  |  |                         fill: "origin", | 
			
		
	
		
			
				
					|  |  |  |                         tension: 0.2, | 
			
		
	
		
			
				
					|  |  |  |                         borderColor: "#5CDD8B", | 
			
		
	
		
			
				
					|  |  |  |                         backgroundColor: "#5CDD8B38", | 
			
		
	
		
			
				
					|  |  |  |                         yAxisID: "y", | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                     { | 
			
		
	
		
			
				
					|  |  |  |                         type: "bar", | 
			
		
	
		
			
				
					|  |  |  |                         data: down_data, | 
			
		
	
		
			
				
					|  |  |  |                         borderColor: "#00000000", | 
			
		
	
		
			
				
					|  |  |  |                         backgroundColor: "#DC354568", | 
			
		
	
		
			
				
					|  |  |  |                         yAxisID: "y1", | 
			
		
	
		
			
				
					|  |  |  |                     }, | 
			
		
	
		
			
				
					|  |  |  |                 ], | 
			
		
	
		
			
				
					|  |  |  |             }; | 
			
		
	
	
		
			
				
					|  |  | 
 |