$arHeaders = array(array("id" => "ID", "content" => GetMessage("PERFMON_CACHE_ID"), "sort" => "ID", "align" => "right"), array("id" => "HIT_ID", "content" => GetMessage("PERFMON_CACHE_HIT_ID"), "sort" => "HIT_ID", "align" => "right"), array("id" => "NN", "content" => GetMessage("PERFMON_CACHE_NN"), "sort" => "NN", "align" => "right", "default" => true), array("id" => "COMPONENT_NAME", "content" => GetMessage("PERFMON_CACHE_COMPONENT_NAME"), "sort" => "COMPONENT_NAME", "default" => true), array("id" => "MODULE_NAME", "content" => GetMessage("PERFMON_CACHE_MODULE_NAME"), "sort" => "MODULE_NAME", "default" => true), array("id" => "CACHE_SIZE", "content" => GetMessage("PERFMON_CACHE_CACHE_SIZE"), "sort" => "CACHE_SIZE", "align" => "right", "default" => true), array("id" => "OP_MODE", "content" => GetMessage("PERFMON_CACHE_OP_MODE"), "sort" => "OP_MODE", "default" => true), array("id" => "BASE_DIR", "content" => GetMessage("PERFMON_CACHE_BASE_DIR"), "sort" => "FILE_PATH", "default" => true), array("id" => "INIT_DIR", "content" => GetMessage("PERFMON_CACHE_INIT_DIR"), "sort" => "FILE_PATH", "default" => true), array("id" => "FILE_NAME", "content" => GetMessage("PERFMON_CACHE_FILE_NAME"), "sort" => "FILE_PATH", "default" => true), array("id" => "CACHE_PATH", "content" => GetMessage("PERFMON_CACHE_CACHE_PATH"))); } $lAdmin->AddHeaders($arHeaders); $arSelectedFields = $lAdmin->GetVisibleHeaderColumns(); if (!is_array($arSelectedFields) || count($arSelectedFields) < 1) { foreach ($arHeaders as $header => $info) { if ($info["default"]) { $arSelectedFields[] = $info["id"]; } } } if (in_array("FILE_NAME", $arSelectedFields)) { $arSelectedFields[] = "FILE_PATH"; } $arNumCols = array("CACHE_SIZE" => 0, "COUNT" => 0, "COUNT_R" => 0, "COUNT_W" => 0, "COUNT_C" => 0, "SUM_CACHE_SIZE" => 0, "AVG_CACHE_SIZE" => 0, "MIN_CACHE_SIZE" => 0, "MAX_CACHE_SIZE" => 0, "HIT_RATIO" => 2); $cData = new CPerfomanceCache(); $rsData = $cData->GetList(array($by => $order), $arFilter, $group !== "none", false, $arSelectedFields); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PERFMON_CACHE_PAGE"))); $i = 0; $max_display_url = COption::GetOptionInt("perfmon", "max_display_url"); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow(++$i, $arRes); $numbers = array(); foreach ($arNumCols as $column_name => $precision) { if ($_REQUEST["mode"] == "excel") { $numbers[$column_name] = number_format($arRes[$column_name], $precision, ".", ""); } else { $numbers[$column_name] = str_replace(" ", " ", number_format($arRes[$column_name], $precision, ".", " ")); }
$RIGHT = $APPLICATION->GetGroupRight($module_id); if ($RIGHT >= "R") { IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/options.php"); IncludeModuleLangFile(__FILE__); $arAllOptions = array(array("max_display_url", GetMessage("PERFMON_OPTIONS_MAX_DISPLAY_URL"), array("text", 6)), array("warning_log", GetMessage("PERFMON_OPTIONS_WARNING_LOG"), array("checkbox")), array("cache_log", GetMessage("PERFMON_OPTIONS_CACHE_LOG"), array("checkbox")), array("sql_log", GetMessage("PERFMON_OPTIONS_SQL_LOG"), array("checkbox")), array("sql_backtrace", GetMessage("PERFMON_OPTIONS_SQL_BACKTRACE"), array("checkbox")), array("slow_sql_log", GetMessage("PERFMON_OPTIONS_SLOW_SQL_LOG"), array("checkbox"), GetMessage("PERFMON_OPTIONS_SLOW_SQL_NOTE")), array("slow_sql_time", GetMessage("PERFMON_OPTIONS_SLOW_SQL_TIME"), array("text", 6))); $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("MAIN_TAB_SET"), "ICON" => "perfmon_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_SET")), array("DIV" => "edit2", "TAB" => GetMessage("MAIN_TAB_RIGHTS"), "ICON" => "perfmon_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS"))); $tabControl = new CAdminTabControl("tabControl", $aTabs); CModule::IncludeModule($module_id); if ($REQUEST_METHOD == "POST" && strlen($Update . $Apply . $RestoreDefaults) > 0 && $RIGHT == "W" && check_bitrix_sessid()) { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/perfmon/prolog.php"; if ($_REQUEST["clear_data"] === "y") { CPerfomanceComponent::Clear(); CPerfomanceSQL::Clear(); CPerfomanceHit::Clear(); CPerfomanceError::Clear(); CPerfomanceCache::Clear(); } if (array_key_exists("ACTIVE", $_REQUEST)) { $ACTIVE = intval($_REQUEST["ACTIVE"]); CPerfomanceKeeper::SetActive($ACTIVE > 0, time() + $ACTIVE); } if (strlen($RestoreDefaults) > 0) { COption::RemoveOption("perfmon"); } else { foreach ($arAllOptions as $arOption) { $name = $arOption[0]; $val = $_REQUEST[$name]; if ($arOption[2][0] == "checkbox" && $val != "Y") { $val = "N"; } COption::SetOptionString("perfmon", $name, $val, $arOption[1]);
$arSelectedFields[] = "FILE_PATH"; $arNumCols = array( "CACHE_SIZE" => 0, "COUNT" => 0, "COUNT_R" => 0, "COUNT_W" => 0, "COUNT_C" => 0, "SUM_CACHE_SIZE" => 0, "AVG_CACHE_SIZE" => 0, "MIN_CACHE_SIZE" => 0, "MAX_CACHE_SIZE" => 0, "HIT_RATIO" => 2, ); $cData = new CPerfomanceCache; $rsData = $cData->GetList( array($by => $order), $arFilter, $group !== "none", array("nPageSize" => CAdminResult::GetNavSize($sTableID)), $arSelectedFields ); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PERFMON_CACHE_PAGE"))); $i = 0; $max_display_url = COption::GetOptionInt("perfmon", "max_display_url"); while ($arRes = $rsData->NavNext(true, "f_"))