Skip to content

Commit

Permalink
Update to use git revisions
Browse files Browse the repository at this point in the history
  • Loading branch information
Sabha Parameswaran committed Dec 10, 2017
1 parent 9b74a27 commit 99f8766
Show file tree
Hide file tree
Showing 228 changed files with 65,389 additions and 1 deletion.
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
# threadlogic
# ThreadLogic

ThreadLogic, an open source Thread Dump Analyzer tool, for the Middleware community.
This tool was created by Sabha Parameswaran, owner of this repo, (in colloboration with Eric Gross) when he was with Oracle Fusion Middleware Architect Team.

## Motivation behind ThreadLogic

The previous set of TDA tools (Samurai/TDA) don't mine the thread dumps or provide a more detailed view of what each thread is doing while just limiting themselves to reporting the state (locked/waiting/running) or the lock information. They don't mention the type of activity within a thread, should it be treated as normal or deserving a closer look? Can a pattern or anti-pattern be applied against them? Any possible optimizations? Are there any hot spots? Any classification of threads based on their execution cycles?

ThreadLogic was created to address these deficiencies. It is based on a fork of the TDA open source tool with new capabilities to analyze and provide advice based on a set of extensible advisories and thread grouping while supporting all JVM thread dumps. Also, a thorough and in-depth analysis of WebLogic Server thread dumps is provided. Both the thread grouping and advisories are extensible where user can add new patterns to match and tag or group threads. Please check the document in the ThreadLogic projects web site for more details of the tool.

## Reasons behind this Repo
This repo hosts copy of the older bits of ThreadLogic that were on java.net project which has been subsequently retired. The owner of this repo decided to host a copy of the bits and maintain it going forward due to the retirement of the java.net/projects site and also based on requests from users for access to the tool. The author of the repo hopes to add new advisories/patterns based on user submissions of different thread dumps (can be via issues or gists).
7 changes: 7 additions & 0 deletions bin/threadlogic.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@echo off
rem ***********
rem Basic start script for ThreadLogic for Windows
rem ***********
rem If you have big log file you might need to adjust Xmx setting

java -Xmx1g -jar "%~dp0/../threadlogic.jar"
7 changes: 7 additions & 0 deletions bin/threadlogic.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/sh

# Unix shell script for starting threadlogic. If you have big log files
# you might need to adjust Xmx setting.
BIN_DIR=$(dirname $0)
THREAD_LOGIC_JAR=$(ls $BIN_DIR/../dist/ThreadLogic*.jar)
java -Xmx1g -jar $THREAD_LOGIC_JAR
76 changes: 76 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
Any modifications will be overwritten.
To include a user specific buildfile here, simply create one in the same
directory with the processing instruction <?eclipse.ant.import?>
as the first entry and export the buildfile again. -->
<project basedir="." default="build" name="ThreadLogic-dev">
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.6"/>
<property name="source" value="1.6"/>
<property name="dist" value="dist"/>

<!--
<property file="version.properties"/>
-->

<tstamp>
<format property="TODAY" pattern="MM/dd/yyyy" locale="en,US" />
</tstamp>

<path id="ThreadLogic.classpath">
<pathelement location="bin"/>
<pathelement location="lib/javahelp-2.0.02.jar"/>
<pathelement location="lib/jconsole.jar"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src/java">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target name="load-git-revinfo">
<exec executable="./git-revision.sh" dir="${basedir}" outputproperty="git.version"/>
<property name="revision" value="${git.version}"/>
<echo>REV IS: ${revision}</echo>
</target>

<target name="jar" description="Create JAR">
<jar jarfile="${dist}/ThreadLogic-${revision}.jar" basedir="bin" excludes="threadlogic.bat, threadlogic.sh">
<manifest>
<attribute name="Main-Class" value="com.oracle.ateam.threadlogic.ThreadLogic" />
<attribute name="Implementation-Vendor" value="Sabha Parameswaran"/>
<attribute name="Implementation-Title" value="ThreadLogic"/>
<attribute name="Implementation-Version" value="${revision}" />
<attribute name="Build-Date" value="${TODAY}" />
</manifest>
</jar>
</target>

