/adei/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/adei/trunk

« back to all changes in this revision

Viewing changes to admin/cacheinfo.php

  • Committer: Suren A. Chilingaryan
  • Date: 2020-02-25 03:16:18 UTC
  • Revision ID: csa@suren.me-20200225031618-57d452egb2mpodhh
Optimize Cache Administrator (inroduces new REQUEST flags and significant changes to CACHEDB)

Show diffs side-by-side

added added

removed removed

Lines of Context:
90
90
}
91
91
*/
92
92
 
93
 
 
94
 
$flags = REQUEST::NEED_INFO|CACHE::TABLE_INFO|CACHE::NEED_REQUESTS|CACHE::FIND_BROKEN|REQUEST::LIST_WILDCARDED;
 
93
$flags = REQUEST::NEED_INFO|CACHE::TABLE_INFO|CACHE::LEVEL_INFO|CACHE::NEED_REQUESTS;
 
94
if (isset($_GET['caching_problems']))
 
95
    $flags |= CACHEDB::SKIP_OK|CACHEDB::SKIP_MISSING|REQUEST::NEED_ITEMINFO;
 
96
else
 
97
    $flags |= CACHE::FIND_BROKEN|REQUEST::LIST_WILDCARDED;
95
98
 
96
99
if (isset($_GET['item_info']))
97
100
    $flags |= REQUEST::NEED_ITEMINFO;
100
103
    $flags |= REQUEST::NEED_READERINFO;
101
104
 
102
105
$cache = new CACHEDB();
103
 
$list = $cache->GetCacheList($flags);
 
106
if (($_GET['filter'])&&($flags&CACHE::FIND_BROKEN)) {
 
107
    $list = array_merge(
 
108
        $cache->GetCacheList(false, CACHE::FIND_BROKEN),
 
109
        $cache->GetCacheList($_GET['filter'], $flags)
 
110
    );
 
111
} else 
 
112
    $list = $cache->GetCacheList(false, $flags);
