<?php
$todo = array();
$done = array();
$h = array();
$v = $all['v'];
$l = count($v);
#19700101 08
for ($x = 1; $x < $l; $x++) {
$i = $v[$x]; #$todo[] = $i['tab_create_c'];
$todo[] = is_null($i['tab_create_c']) ? 0 : intval($i['tab_create_c']);
$done[] = is_null($i['tab_update_c']) ? 0 : intval($i['tab_update_c']);
$h[] = str_replace(" ", "-", $i['h']);
}
?> <!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= $title; ?></title> <style type="text/css">
#container {
/*min-width: 310px;*/
/*max-width: 800px;*/
/*height: 400px;*/
margin: 0 auto
}
</style>
</head>
<body>
<div id="container"></div>
<pre>
<?= $all['sql']; ?>
</pre>
</body>
</html>
<script src="../Highcharts-6.0.4/code/highcharts.js"></script>
<script src="../Highcharts-6.0.4/code/modules/series-label.js"></script>
<script src="../Highcharts-6.0.4/code/modules/exporting.js"></script> <script type="text/javascript"> Highcharts.chart('container', { title: {
text: '异常url数目检测效率监控'
}, subtitle: {
text: '单表查询:ad_direct_error_temp'
}, yAxis: {
title: {
text: '数据条数'
}
},
xAxis: {
title: {
text: '日期-时钟'
},
categories: [<?='"'.implode('","',$h).'"' ;?>]
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle'
}, plotOptions: {
series: {
label: {
connectorAllowed: false
},
// pointStart: <?//=strtotime($h[0].":00:00");?>
}
},
series: [{
name:<?="'".$all['todo']."'";?>,
data: [<?=implode(',',$todo) ;?>]
}
, {
name:<?="'".$all['done']."'";?>,
data: [<?=implode(',',$done) ;?>]
},
], responsive: {
rules: [{
condition: {
// maxWidth: <?//=strtotime(end($h).":00:00")-strtotime($h[0].":00:00");?>
},
chartOptions: {
legend: {
layout: 'horizontal',
align: 'center',
verticalAlign: 'bottom'
}
}
}]
} });
</script> 单条sql走天下 入库时间 更新时间 累计检测次数 时间全集 子集
SELECT h,tab_create_c,tab_update_c FROM (
SELECT DISTINCT h FROM (
SELECT
FROM_UNIXTIME(create_time, '%Y%m%d %H') AS h
FROM
ad_direct_error_temp
UNION ALL
SELECT
FROM_UNIXTIME(update_time, '%Y%m%d %H') AS h
FROM
ad_direct_error_temp
) AS tab_alltime
) AS tab_alltime_b LEFT JOIN (
SELECT FROM_UNIXTIME(create_time, '%Y%m%d %H') AS tab_create_h,COUNT(1) AS tab_create_c
FROM ad_direct_error_temp
GROUP BY tab_create_h
) AS tab_create ON tab_alltime_b.h=tab_create.tab_create_h LEFT JOIN (
SELECT FROM_UNIXTIME(update_time, '%Y%m%d %H') AS tab_update_h,COUNT(1) AS tab_update_c
FROM ad_direct_error_temp
WHERE no_ad_times+no_open_times>=script_need_run_times
GROUP BY tab_update_h
) AS tab_update ON tab_alltime_b.h=tab_update.tab_update_h ORDER BY h ASC
;

问题时间段 定时任务调度异常  
SELECT h,tab_create_c,tab_update_c FROM (
SELECT DISTINCT h FROM (
SELECT
FROM_UNIXTIME(create_time, '%Y%m%d %H') AS h
FROM
ad_direct_error_temp
UNION ALL
SELECT
FROM_UNIXTIME(update_time, '%Y%m%d %H') AS h
FROM
ad_direct_error_temp
) AS tab_alltime
) AS tab_alltime_b LEFT JOIN (
SELECT FROM_UNIXTIME(create_time, '%Y%m%d %H') AS tab_create_h,COUNT(1) AS tab_create_c
FROM ad_direct_error_temp
GROUP BY tab_create_h
) AS tab_create ON tab_alltime_b.h=tab_create.tab_create_h LEFT JOIN (
SELECT FROM_UNIXTIME(update_time, '%Y%m%d %H') AS tab_update_h,COUNT(1) AS tab_update_c
FROM ad_direct_error_temp
WHERE no_ad_times+no_open_times>=script_need_run_times
GROUP BY tab_update_h
) AS tab_update ON tab_alltime_b.h=tab_update.tab_update_h ORDER BY h ASC
;


												

