first commit
This commit is contained in:
		
						commit
						4aca699e13
					
				| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
*.png
 | 
			
		||||
*.jpg
 | 
			
		||||
*.bmp
 | 
			
		||||
*.jpeg
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
import cv2
 | 
			
		||||
import numpy as np
 | 
			
		||||
import urllib.request
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
recent=[]
 | 
			
		||||
history=[]
 | 
			
		||||
width=720
 | 
			
		||||
height=100
 | 
			
		||||
red=(0x00,0x00,0xff)
 | 
			
		||||
orange=(0x00,0x66,0xff)
 | 
			
		||||
yellow=(0x00,0xcc,0xff)
 | 
			
		||||
light_green=(0x33,0xff,0xcc)
 | 
			
		||||
green=(0x00,0xcc,0x00)
 | 
			
		||||
def update_history():
 | 
			
		||||
    average=0
 | 
			
		||||
    for i in recent:
 | 
			
		||||
        average+=i
 | 
			
		||||
    average/=len(recent)
 | 
			
		||||
    if len(history)>=144:
 | 
			
		||||
        del(history[0])
 | 
			
		||||
    history.append(average)
 | 
			
		||||
def fill(img,pos,color):
 | 
			
		||||
    for i in range(5):
 | 
			
		||||
        for j in range(100):
 | 
			
		||||
            img[j,i+5*pos,:]=[color[0]%256,color[1]%256,color[2]%256]
 | 
			
		||||
def update_graph():
 | 
			
		||||
    img=np.ones([height,width,3],dtype=np.uint8)
 | 
			
		||||
    for i,delay in enumerate(history):
 | 
			
		||||
        if delay>=5000:
 | 
			
		||||
            fill(img,i,red)
 | 
			
		||||
        elif delay>=2000:
 | 
			
		||||
            fill(img,i,orange)
 | 
			
		||||
        elif delay>=1000:
 | 
			
		||||
            fill(img,i,yellow)
 | 
			
		||||
        elif delay>=500:
 | 
			
		||||
            fill(img,i,light_green)
 | 
			
		||||
        else:
 | 
			
		||||
            fill(img,i,green)
 | 
			
		||||
    cv2.imwrite("image.bmp", img)        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
def testConnect(url):
 | 
			
		||||
    try:
 | 
			
		||||
        time1=datetime.now().timestamp()
 | 
			
		||||
        code=urllib.request.urlopen(url,timeout=5).getcode()
 | 
			
		||||
        time2=datetime.now().timestamp()
 | 
			
		||||
        delay=int((time2-time1)*1000)
 | 
			
		||||
    except:
 | 
			
		||||
        code=404
 | 
			
		||||
    if code/100>=4:
 | 
			
		||||
        delay=10000
 | 
			
		||||
    return (code,delay)
 | 
			
		||||
 | 
			
		||||
if __name__=="__main__":
 | 
			
		||||
    lastminute=-1
 | 
			
		||||
    while True:
 | 
			
		||||
        if datetime.now().second==0 and datetime.now().minute!=lastminute:
 | 
			
		||||
        # if True:
 | 
			
		||||
            (code,delay)=testConnect("https://blog.clf3.org")
 | 
			
		||||
            print(code,end=" ")
 | 
			
		||||
            if code/100<=3:
 | 
			
		||||
                print("connected",delay,"ms")
 | 
			
		||||
            else:
 | 
			
		||||
                print("error")
 | 
			
		||||
            if len(recent)<10:
 | 
			
		||||
                recent.append(delay)
 | 
			
		||||
            else:
 | 
			
		||||
                update_history()
 | 
			
		||||
                update_graph()
 | 
			
		||||
                recent=[]
 | 
			
		||||
                recent.append(delay)
 | 
			
		||||
            lastminute=datetime.now().minute
 | 
			
		||||
		Loading…
	
		Reference in New Issue