104
113
usort($list, create_function('$a,$b', 'return strcasecmp(
105
114
    $a["db_server"] . "__" . $a["db_name"] . "__" . $a["db_group"],
106
115
    $b["db_server"] . "__" . $b["db_name"] . "__" . $b["db_group"]
113
122
    <input type="submit" value="<?echo translate("Resize Selected");?> " onClick="javascript:doRewidth()"/>
114
123
<?
115
124
 
 
125
function print_date($unixts) {
 
126
    return date("M d, Y H:i:s", $unixts). strstr($unixts, ".");
 
127
}
 
128
 
116
129
function sumarize_info(&$sum, &$info) {
117
130
    if (is_numeric($info['first'])) {
118
131
        if (($sum['first'] === false)||($sum['first'] > $info['first'])) {
207
220
        $filter_source = false;
208
221
    }
209
222
 
 
223
 
 
224
    $extra_props = 0;
 
225
    $info_props = "source_info&group_info&table_info";
 
226
    $all_info_props = "$info_props&item_info&reader_info";
 
227
    if (isset($_GET["item_info"])) { $extra_props++; $info_props .= "&item_info"; }
 
228
    if (isset($_GET["reader_info"])) { $extra_props++; $info_props .= "&reader_info"; }
 
229
    if ($extra_props == 2) $extended_mode = true;
 
230
    else $extended_mode = false;
 
231
 
210
232
    if (isset($_GET['source_info'])) {
211
233
      foreach ($servers as $server => &$srv) {
212
234
        if (isset($_GET['group_info'])&&(($filter_server === false)||($filter_server == $server))) $show_mark = true;
217
239
        } while ((is_numeric($grp0))&&(!$list[$grp0]['req']));
218
240
 
219
241
        ?><div class="source" <?= ($filter_server == $server)?"style=\"border: 2px solid pink;\"":""?>>
220
 
        <h3> Server: <a href="index.php?page=cacheinfo.php&source_info&group_info&table_info&filter=<?=$server?>"><?=$server?></a><?
 
242
        <h3> Server: <a href="index.php?page=cacheinfo.php&<?=$info_props?>&filter=<?=$server?>"><?=$server?></a><?
 
243
        if ((!$extended_mode)||($show_mark)) echo " (";
 
244
        if (!$extended_mode) {
 
245
            ?><a href="index.php?page=cacheinfo.php&<?=$all_info_props?>&filter=<?=$server?>">Extended Info</a><?
 
246
            if ($show_mark) echo ", " ;
 
247
        }
221
248
        if ($show_mark) {
222
 
            ?>(<a href="javascript:Mark('<?=implode(",", $srv["tables"])?>', 1)">Mark</a>,<a href="javascript:Mark('<?=implode(",", $srv["tables"])?>', 0)">Unmark</a>)<?
223
 
        }?></h3><?
224
 
        if ($server != "_unknown_") {
225
 
            if (is_numeric($grp0)) echo translate("Server: %s (%s)", $list[$grp0]['server'], $list[$grp0]['reader']);
226
 
            else echo translate("Server: In-active");
227
 
            echo "<br/>";
 
249
            ?><a href="javascript:Mark('<?=implode(",", $srv["tables"])?>', 1)">Mark</a>, <a href="javascript:Mark('<?=implode(",", $srv["tables"])?>', 0)">Unmark</a><?
 
250
        }
 
251
        if ((!$extended_mode)||($show_mark)) echo ")";?></h3><?
 
252
 
 
253
        if (($filter_server === false)||(($filter_server == $server)&&($filter_source === false))) {
 
254
            if ($server != "_unknown_") {
 
255
                if (is_numeric($grp0)) echo translate("Server: %s (%s)", $list[$grp0]['server'], $list[$grp0]['reader']);
 
256
                else echo translate("Server: In-active");
 
257
                echo "<br/>";
 
258
            }
 
259
        }
 
260
        if (($filter_server === false)||(($filter_server == $server)&&($filter_source === false))) {
 
261
            echo translate("First record: %s", date("r", $srv['first'])) . "<br/>";
 
262
            echo translate("Last record: %s", date("r", $srv['last'])) . "<br/>";
 
263
            echo translate("Database Size: %s", dsPrintSize($srv['dbsize']));
228
264
        }
229
 
        echo translate("First record: %s", date("r", $srv['first'])) . "<br/>";
230
 
        echo translate("Last record: %s", date("r", $srv['last'])) . "<br/>";
231
 
        echo translate("Database Size: %s", dsPrintSize($srv['dbsize']));
232
 
 
 
265
        
233
266
        if ($srv['databases']) echo "<br/><br/>Databases:<br/>";
234
267
        else echo ", " . translate("%u groups", sizeof($srv['tables'])) . "<br/>";
 
268
        
235
269
        foreach ($srv['databases'] as $source) {
236
270
            $db = &$sources[$source];
237
 
            echo "<a href=\"index.php?page=cacheinfo.php&source_info&group_info&table_info&filter=$source\"" . (($filter_source == $source)?"style=\"color:red\";":"") . ">" . substr(strstr($source, "__"),2) . "</a>: ";
238
 
            echo translate("%u groups", sizeof($db['groups'])) . ", ";
239
 
            echo dsPrintSize($db['dbsize']) . ", ";
240
 
            echo date("r", $db['first']) . " - " . date("r", $db['last']);
241
 
            if (($show_mark)&&(($filter_source === false)||($filter_source == $source))) {
242
 
                ?>(<a href="javascript:Mark('<?=implode(",", $db["tables"])?>', 1)">Mark</a>,<a href="javascript:Mark('<?=implode(",", $db["tables"])?>', 0)">Unmark</a>)<?
243
 
            }
 
271
            echo "<a href=\"index.php?page=cacheinfo.php&$info_props&filter=$source\"" . (($filter_source == $source)?"style=\"color:red\";":"") . ">" . substr(strstr($source, "__"),2) . "</a>: ";
 
272
            echo translate("%u groups", sizeof($db['groups']));
 
273
            if (($filter_source === false)||($filter_source == $source)) {
 
274
                echo ", " . dsPrintSize($db['dbsize']) . ", ";
 
275
                echo date("r", $db['first']) . " - " . date("r", $db['last']);
 
276
            }
 
277
            $show_mark_here = (($show_mark)&&(($filter_source === false)||($filter_source == $source)));
 
278
            if ((!$extended_mode)||($show_mark)) echo " (";
 
279
            if (!$extended_mode) {
 
280
                echo "<a href=\"index.php?page=cacheinfo.php&$all_info_props&filter=$source\">Extended Info</a>";
 
281
                if ($show_mark_here) echo ", ";
 
282
            }
 
283
            if ($show_mark_here) {
 
284
                ?><a href="javascript:Mark('<?=implode(",", $db["tables"])?>', 1)">Mark</a>, <a href="javascript:Mark('<?=implode(",", $db["tables"])?>', 0)">Unmark</a><?
 
285
            }
 
286
            if ((!$extended_mode)||($show_mark)) echo ")";
244
287
            echo "<br/>";
245
288
        }?>
246
289
        </div><?
253
296
    if ($filter) {
254
297
        if (!in_array($info['postfix'], $tables)) continue;
255
298
    }
 
299
    /*unset($info['req']);
 
300
    unset($info['info']['items']);
 
301
    print_r($info);
 
302
    exit(-1);*/
256
303
    ?><div class="group">
257
304
        <h3>Tables: cache*<?echo $info["postfix"];?> (<a href="index.php?page=do.php&action=drop&postfix=<?echo urlencode(json_encode(array($info['postfix'])));?>"><?echo translate("Drop");?></a>)
258
305
        <input type="checkbox" name="postfix<?echo $info['postfix']?>" value="1"/>
288
335
            }
289
336
            echo "<br/>";
290
337
        }
 
338
        if ($info['error']) {
 
339
            echo translate("Error: %s", $info['error']);
 
340
            echo "<br/>";
 
341
        }
291
342
        
292
343
        if ($info['reader']) {
293
344
            echo translate("Reader: %s", $info['reader']) . "<br/>";
307
358
        
308
359
        echo "<br/>";
309
360
 
 
361
        if (isset($info['get_extended_cache_info_time'])) {
 
362
            echo translate("Cache Query Time: %s s", $info['get_extended_cache_info_time']);
 
363
            if ($info['get_extended_cache_info_time'] > 1) echo " [SLOW]";
 
364
            echo "<br/>";
 
365
        }
 
366
        if (isset($info['query_time'])) {
 
367
            echo translate("Source Query Time: %s s", $info['query_time']);
 
368
            if ($info['query_time'] > 1) echo " [SLOW]";
 
369
            echo "<br/>";
 
370
        }
 
371
 
310
372
        if (isset($info['info']['dbsize'])) {
311
373
            echo translate("Cache Size: %s", dsPrintSize($info['info']['dbsize'])) . "<br/>";
312
374
        }
313
375
 
314
376
        if (isset($info['info']['records'])||isset($info['records'])) {
315
377
            if (!isset($info['records']))
316
 
                echo translate("Number of records: %s (CACHE)", $info['info']['records']);
 
378
                echo translate("Number of records: %s (CACHE-only)", $info['info']['records']);
317
379
            else if (!isset($info['info']['records']))
318
 
                echo translate("Number of records: %s (READER)", $info['records']);
 
380
                echo translate("Number of records: %s (READER-only)", $info['records']);
319
381
            else if (abs($info['records'] - $info['info']['records']) < 100)
320
382
                echo translate("Number of records: %s (IN SYNC)", $info['info']['records']);
321
383
            else
322
 
                echo translate("Number of records: %s (CACHE) %s (READER)", $info['info']['records'], $info['records']);
 
384
                echo translate("Number of records: %s (CACHE) %s (READER) --- Wild guess with MySQL/ADEIDB", $info['info']['records'], $info['records']);
323
385
            echo "<br/>";
324
386
        }
325
387
 
350
412
        }
351
413
 
352
414
        if ((isset($info['info']['first'])&&isset($info['info']['last']))||(isset($info['first'])&&isset($info['last']))) {
353
 
            if ($info['first'] == $info['info']['first'])
354
 
                echo translate("First record (ALL)   : %s", date("r", $info['info']['first'])) . "<br/>";
355
 
            else if (!isset($info['first']))
356
 
                echo translate("First record (CACHE) : %s", date("r", $info['info']['first'])) . "<br/>";
357
 
            else if (!isset($info['info']['first']))
358
 
                echo translate("First record (READER): %s", date("r", $info['first'])) . "<br/>";
 
415
            if (ceil($info['first']) == ceil($info['info']['first']))
 
416
                echo translate("First record (ALL)   : %s", print_date($info['info']['first'])) . "<br/>";
 
417
            else if (!isset($info['first'])) {
 
418
                if (isset($_GET['reader_info']))
 
419
                    echo translate("First record (CACHE-only) : %s", print_date($info['info']['first'])) . "<br/>";
 
420
                else
 
421
                    echo translate("First record (CACHE) : %s", print_date($info['info']['first'])) . "<br/>";
 
422
            } else if (!isset($info['info']['first']))
 
423
                echo translate("First record (READER-only): %s", print_date($info['first'])) . "<br/>";
359
424
            else {
360
 
                echo translate("First record (CACHE) : %s", date("r", $info['info']['first'])) . "<br/>";
361
 
                echo translate("First record (READER): %s", date("r", $info['first'])) . "<br/>";
 
425
                echo translate("First record (CACHE) : %s", print_date($info['info']['first'])) . "<br/>";
 
426
                echo translate("First record (READER): %s", print_date($info['first'])) . "<br/>";
362
427
            }
363
428
                
364
 
            if ($info['last'] == $info['info']['last'])
365
 
                echo translate("Last record (ALL)   : %s", date("r", $info['info']['last'])) . "<br/>";
366
 
            else if (!isset($info['last']))
367
 
                echo translate("Last record (CACHE) : %s", date("r", $info['info']['last'])) . "<br/>";
368
 
            else if (!isset($info['info']['last']))
369
 
                echo translate("Last record (READER): %s", date("r", $info['last'])) . "<br/>";
 
429
            if (floor($info['last']) == floor($info['info']['last']))
 
430
                echo translate("Last record (ALL)   : %s", print_date($info['info']['last'])) . "<br/>";
 
431
            else if (!isset($info['last'])) {
 
432
                if (isset($_GET['reader_info']))
 
433
                    echo translate("Last record (CACHE-only) : %s", print_date($info['info']['last'])) . "<br/>";
 
434
                else
 
435
                    echo translate("Last record (CACHE) : %s", print_date($info['info']['last'])) . "<br/>";
 
436
            } else if (!isset($info['info']['last']))
 
437
                echo translate("Last record (READER-only): %s", print_date($info['last'])) . "<br/>";
370
438
            else {
371
 
                echo translate("Last record (CACHE) : %s", date("r", $info['info']['last'])) . "<br/>";
372
 
                echo translate("Last record (READER): %s", date("r", $info['last'])) . "<br/>";
 
439
                echo translate("Last record (CACHE) : %s", print_date($info['info']['last'])) . "<br/>";
 
440
                echo translate("Last record (READER): %s", print_date($info['last'])) . "<br/>";
373
441
            }
374
442
        }
375
443