source: lliurex-analytics-server/trunk/fuentes/lliurex-analytics-server/usr/lib/analytics-server/analytics/functions.php @ 6767

Last change on this file since 6767 was 6767, checked in by mabarracus, 20 months ago

Fix test suite
Consolidation daemon ported to python3
Avoid daemon running with multiple instances
Fixes indent,sizes in fonts and graphics
System stats visualization page
Minimized javascript files
New cache for visualization graphs minimizing overloading and DoS attacks
Improved scheduler with clients sending 10+ results

File size: 4.7 KB
Line 
1<?php 
2function call_bd(){
3        return function($request,$response,$service){
4                $data=json_decode($request->stats,true);
5               
6                $db = new DB;
7                $db->connect();
8                try{
9                        if (isset($data['vers'])){
10                            $version=trim($data['vers']);
11                        }else{
12                            return 'NOK';
13                        }
14                        if (isset($data['sab'])){
15                            $sabor=trim($data['sab']);
16                        }else{
17                            return 'NOK';
18                        }
19                        if (isset($data['uid'])){
20                            $uid=trim($data['uid']);
21                        }else{
22                            return 'NOK';
23                        }
24                        if ($version == '' or $sabor == '' or $uid == ''){
25                            return 'NOK';
26                        }
27                        if (isset($data['date'])){
28                            $db->send_data($uid,$version,$sabor,json_decode($data['stats'],true),$data['date']);
29                        }else{
30                            $db->send_data($uid,$version,$sabor,json_decode($data['stats'],true));
31                        }
32                }catch (Exception $e){
33                        //error_log($e);
34                        $db->disconnect();
35                        return 'NOK';
36                }
37                $db->disconnect();
38                return 'OK';
39        };
40}
41function call_get_stats(){
42        return function($request,$reponse,$service){
43
44                $db = new DB;
45                $db->connect();
46                echo $db->get_historic_data();
47                $db->disconnect();
48        };
49}
50
51function call_get_system_stats(){
52    return function($request,$response,$service){
53        $db = new DB;
54        $db->connect();
55        echo $db->get_system_data();
56        $db->disconnect();
57    };
58}
59
60function call_get_extended_stats(){
61        return function($request,$reponse,$service){
62                $app=$request->param('app');
63                $db = new DB;
64                $db->connect();
65                echo $db->get_extended_data($app);
66                $db->disconnect();
67        };
68}
69
70function call_show_stats(){
71
72return function($request,$reponse,$service){
73
74echo '<html>
75  <head>
76    <!--Load the AJAX API-->
77    <!--<script type="text/javascript" src="https://www.google.com/jsapi"></script>-->
78    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
79    <script type="text/javascript" src="jquery.min.js"></script>
80    <script type="text/javascript" src="graph_min.js"></script>
81
82    <script type="text/javascript">
83        google.charts.load("current", {packages: ["corechart"],"language":"es"});
84        google.charts.setOnLoadCallback(doChart);
85    </script>
86    <link href="ui/jquery-ui.css" rel="stylesheet">
87    <link href="graph.css" rel="stylesheet">
88    <script type="text/javascript" src="ui/jquery-ui.js"></script>
89  </head>
90  <body>
91  <div id="header"><span class="title">Lliurex-Analytics <a class="go_to_other" href="ShowExtendedStats">[Extended stats]</a></span><div id="stats_box"></div></div>
92  <div id="accordion"></div>
93  </body>
94</html>
95';
96
97};
98
99}
100
101function call_show_system_stats(){
102
103return function($request,$reponse,$service){
104
105echo '<html>
106  <head>
107    <!--Load the AJAX API-->
108    <!--<script type="text/javascript" src="https://www.google.com/jsapi"></script>-->
109    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
110    <script type="text/javascript" src="jquery.min.js"></script>
111    <script type="text/javascript" src="sysstats_min.js"></script>
112    <script type="text/javascript">
113        google.charts.load("current", {packages: ["corechart"],"language":"es"});
114        google.charts.setOnLoadCallback(initialize);
115    </script>
116    <link href="ui/jquery-ui.css" rel="stylesheet">
117    <link href="graph.css" rel="stylesheet">
118    <script type="text/javascript" src="ui/jquery-ui.js"></script>
119  </head>
120  <body>
121  <div id="chart_div"></div>
122  </body>
123</html>
124';
125
126};
127
128}
129function call_show_extended_stats(){
130
131return function($request,$reponse,$service){
132
133echo '<html>
134  <head>
135    <!--Load the AJAX API-->
136    <!--<script type="text/javascript" src="https://www.google.com/jsapi"></script>-->
137    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
138    <script type="text/javascript" src="jquery.min.js"></script>
139    <script type="text/javascript" src="graph_min.js"></script>
140
141    <script type="text/javascript">
142        google.charts.load("current", {packages: ["corechart"],"language":"es"});
143        google.charts.setOnLoadCallback(doExtendedChart);
144    </script>
145    <link href="ui/jquery-ui.css" rel="stylesheet">
146    <link href="graph.css" rel="stylesheet">
147    <script type="text/javascript" src="ui/jquery-ui.js"></script>
148    <script type="text/javascript">$(document).ready(function(){function send_query(){window.location.href=window.location.pathname+"?app="+$("#query_box>input").val()};$("#query_box>input").on("keyup",function(e){if (e.keyCode == 13){send_query()}});$("#query_box>button").click(send_query)});</script>
149  </head>
150  <body>
151  <div id="header"><div id="query_box"><span>Search by app:</span><input type="search" name="app_search"></input><button>Search</button></div><span class="title">Lliurex-Analytics <a class="go_to_other" href="ShowStats">[Simple stats]</a></span><div id="stats_box"></div></div>
152  <div id="accordion"></div>
153  </body>
154</html>
155';
156
157};
158
159}
160
161
162?>
Note: See TracBrowser for help on using the repository browser.