利用Django在前端展示TOP SQL信息

开发环境

操作系统:CentOS 7.4

Python版本 :3.6

Django版本: 1.10.5

操作系统用户:oms

数据处理:pandas

通过上面我们已介绍了如何定时获取TOP SQL语句以及如何利用pandas处理数据

这节讲如何让其在前端显示

建立页面的步骤

我们还是通过这张图的步骤来说明如何建立页面

urls.py页面

check_topsql为展示Oracle TOP SQL的页面

views.py

上面的url设定调用views.py里面的check_topsql函数,该函数讲解如下:

首先判断请求的方法是不是post(提交表单前),如果不是则打开check_topsql.html页面,charts_topsql为定义的表单,可在forms.py中定义

如果请求方法为post(提交表单后),首先验证输入是否正确,如果正确则获取相应的ipaddress,tnsname,topsql_type等信息

接下来根据topsql的类型(物理读,逻辑读等)调用monitor/command/views_oracletopsql.py文件里面的方法来得到我们想要的数据,这个方法的讲解在昨天的公众号,大家可自行查看

最后我们将TOP SQL相关的内容封装成字典重定向到相应的template文件中

template文件

这里我们使用oracle_topsql_n.html文件来显示TOP SQL

这里通过一个表格来展现数据库TOP SQL的情况

Django允许在html文件内部使用for循环的形式来迭代列表

效果展示

首先是表单提交之前的界面

这里选择需要查询的数据库以及起止时间,时间越短越精确,其中Top栏位代表需要获取前多少个TOP SQL语句,默认为10

点击提交后会展示出TOP SQL 语句以及TOP 等待事件

源代码位置

欢迎访问我的github主页查看源码

https://github.com/bsbforever/oms_django

TOP SQL监控已经讲完了,下次讲如何展示 Oracle性能趋势,如物理读,DB Time等

本文来自企鹅号 - 宅必备媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的django

Django rest framework源码分析(2)----权限

添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 # utils/permi...

32710
来自专栏Python

pymysql模块

一、模块安装 #安装 pip3 install pymysql 二、链接、执行sql、关闭(游标) ? import pymysql user=input('用...

25510
来自专栏Pythonista

python文件操作

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

862
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析

任务调度系统是什么:他是一个类似Sql Server的代理,他可以帮助你定时处理一些SQL事务

572
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析

任务调度系统是什么:他是一个类似Sql Server的代理,他可以帮助你定时处理一些SQL事务

1114
来自专栏武军超python专栏

2018年8月13日包的相对导入和绝对导入,包的本地发布和网络发布

今天遇到的新单词: plugin n插件 core n核心 archive v存档 upload v上传 properly adv适当的 state...

683
来自专栏乐沙弥的世界

Percona XtraDB Cluster GCache和Record-Set缓存

在Percona XtraDB集群中,有一个GCache和Record-Set缓存(也可称为事务写集缓存)的概念。如果您正在运行长事务,那么使用这两个缓存通常会...

940
来自专栏编程

很全很全的 前端 本地存储方式讲解

程序员宝库关注即可习得新技能! cookie前言 网络早期最大的问题之一是如何管理状态。简而言之,服务器无法知道两个请求是否来自同一个浏览器。当时最简单的方法是...

1905
来自专栏开发与安全

用Python socket 实现一个简单的http服务器(post 与get 的区别)、CGI、WSGI、MVC

预备知识: 关于http 协议的基础请参考这里。 关于socket 基础函数请参考这里。 关于python 网络编程基础请参考这里。 一、python...

4450
来自专栏Seebug漏洞平台

Mirai源码分析

1. 背景概述 最近的德国断网事件让Mirai恶意程序再次跃入公众的视线,相对而言,目前的IoT领域对于恶意程序还是一片蓝海,因此吸引了越来越多的人开始涉足这趟...

3867

扫码关注云+社区