from elasticsearch import Elasticsearch
import re
import sys
sys.setrecursionlimit(100000)#设置递归深度为十万
from elasticsearch import helpers
import matplotlib.pyplot as plt
import datetime,time
class extract_memory_leaks(object):
def __init__(self,ip,user_name,password,process_name,interval_time):
"""
:param ip:
:param user_name:
:param password:
:param process_name:
:param interval_time:
"""
self.ip = ip
self.user_name = user_name
self.password = password
self.process_name = process_name
self.interval_time = interval_time
def draw_picture(self,process_slope_data_dict,index1,index2):
s = 0.0
for index3 in range(0,
len(process_slope_data_dict[self.process_name + "_slope_y_list_caculate"][
index1:index2]) - 2):
a = process_slope_data_dict[self.process_name + "_slope_x_list_caculate"][index1:index2][
index3 + 1] * \
process_slope_data_dict[self.process_name + "_slope_y_list_caculate"][index1:index2][
index3] - process_slope_data_dict[self.process_name + "_slope_x_list_caculate"][index1:index2][
index3] * \
process_slope_data_dict[self.process_name + "_slope_y_list_caculate"][index1:index2][
index3 + 1]
# a =process_slope_data_dict[process_name + "_slope_x_list_caculate"][index1:end_index][index3 + 1 ] * process_slope_data_dict[process_name + "_slope_y_list_caculate"][index1:end_index][index3] - process_slope_data_dict[process_name + "_slope_x_list_caculate"][index1:end_index][index3] * process_slope_data_dict[process_name + "_slope_y_list_caculate"][index1:end_index][index3 + 1]
s += a
b = process_slope_data_dict[self.process_name + "_slope_x_list_caculate"][index1:index2][-1] * \
process_slope_data_dict[self.process_name + "_slope_y_list_caculate"][index1:index2][-1] - \
process_slope_data_dict[self.process_name + "_slope_x_list_caculate"][index1:index2][0] * \
process_slope_data_dict[self.process_name + "_slope_y_list_caculate"][index1:index2][0]
if (s + b) / 2 > 0:
plt.plot(process_slope_data_dict[self.process_name + "_slope_x_list"][index1:index2],
python调用ELK接口,判定内存泄漏
最新推荐文章于 2022-04-16 23:04:25 发布