mirror of
https://github.com/apache/struts.git
synced 2026-08-18 21:17:02 +00:00
remove ProfilingTimerBean
Part of removing the profiling layer Issue: * WW-4779
This commit is contained in:
@@ -1,129 +0,0 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002-2003, Atlassian Software Systems Pty Ltd All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation and/or
|
||||
* other materials provided with the distribution.
|
||||
* * Neither the name of Atlassian Software Systems Pty Ltd nor the names of
|
||||
* its contributors may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package com.opensymphony.xwork2.util.profiling;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Bean to contain information about the pages profiled
|
||||
*
|
||||
* @author <a href="mailto:mike@atlassian.com">Mike Cannon-Brookes</a>
|
||||
* @author <a href="mailto:scott@atlassian.com">Scott Farquhar</a>
|
||||
* @version $Date$ $Id$
|
||||
*
|
||||
* @deprecated will be dropped with next major release (2.6)
|
||||
*/
|
||||
@Deprecated
|
||||
public class ProfilingTimerBean implements java.io.Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6180672043920208784L;
|
||||
|
||||
List<ProfilingTimerBean> children = new ArrayList<>();
|
||||
ProfilingTimerBean parent = null;
|
||||
|
||||
String resource;
|
||||
|
||||
long startTime;
|
||||
long totalTime;
|
||||
|
||||
public ProfilingTimerBean(String resource) {
|
||||
this.resource = resource;
|
||||
}
|
||||
|
||||
protected void addParent(ProfilingTimerBean parent) {
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public ProfilingTimerBean getParent() {
|
||||
return parent;
|
||||
}
|
||||
|
||||
|
||||
public void addChild(ProfilingTimerBean child) {
|
||||
children.add(child);
|
||||
child.addParent(this);
|
||||
}
|
||||
|
||||
|
||||
public void setStartTime() {
|
||||
this.startTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public void setEndTime() {
|
||||
this.totalTime = System.currentTimeMillis() - startTime;
|
||||
}
|
||||
|
||||
public String getResource() {
|
||||
return resource;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param minTime minimum time
|
||||
* @return a formatted string representing all the methods that took longer than a specified time.
|
||||
*/
|
||||
public String getPrintable(long minTime) {
|
||||
return getPrintable("", minTime);
|
||||
}
|
||||
|
||||
protected String getPrintable(String indent, long minTime) {
|
||||
//only print the value if we are larger or equal to the min time.
|
||||
if (totalTime >= minTime) {
|
||||
StringBuilder buffer = new StringBuilder();
|
||||
buffer.append(indent);
|
||||
buffer.append("[" + totalTime + "ms] - " + resource);
|
||||
buffer.append("\n");
|
||||
|
||||
for (ProfilingTimerBean aChildren : children) {
|
||||
buffer.append((aChildren).getPrintable(indent + " ", minTime));
|
||||
}
|
||||
|
||||
return buffer.toString();
|
||||
} else
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<!--
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
-->
|
||||
<body>Classes to enable profiling of action execution.</body>
|
||||
-127
@@ -1,127 +0,0 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package com.opensymphony.xwork2.util.profiling;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author tm_jee
|
||||
* @version $Date$ $Id$
|
||||
*/
|
||||
public class ProfilingTimerBeanTest extends TestCase {
|
||||
|
||||
public void testAddChild() throws Exception {
|
||||
ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0");
|
||||
ProfilingTimerBean bean1 = new ProfilingTimerBean("bean1");
|
||||
ProfilingTimerBean bean2 = new ProfilingTimerBean("bean2");
|
||||
ProfilingTimerBean bean3 = new ProfilingTimerBean("bean3");
|
||||
ProfilingTimerBean bean4 = new ProfilingTimerBean("bean4");
|
||||
ProfilingTimerBean bean5 = new ProfilingTimerBean("bean5");
|
||||
ProfilingTimerBean bean6 = new ProfilingTimerBean("bean6");
|
||||
ProfilingTimerBean bean7 = new ProfilingTimerBean("bean7");
|
||||
ProfilingTimerBean bean8 = new ProfilingTimerBean("bean8");
|
||||
|
||||
/* bean0
|
||||
* + bean1
|
||||
* + bean2
|
||||
* + bean3
|
||||
* + bean4
|
||||
* + bean5
|
||||
* + bean6
|
||||
* +bean7
|
||||
* + bean8
|
||||
*/
|
||||
|
||||
bean0.addChild(bean1);
|
||||
bean0.addChild(bean3);
|
||||
bean0.addChild(bean8);
|
||||
|
||||
bean1.addChild(bean2);
|
||||
|
||||
bean3.addChild(bean4);
|
||||
bean3.addChild(bean7);
|
||||
|
||||
bean4.addChild(bean5);
|
||||
|
||||
bean5.addChild(bean6);
|
||||
|
||||
|
||||
// bean0
|
||||
assertNull(bean0.getParent());
|
||||
assertEquals(bean0.children.size(), 3);
|
||||
assertTrue(bean0.children.contains(bean1));
|
||||
assertTrue(bean0.children.contains(bean3));
|
||||
assertTrue(bean0.children.contains(bean8));
|
||||
|
||||
// bean1
|
||||
assertEquals(bean1.getParent(), bean0);
|
||||
assertEquals(bean1.children.size(), 1);
|
||||
assertTrue(bean1.children.contains(bean2));
|
||||
|
||||
// bean2
|
||||
assertEquals(bean2.getParent(), bean1);
|
||||
assertEquals(bean2.children.size(), 0);
|
||||
|
||||
// bean3
|
||||
assertEquals(bean3.getParent(), bean0);
|
||||
assertEquals(bean3.children.size(), 2);
|
||||
assertTrue(bean3.children.contains(bean4));
|
||||
assertTrue(bean3.children.contains(bean7));
|
||||
|
||||
// bean4
|
||||
assertEquals(bean4.getParent(), bean3);
|
||||
assertEquals(bean4.children.size(), 1);
|
||||
assertTrue(bean4.children.contains(bean5));
|
||||
|
||||
// bean5
|
||||
assertEquals(bean5.getParent(), bean4);
|
||||
assertEquals(bean5.children.size(), 1);
|
||||
assertTrue(bean5.children.contains(bean6));
|
||||
|
||||
// bean6
|
||||
assertEquals(bean6.getParent(), bean5);
|
||||
assertEquals(bean6.children.size(), 0);
|
||||
|
||||
// bean7
|
||||
assertEquals(bean7.getParent(), bean3);
|
||||
assertEquals(bean7.children.size(), 0);
|
||||
|
||||
// bean8
|
||||
assertEquals(bean8.getParent(), bean0);
|
||||
assertEquals(bean8.children.size(), 0);
|
||||
}
|
||||
|
||||
public void testTime() throws Exception {
|
||||
ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0");
|
||||
bean0.setStartTime();
|
||||
Thread.sleep(1050);
|
||||
bean0.setEndTime();
|
||||
assertTrue(bean0.totalTime >= 1000);
|
||||
}
|
||||
|
||||
public void testPrint() throws Exception {
|
||||
ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0");
|
||||
bean0.setStartTime();
|
||||
Thread.sleep(1050);
|
||||
bean0.setEndTime();
|
||||
assertEquals(bean0.getPrintable(2000), "");
|
||||
assertTrue(bean0.getPrintable(500).length() > 0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user