本文整理汇总了PHP中init_metrics函数的典型用法代码示例。如果您正苦于以下问题:PHP init_metrics函数的具体用法?PHP init_metrics怎么用?PHP init_metrics使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了init_metrics函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: xhprof_prune_run
function xhprof_prune_run($raw_data, $prune_percent)
{
$main_info = $raw_data["main()"];
if (empty($main_info)) {
xhprof_error("XHProf: main() missing in raw data");
return false;
}
// raw data should contain either wall time or samples information...
if (isset($main_info["wt"])) {
$prune_metric = "wt";
} else {
if (isset($main_info["samples"])) {
$prune_metric = "samples";
} else {
xhprof_error("XHProf: for main() we must have either wt " . "or samples attribute set");
return false;
}
}
// determine the metrics present in the raw data..
$metrics = array();
foreach ($main_info as $metric => $val) {
if (isset($val)) {
$metrics[] = $metric;
}
}
$prune_threshold = $main_info[$prune_metric] * $prune_percent / 100.0;
init_metrics($raw_data, null, null, false);
$flat_info = xhprof_compute_inclusive_times($raw_data);
foreach ($raw_data as $parent_child => $info) {
list($parent, $child) = xhprof_parse_parent_child($parent_child);
// is this child's overall total from all parents less than threshold?
if ($flat_info[$child][$prune_metric] < $prune_threshold) {
unset($raw_data[$parent_child]);
// prune the edge
} else {
if ($parent && $parent != "__pruned__()" && $flat_info[$parent][$prune_metric] < $prune_threshold) {
// Parent's overall inclusive metric is less than a threshold.
// All edges to the parent node will get nuked, and this child will
// be a dangling child.
// So instead change its parent to be a special function __pruned__().
$pruned_edge = xhprof_build_parent_child_key("__pruned__()", $child);
if (isset($raw_data[$pruned_edge])) {
foreach ($metrics as $metric) {
$raw_data[$pruned_edge][$metric] += $raw_data[$parent_child][$metric];
}
} else {
$raw_data[$pruned_edge] = $raw_data[$parent_child];
}
unset($raw_data[$parent_child]);
// prune the edge
}
}
}
return $raw_data;
}
示例2: profiler_diff_report
/**
* Generate the profiler report for diff mode (delta between two runs).
*
* @author Kannan
*/
function profiler_diff_report($url_params, $xhprof_data1, $run1_desc, $xhprof_data2, $run2_desc, $rep_symbol, $sort, $run1, $run2)
{
// Initialize what metrics we'll display based on data in Run2
init_metrics($xhprof_data2, $rep_symbol, $sort, true);
profiler_report($url_params, $rep_symbol, $sort, $run1, $run1_desc, $xhprof_data1, $run2, $run2_desc, $xhprof_data2);
}
示例3: render
public static function render($runData, $params, $xhprofData, $symbol)
{
global $totals;
init_metrics($xhprofData, $symbol);
// if we are reporting on a specific function, we can trim down
// the report(s) to just stuff that is relevant to this function.
// That way compute_flat_info()/compute_diff() etc. do not have
// to needlessly work hard on churning irrelevant data.
if (!empty($symbol)) {
$xhprofData = xhprof_trim_run($xhprofData, array($symbol));
}
$symbol_tab = xhprof_compute_flat_info($xhprofData, $totals);
?>
<!DOCTYPE HTML><html>
<?php
HtmlHead::render($runData['namespace'] . ' - SugarCRM XHProf Viewer', array('xhprof/css/xhprof.css', 'bower_components/bootstrap/dist/css/bootstrap.min.css', 'bower_components/font-awesome/css/font-awesome.min.css', 'xhprof/css/run-page.css'), array('bower_components/jquery/dist/jquery.min.js', 'bower_components/bootstrap/dist/js/bootstrap.min.js', 'xhprof/js/symbol-typeahead.js'));
?>
<body class="container-fluid">
<div>
<div class="page-header form-inline" style="margin-top: 20px;">
<div class="navbar-form pull-right" style="padding-right:0;">
<a class="btn btn-default btn-overall-summary">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
<div><?php
static::renderOverallSummary();
?>
</div>
</a>
<a class="btn btn-primary" href="<?php
echo $params['list_url'];
?>
">
<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> Back To List
</a>
</div>
<h1><p>SugarCRM XHProf Viewer </p><small><?php
echo htmlentities($runData['namespace']);
?>
</small></h1>
</div>
</div>
<?php
if (!$symbol) {
TopTabsTemplate::render($runData);
}
?>
<?php
profiler_report($params, $symbol, $xhprofData, $symbol_tab);
?>
<script type="text/javascript">
window.TYPEAHEAD_URL = '<?php
echo static::typeAheadUrl();
?>
';
window.SYMBOL_URL = '<?php
echo CurrentPageHelper::url();
?>
';
$(function () {
$('[data-toggle="tooltip"]').tooltip({html: true})
});
</script>
</body>
</html>
<?php
}