web metrics dashboard 数据分析工具 看板 从可视化发现问题 避免sql重复写 调高效率的更多相关文章

  1. Python 数据分析中常用的可视化工具

    Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...

  2. 这个数据分析工具秒杀Excel,可视化分析神器!

    ​入门Excel容易,想要精通就很难了,大部分人通过学习能掌握60%的基础操作,但是一些复杂数据可视化分析就需要用到各种技巧,操作理解难度加深 Excel作为一直是使用最广泛的数据表格工具,在数据量日 ...

  3. python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言)

    python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言) 感觉要总结总结了,希望这次能写个系列文章分享分享心得,和大神们交流交流,提升提升. 因为 ...

  4. K8s 部署 Dashboard UI 仪表板 ——让一切可视化

    K8s 部署 Dashboard UI  仪表板   --让一切可视化 Dashboard 介绍 仪表板是基于Web的Kubernetes用户界面.您可以使用仪表板将容器化应用程序部署到Kuberne ...

  5. 一图胜千言,想让数据产生影响力,必须拥有好上手的BI数据分析工具

    当杂乱无章的数据,经过数据清洗后,得到了想用的数据,但是查看这些数据通过数据库只能看到数据本身,无法看到其中的规律,可以通过BI数据分析工具,图形化展示数据,使数据更形象化的展现在用户面前,更容易看出 ...

  6. atitit.web ui 结构建模工具总结

    atitit.web ui 结构建模工具总结 1. 王者.dreamweaver 1 2. Frontpage/SharePoint Designer(FrontPage) 2010... 1 3.  ...

  7. 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )

    从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 )   我现在在Coursera上面学data science 中的R programming,过去很少接 ...

  8. App运营者必须知道的30款数据分析工具

    如今的移动应用早已不再是某种结构单一.功能简单的工具了.当我们的移动应用变得越来越庞杂,我们便会需要借用分析工具,来跟踪和分析App内的每一个部分.幸运的是,目前市面上有许多数据分析工具可供App开发 ...

  9. 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)

    不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...

随机推荐

  1. 导航栏 active 跟随鼠标效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. [Python3网络爬虫开发实战] 1.5.3-redis-py的安装

    对于Redis来说,我们要使用redis-py库来与其交互,这里就来介绍一下它的安装方法. 1. 相关链接 GitHub:https://github.com/andymccurdy/redis-py ...

  3. [Python3网络爬虫开发实战] 1.5.1-PyMySQL的安装

    在Python 3中,如果想要将数据存储到MySQL中,就需要借助PyMySQL来操作,本节中我们介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/PyMyS ...

  4. xtrbackup备份mysql

    mysqldump备份方式是采用逻辑备份,但是它最大的缺陷就是备份和恢复速度慢对于一个小于50G的数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了. x ...

  5. C语言学习7

    结构体数组:实现简易通讯录 #include <stdio.h> #include <stdlib.h> #define NUM 3 struct person { ]; ]; ...

  6. 86-Money Flow Index 资金流量指数指标.(2015.7.3)

    Money Flow Index 资金流量指数指标 计算: 1.典型价格(TP)=当日最高价.最低价与收盘价的算术平均值 2.货币流量(MF)=典型价格(TP)×N日内成交金额 3.如果当日MF> ...

  7. LeetCode 167. Two Sum II – Input array is sorted

    Given an array of integers that is already sorted in ascending order, find two numbers such that the ...

  8. Direct3D 12 创建windows窗口

    之前列出了计算机图形学的计划,现在开始这一阶段的学习,首先是Windows窗口的创建. 创建windows窗口 环境: 1. Visual Studio 2015 新建项目 创建工程项目完成,确定为窗 ...

  9. Ajax的特点

    [传统提交方式] 客户端提交请求后,服务器会找到相应的资源进行执行.并将执行结果重新发送给客户端.客户端接收到服务器端的响应会进行重新解释并显示.此时的页面是一个全新的页面. [Ajax提交] 客户端 ...

  10. Qt——信号与槽用法总结(未完待续)

    1.设计模式中信号与槽编辑选项卡 2.右键组件,转到槽,写函数 void LoginDialog::on_loginBtn_clicked() { accept(); } 3.信号与槽编辑模式 按下F ...