profile.js
资源名称:oa.rar [点击查看]
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:3k
源码类别:
OA系统
开发平台:
Java
- /*
- Copyright (c) 2004-2006, The Dojo Foundation
- All Rights Reserved.
- Licensed under the Academic Free License version 2.1 or above OR the
- modified BSD license. For more information on Dojo licensing, see:
- http://dojotoolkit.org/community/licensing.shtml
- */
- dojo.provide("dojo.profile");
- dojo.profile = {_profiles:{}, _pns:[], start:function (name) {
- if (!this._profiles[name]) {
- this._profiles[name] = {iters:0, total:0};
- this._pns[this._pns.length] = name;
- } else {
- if (this._profiles[name]["start"]) {
- this.end(name);
- }
- }
- this._profiles[name].end = null;
- this._profiles[name].start = new Date();
- }, end:function (name) {
- var ed = new Date();
- if ((this._profiles[name]) && (this._profiles[name]["start"])) {
- with (this._profiles[name]) {
- end = ed;
- total += (end - start);
- start = null;
- iters++;
- }
- } else {
- return true;
- }
- }, dump:function (appendToDoc) {
- var tbl = document.createElement("table");
- with (tbl.style) {
- border = "1px solid black";
- borderCollapse = "collapse";
- }
- var hdr = tbl.createTHead();
- var hdrtr = hdr.insertRow(0);
- var cols = ["Identifier", "Calls", "Total", "Avg"];
- for (var x = 0; x < cols.length; x++) {
- var ntd = hdrtr.insertCell(x);
- with (ntd.style) {
- backgroundColor = "#225d94";
- color = "white";
- borderBottom = "1px solid black";
- borderRight = "1px solid black";
- fontFamily = "tahoma";
- fontWeight = "bolder";
- paddingLeft = paddingRight = "5px";
- }
- ntd.appendChild(document.createTextNode(cols[x]));
- }
- for (var x = 0; x < this._pns.length; x++) {
- var prf = this._profiles[this._pns[x]];
- this.end(this._pns[x]);
- if (prf.iters > 0) {
- var bdytr = tbl.insertRow(true);
- var vals = [this._pns[x], prf.iters, prf.total, parseInt(prf.total / prf.iters)];
- for (var y = 0; y < vals.length; y++) {
- var cc = bdytr.insertCell(y);
- cc.appendChild(document.createTextNode(vals[y]));
- with (cc.style) {
- borderBottom = "1px solid gray";
- paddingLeft = paddingRight = "5px";
- if (x % 2) {
- backgroundColor = "#e1f1ff";
- }
- if (y > 0) {
- textAlign = "right";
- borderRight = "1px solid gray";
- } else {
- borderRight = "1px solid black";
- }
- }
- }
- }
- }
- if (appendToDoc) {
- var ne = document.createElement("div");
- ne.id = "profileOutputTable";
- with (ne.style) {
- fontFamily = "Courier New, monospace";
- fontSize = "12px";
- lineHeight = "16px";
- borderTop = "1px solid black";
- padding = "10px";
- }
- if (document.getElementById("profileOutputTable")) {
- dojo.body().replaceChild(ne, document.getElementById("profileOutputTable"));
- } else {
- dojo.body().appendChild(ne);
- }
- ne.appendChild(tbl);
- }
- return tbl;
- }};
- dojo.profile.stop = dojo.profile.end;