OPMAAS-4180

master
ermisw 2023-06-20 15:46:26 +02:00
parent e5c27650ce
commit 585ea28bd1
1 changed files with 17 additions and 10 deletions

View File

@ -12,7 +12,8 @@ import dynatraceAPI
# import types
from KRParser import krparser
#from key_request_parser import krparser
import time
#from datetime import datetime
warnings.filterwarnings("ignore")
@ -48,16 +49,17 @@ def write_to_excel(ignored, noData1M, noData1W, all_TP_slos):
all_TP_slos.to_excel(writer, sheet_name='TP_')
writer.save()
writer._save()
writer.close()
def getStats(krs):
ts = time.time()
epoch = datetime.datetime.now().timestamp()
tmpIgnoredList=[]
for kr in [a for a in krs if len(a.keyRequests) == 0]:
tmpIgnoredList.append([kr.metadata["sloName"], kr.metadata["sloId"], kr.metadata["env"],"","","","",kr.metadata["filter"], kr.metadata["metricExpression"]])
tmpIgnoredList.append([kr.metadata["sloName"], kr.metadata["sloId"], kr.metadata["env"],"","","","","",kr.metadata["filter"], kr.metadata["metricExpression"], "", epoch])
@ -65,24 +67,28 @@ def getStats(krs):
for kr in [s for s in krs if s.hasNoData("1M")==True]:
for k in kr.getKeyRequestByHasData("1M"):
noData1M.append([kr.metadata["sloName"], kr.metadata["sloId"], kr.metadata["env"], k["displayName"], k["entityId"],k["services"][0]["displayName"] if len(k["services"]) > 0 else "",
[x for x in k["services"][0]["tags"] if x['key']=="compass-id"][0]["value"] if len(k["services"]) > 0 and len(k["services"][0]["tags"]) > 0 and len([x for x in k["services"][0]["tags"] if x['key']=="compass-id"]) > 0 else "",
[x for x in k["services"][0]["tags"] if x['key']=="compass-id"][0]["value"] if len(k["services"]) > 0 and len(k["services"][0]["tags"]) > 0 and len([x for x in k["services"][0]["tags"] if x['key']=="compass-id"]) > 0 else "",
k["_mInSloDef"],
kr.metadata["filter"],
kr.metadata["metricExpression"]])
kr.metadata["metricExpression"],
kr.matchedGroups._list[0]['pattern'], epoch])
noData1W=[]
for kr in [s for s in krs if s.hasNoData("1W")==True]:
for k in kr.getKeyRequestByHasData("1W"):
noData1W.append([kr.metadata["sloName"], kr.metadata["sloId"], kr.metadata["env"], k["displayName"], k["entityId"], k["services"][0]["displayName"] if len(k["services"]) > 0 else "",
[x for x in k["services"][0]["tags"] if x['key']=="compass-id"][0]["value"] if len(k["services"]) > 0 and len(k["services"][0]["tags"]) > 0 and len([x for x in k["services"][0]["tags"] if x['key']=="compass-id"]) > 0 else "",
k["_mInSloDef"],
kr.metadata["filter"],
kr.metadata["metricExpression"]])
kr.metadata["metricExpression"],
kr.matchedGroups._list[0]['pattern'], epoch])
# noData1W=[]
# for kr in [s for s in krs if s.hasNoData1WKeyRequests()==True]:
# for k in kr.getNoData1WKeyRequests():
# noData1W.append([kr.metadata["sloName"], kr.metadata["env"], k["displayName"], k["entityId"], kr.metadata["filter"], kr.metadata["metricExpression"]])
columns =['slo', 'sloID', 'env', 'displayName','entityId','service','compass-id','filter', 'metricExpression']
columns =['slo', 'sloID', 'env', 'displayName','entityId','service','compass-id','InSloDef','filter', 'metricExpression','pattern', 'timestamp']
ignored=pd.DataFrame(tmpIgnoredList, columns=columns)
noData_1M=pd.DataFrame(noData1M, columns = columns)
noData_1W=pd.DataFrame(noData1W, columns = columns)
@ -94,9 +100,10 @@ def getStats(krs):
k["count"]["1W"], k["count"]["1M"],
k["services"][0]["displayName"] if len(k["services"]) > 0 else "",
[x for x in k["services"][0]["tags"] if x['key']=="compass-id"][0]["value"] if len(k["services"]) > 0 and len(k["services"][0]["tags"]) > 0 and len([x for x in k["services"][0]["tags"] if x['key']=="compass-id"]) > 0 else "",
kr.metadata["filter"], kr.metadata["metricExpression"]])
k["_mInSloDef"],
kr.metadata["filter"], kr.metadata["metricExpression"], kr.matchedGroups._list[0]['pattern'], epoch])
columns_ext =['slo', 'sloID', 'env', 'displayName','entityId','Count_1W', 'Count_1M','service','compass-id','filter', 'metricExpression']
columns_ext =['slo', 'sloID', 'env', 'displayName','entityId','Count_1W', 'Count_1M','service','compass-id','InSloDef', 'filter', 'metricExpression', 'pattern', 'timestamp']
all_TP_slos=pd.DataFrame(allTPSlos, columns = columns_ext)
return ignored, noData_1M, noData_1W, all_TP_slos