<target depends="clean" name="cleanall" />
<target depends="load-git-revinfo,build-subprojects,build-project,jar" name="build" />
<target name="build-subprojects" />
<target depends="init" name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
<src path="src/java"/>
<classpath refid="ThreadLogic.classpath"/>
</javac>
<mkdir dir="bin/resources"/>
<copy todir="bin/resources">
<fileset dir="src/none/resources"/>
</copy>
</target>
<target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
<target name="ThreadLogic">
<java classname="com.oracle.ateam.threadlogic.ThreadLogic" failonerror="true" fork="yes">
<classpath refid="ThreadLogic.classpath"/>
</java>
</target>
</project>
24 changes: 24 additions & 0 deletions doc/tda-help/custom-cfg/common.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'>


</xsl:stylesheet>
29 changes: 29 additions & 0 deletions doc/tda-help/custom-cfg/eclipse.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:set="http://exslt.org/sets"
version="1.0"
exclude-result-prefixes="doc exsl set">

<xsl:import href="../../../system/custom-xsl/eclipse-book.xsl"/>
<xsl:import href="common.xsl"/>

</xsl:stylesheet>
26 changes: 26 additions & 0 deletions doc/tda-help/custom-cfg/fo.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'>

<xsl:import href="../../../system/custom-xsl/fo-book.xsl"/>
<xsl:import href="common.xsl"/>

</xsl:stylesheet>
29 changes: 29 additions & 0 deletions doc/tda-help/custom-cfg/html.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:set="http://exslt.org/sets"
version="1.0"
exclude-result-prefixes="doc exsl set">

<xsl:import href="../../../system/custom-xsl/html-book.xsl"/>
<xsl:import href="common.xsl"/>

</xsl:stylesheet>
29 changes: 29 additions & 0 deletions doc/tda-help/custom-cfg/htmlhelp.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:set="http://exslt.org/sets"
version="1.0"
exclude-result-prefixes="doc exsl set">

<xsl:import href="../../../system/custom-xsl/htmlhelp-book.xsl"/>
<xsl:import href="common.xsl"/>

</xsl:stylesheet>
29 changes: 29 additions & 0 deletions doc/tda-help/custom-cfg/javahelp.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:set="http://exslt.org/sets"
version="1.0"
exclude-result-prefixes="doc exsl set">

<xsl:import href="../../../system/custom-xsl/javahelp-book.xsl"/>
<xsl:import href="common.xsl"/>

</xsl:stylesheet>
19 changes: 19 additions & 0 deletions doc/tda-help/custom-cfg/local-entities.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<!ENTITY local_entity "local entity (defined per document)">
22 changes: 22 additions & 0 deletions doc/tda-help/custom-cfg/localbuild.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# BEGIN Do not overwrite
document.type = book
# END Do not overwrite

# Overwrite properties here

# If you happen to have sub documents you can set here the document type of each one of those.
#document.<sub_document_name>.type = article|book|set|website|slides...

# These are needed for the 'eclipse' target
eclipse.plugin.id=com.mycompany
eclipse.plugin.name=Document Name
eclipse.plugin.provider=My Company

# The version of the eclipse plugin
eclipse.plugin.version=${document.version}

# The version of the document
document.version = 1.0

# The name of the folder whose content will be carbon copied to the output directory
special.folder.name.carbonCopy=copy_to_output
32 changes: 32 additions & 0 deletions doc/tda-help/custom-cfg/localbuild.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<project>

<!--
You can add hooks here that perform your custom action at a given point.
Please see the manual (or the the file etc/build-output-formats.xml) for all
available hooks.
Example:
<target name="local-pre-init" >
</target>
-->

</project>
29 changes: 29 additions & 0 deletions doc/tda-help/custom-cfg/manpages.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file is part of DobuDish -->

<!-- DobuDish is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->

<!-- DobuDish is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
<!-- GNU General Public License for more details. -->

<!-- You should have received a copy of the GNU General Public License -->
<!-- along with DobuDish; if not, write to the Free Software -->
<!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:set="http://exslt.org/sets"
version="1.0"
exclude-result-prefixes="doc exsl set">

<xsl:import href="../../../system/custom-xsl/manpages.xsl"/>
<xsl:import href="common.xsl"/>

</xsl:stylesheet>
Loading

0 comments on commit 99f8766

Please sign in to comment.