javacore-analyser 2.2.0.dev98__py3-none-any.whl → 2.2.0.dev113__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- javacore_analyser/data/xml/report.xsl +5 -1
- javacore_analyser/data/xml/threads/thread.xsl +5 -1
- javacore_analyser/java_thread.py +13 -0
- javacore_analyser/thread_snapshot.py +14 -12
- {javacore_analyser-2.2.0.dev98.dist-info → javacore_analyser-2.2.0.dev113.dist-info}/METADATA +1 -1
- {javacore_analyser-2.2.0.dev98.dist-info → javacore_analyser-2.2.0.dev113.dist-info}/RECORD +9 -9
- {javacore_analyser-2.2.0.dev98.dist-info → javacore_analyser-2.2.0.dev113.dist-info}/WHEEL +0 -0
- {javacore_analyser-2.2.0.dev98.dist-info → javacore_analyser-2.2.0.dev113.dist-info}/entry_points.txt +0 -0
- {javacore_analyser-2.2.0.dev98.dist-info → javacore_analyser-2.2.0.dev113.dist-info}/licenses/LICENSE +0 -0
@@ -533,6 +533,7 @@
|
|
533
533
|
that may be reused for unrelated tasks. Two tasks with different thread names are therefore treated
|
534
534
|
as separate threads for the purpose of this report, even if they are executed in the scope of the same
|
535
535
|
Thread java object.
|
536
|
+
The address of the java Thread object is included for each thread. This corresponds to the address reported in Java heapdumps.
|
536
537
|
The table can be sorted by clicking on any column header.
|
537
538
|
The following information is displayed for each thread:
|
538
539
|
<ul>
|
@@ -586,7 +587,9 @@
|
|
586
587
|
<a>
|
587
588
|
<xsl:attribute name="id"><xsl:value-of select="concat('toggle_thread_name',$i)"/></xsl:attribute>
|
588
589
|
<xsl:attribute name="href"><xsl:value-of select="concat('javascript:expand_stack(stack',$i,',toggle_thread_name',$i,')')"/></xsl:attribute>
|
589
|
-
<xsl:attribute name="class">expandit</xsl:attribute
|
590
|
+
<xsl:attribute name="class">expandit</xsl:attribute>
|
591
|
+
<xsl:value-of select="thread_name"/>
|
592
|
+
</a>
|
590
593
|
<a class="right" target="_blank">
|
591
594
|
<xsl:attribute name="href">
|
592
595
|
<xsl:value-of select="concat('threads/thread_', thread_hash, '.html')"/>
|
@@ -596,6 +599,7 @@
|
|
596
599
|
<br/>
|
597
600
|
<div style="display:none;" >
|
598
601
|
<xsl:attribute name="id"><xsl:value-of select="concat('stack',$i)"/></xsl:attribute>
|
602
|
+
java/lang/Thread:<xsl:value-of select="thread_address"/>
|
599
603
|
<xsl:for-each select="*[starts-with(name(), 'stack')]">
|
600
604
|
<div>
|
601
605
|
<xsl:choose>
|
@@ -33,7 +33,11 @@
|
|
33
33
|
</div>
|
34
34
|
<div class="content">
|
35
35
|
<p class="right"><a href="../index.html"> Back to Main page </a></p>
|
36
|
-
<h2>
|
36
|
+
<h2>
|
37
|
+
Wait Report for thread: <b><xsl:value-of select="thread_name"/></b>
|
38
|
+
<br/>
|
39
|
+
java/lang/Thread:<xsl:value-of select="thread_address"/>
|
40
|
+
</h2>
|
37
41
|
<xsl:choose>
|
38
42
|
<xsl:when test="//javacore_count = 1">
|
39
43
|
System resource utilization data cannot be calculated with only a single javacore.
|
javacore_analyser/java_thread.py
CHANGED
@@ -8,6 +8,14 @@ from javacore_analyser.abstract_snapshot_collection import AbstractSnapshotColle
|
|
8
8
|
|
9
9
|
class Thread(AbstractSnapshotCollection):
|
10
10
|
|
11
|
+
def __init__(self):
|
12
|
+
super().__init__()
|
13
|
+
self.thread_address = ""
|
14
|
+
|
15
|
+
def create(self, thread_snapshot):
|
16
|
+
super().create(thread_snapshot)
|
17
|
+
self.thread_address = thread_snapshot.thread_address
|
18
|
+
|
11
19
|
def get_hash(self):
|
12
20
|
id_str = self.name + str(self.id)
|
13
21
|
hashcode = abs(hash(id_str))
|
@@ -26,6 +34,11 @@ class Thread(AbstractSnapshotCollection):
|
|
26
34
|
name_node.appendChild(doc.createTextNode(self.name + " (" + str(self.id) + ")"))
|
27
35
|
thread_node.appendChild(name_node)
|
28
36
|
|
37
|
+
# thread address
|
38
|
+
thread_address_node = doc.createElement("thread_address")
|
39
|
+
thread_address_node.appendChild(doc.createTextNode(self.thread_address))
|
40
|
+
thread_node.appendChild(thread_address_node)
|
41
|
+
|
29
42
|
# hash
|
30
43
|
hash_node = doc.createElement("thread_hash")
|
31
44
|
hash_node.appendChild(doc.createTextNode(self.get_hash()))
|
@@ -21,6 +21,7 @@ class ThreadSnapshot:
|
|
21
21
|
self.allocated_mem = 0
|
22
22
|
self.name = None
|
23
23
|
self.thread_id = None
|
24
|
+
self.thread_address = None
|
24
25
|
self.thread = None
|
25
26
|
self.javacore = None
|
26
27
|
self.blocker = None
|
@@ -38,6 +39,7 @@ class ThreadSnapshot:
|
|
38
39
|
snapshot.file = file
|
39
40
|
snapshot.javacore = javacore
|
40
41
|
snapshot.name = snapshot.get_thread_name(line)
|
42
|
+
snapshot.thread_address = snapshot.get_thread_address(line)
|
41
43
|
snapshot.parse_state(line)
|
42
44
|
snapshot.parse_snapshot_data()
|
43
45
|
return snapshot
|
@@ -76,6 +78,18 @@ class ThreadSnapshot:
|
|
76
78
|
name = name.translate(str.maketrans({"\01": "[SOH]"}))
|
77
79
|
return name
|
78
80
|
|
81
|
+
def get_thread_address(self, line):
|
82
|
+
""" assuming line format:
|
83
|
+
3XMTHREADINFO "Default Executor-thread-27781" J9VMThread:0x0000000009443300,
|
84
|
+
omrthread_t:0x000000A8B62C3758, java/lang/Thread:0x00000008432D4140, state:B, prio=5 """
|
85
|
+
match = re.search("(java/lang/Thread:)(0x[0-9a-fA-F]+)", line)
|
86
|
+
address = ""
|
87
|
+
if match: # native threads don't have an address
|
88
|
+
address = match.group(2)
|
89
|
+
if self.javacore:
|
90
|
+
address = self.javacore.encode(address)
|
91
|
+
return address
|
92
|
+
|
79
93
|
def get_thread_hash(self):
|
80
94
|
if self.thread:
|
81
95
|
return self.thread.get_hash()
|
@@ -198,18 +212,6 @@ class ThreadSnapshot:
|
|
198
212
|
file_name = ""
|
199
213
|
if self.file:
|
200
214
|
file_name = self.javacore.filename.split(os.sep)[-1].strip()
|
201
|
-
# thread name
|
202
|
-
thread_name_node = doc.createElement("thread_name")
|
203
|
-
thread_name_node.appendChild(doc.createTextNode(self.name))
|
204
|
-
thread_snapshot_node.appendChild(thread_name_node)
|
205
|
-
# thread id
|
206
|
-
thread_name_node = doc.createElement("thread_id")
|
207
|
-
thread_name_node.appendChild(doc.createTextNode(str(self.get_thread_id())))
|
208
|
-
thread_snapshot_node.appendChild(thread_name_node)
|
209
|
-
# thread hash
|
210
|
-
thread_hash_node = doc.createElement("thread_hash")
|
211
|
-
thread_hash_node.appendChild(doc.createTextNode(str(self.get_thread_hash())))
|
212
|
-
thread_snapshot_node.appendChild(thread_hash_node)
|
213
215
|
# CPU usage
|
214
216
|
cpu_usage_node = doc.createElement("cpu_usage")
|
215
217
|
cpu_usage_node.appendChild(doc.createTextNode(str(self.get_cpu_usage_inc())))
|
{javacore_analyser-2.2.0.dev98.dist-info → javacore_analyser-2.2.0.dev113.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: javacore_analyser
|
3
|
-
Version: 2.2.0.
|
3
|
+
Version: 2.2.0.dev113
|
4
4
|
Summary: The tool to review IBM Javacore files
|
5
5
|
Project-URL: Homepage, https://github.com/IBM/javacore-analyser
|
6
6
|
Project-URL: Issues, https://github.com/IBM/javacore-analyser/issues
|
@@ -4,7 +4,7 @@ javacore_analyser/abstract_snapshot_collection.py,sha256=jGfd2XgujurRlKgEtlJjqNJ
|
|
4
4
|
javacore_analyser/code_snapshot_collection.py,sha256=6_C5myag5ocjOTwXVDbBamN6Lf1szgS3ylSHEEjUdVg,2655
|
5
5
|
javacore_analyser/constants.py,sha256=iGYAznPK8AySq6uqk-cpCU8Dbjbq6PrCh6q2mF8oeu8,1003
|
6
6
|
javacore_analyser/har_file.py,sha256=grXpfIyPek9xQ5jp3_AYOB5JDELd17o4O4rYELxWO7w,2131
|
7
|
-
javacore_analyser/java_thread.py,sha256=
|
7
|
+
javacore_analyser/java_thread.py,sha256=0Qh857o0M05sO_WRkNM5DFtBK03HytUwdMp7Ha1WXGI,4916
|
8
8
|
javacore_analyser/javacore.py,sha256=_2abTyvXEaZ6Tx8r9d3NEzRCIBcf4Is8lSjpKyPu-R8,6884
|
9
9
|
javacore_analyser/javacore_analyser_batch.py,sha256=D9H6ct_PBAXR_PvTqGtKw_FIx9Q9KuJSFBeEZ2FIkbo,7607
|
10
10
|
javacore_analyser/javacore_analyser_web.py,sha256=o-Spq119Wi7w4pvBa7M7ZrxiZnzKmWqDhCdGtEReQAU,5951
|
@@ -15,7 +15,7 @@ javacore_analyser/snapshot_collection_collection.py,sha256=1PV1TX4QQk01dAbX-k-kT
|
|
15
15
|
javacore_analyser/stack_trace.py,sha256=8sb8z4ac_L0yyxqJX1ukrTZRyngkHcA3zkXyqxG5ygA,1664
|
16
16
|
javacore_analyser/stack_trace_element.py,sha256=pZPrK1ACBUDE7YsVOFhTfewXequ1m5P-B0N-9RuhkWo,1143
|
17
17
|
javacore_analyser/stack_trace_kind.py,sha256=lOdfb_F3XrwDLciPk_ZgM_fmMn5JoXsIUjr7pjvmU4M,157
|
18
|
-
javacore_analyser/thread_snapshot.py,sha256=
|
18
|
+
javacore_analyser/thread_snapshot.py,sha256=yp7uJwF5adMN2UAhOn-lLtSP2X3j8utUfafjyKu8r4E,13252
|
19
19
|
javacore_analyser/tips.py,sha256=EhwLUAha0FvFJtO5kmvba9a1nKXGdqNHFa2jFbHZr4U,8655
|
20
20
|
javacore_analyser/verbose_gc.py,sha256=FdSzj9bB9GrJVM8qzkvjNm0LsJZRvKWpd2oMQ8G8eEE,6373
|
21
21
|
javacore_analyser/data/expand.js,sha256=KwqvNUoO7yMDeQKcnLDywfMdR3Zsjan5L8QoPsQQLGo,956
|
@@ -35,14 +35,14 @@ javacore_analyser/data/jquery/theme.blue.css,sha256=cPcj8KaUj_zNy_xtDfrodSLue94n
|
|
35
35
|
javacore_analyser/data/jquery/theme.default.min.css,sha256=5sgExNTnkN8NcApKIU73_aqgZmqq_zJp9-9zXf9aSEw,4502
|
36
36
|
javacore_analyser/data/jquery/wait2scripts.js,sha256=jORUs9xgz_o-VnRm0RxjKlraZOleQrPp5DmTyrMBwrM,8577
|
37
37
|
javacore_analyser/data/xml/index.xml,sha256=9VH2rmri3FQpXcW39kbyi2dON94C5XTiaQn0ioExCe8,282
|
38
|
-
javacore_analyser/data/xml/report.xsl,sha256=
|
38
|
+
javacore_analyser/data/xml/report.xsl,sha256=rsY9faRC1LwhD8O-kRAuIsGh13jIXyxEJXZAzv0zskw,59099
|
39
39
|
javacore_analyser/data/xml/javacores/javacore.xml,sha256=6dG89Whx1_kpEYVS_F6Upa2XuXnXorlQATFc8kD5Mfc,280
|
40
40
|
javacore_analyser/data/xml/javacores/javacore.xsl,sha256=5cnIp08Q9FccljHH8duoJQYofyW8lwUCGtpdzz5Y0Y8,11644
|
41
41
|
javacore_analyser/data/xml/threads/thread.xml,sha256=6dG89Whx1_kpEYVS_F6Upa2XuXnXorlQATFc8kD5Mfc,280
|
42
|
-
javacore_analyser/data/xml/threads/thread.xsl,sha256=
|
42
|
+
javacore_analyser/data/xml/threads/thread.xsl,sha256=1tg5tImtr1gyZ8Q61tqIukNtm1fQ6R8YoKC3EgIjLRA,14084
|
43
43
|
javacore_analyser/templates/index.html,sha256=aEuyry-HZ9HlQNwfbugugvqbSxwlo7LrQnrDmqO34YE,1682
|
44
|
-
javacore_analyser-2.2.0.
|
45
|
-
javacore_analyser-2.2.0.
|
46
|
-
javacore_analyser-2.2.0.
|
47
|
-
javacore_analyser-2.2.0.
|
48
|
-
javacore_analyser-2.2.0.
|
44
|
+
javacore_analyser-2.2.0.dev113.dist-info/METADATA,sha256=AQEsOdkjJ678NhW-unH73UvbslZz6A-cOsD0iC6Jnvg,22215
|
45
|
+
javacore_analyser-2.2.0.dev113.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
46
|
+
javacore_analyser-2.2.0.dev113.dist-info/entry_points.txt,sha256=W3S799zI58g5-jWMsC3wY9xksz21LPEMYOILv8sayfM,160
|
47
|
+
javacore_analyser-2.2.0.dev113.dist-info/licenses/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
|
48
|
+
javacore_analyser-2.2.0.dev113.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|