jmc

Форк
0
Зеркало из https://github.com/openjdk/jmc
277 строк · 13.0 Кб
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
3
<notes>
4
    <component>
5
        <name>General</name>
6
        <note version="9.0">
7
            <title>JMC 9 - New Release!</title>
8
            <description>
9
                This is the latest (2024) major release of JDK Mission Control. JMC 9 requires JDK 17+ to run and introduces 
10
                several new features, enhancements, and bug fixes. This version continues to support connecting to, and parsing 
11
                JFR recordings from, OpenJDK 8u272+ and Oracle JDK 7u40+, and can open and visualize flight recordings from JDK 7 
12
                and 8. JDK Mission Control is available for Windows (x86_64), Mac OS X (ARM and x86_64), and Linux (ARM and x86_64).
13
            </description>
14
            <image>general/jmc.png</image>
15
        </note>
16
		<note version="9.0">
17
			<title>Eclipse 4.30 support</title>
18
			<description>
19
				The Mission Control client is now built to run optimally
20
				on Eclipse 2023-12 and later. To install JDK Mission Control into
21
				Eclipse, go to the update site (Help | Install New Software...). The
22
				URL to the update site will be vendor specific, and some vendors
23
				will instead provide an archive with the update site.
24
			</description>
25
			<image>general/eclipse.png</image>
26
		</note>
27
		<note version="9.0">
28
			<title>Support for Linux/aarch64</title>
29
			<description>
30
				JMC 9 is now built for Linux aarch64.
31
			</description>
32
			<image>general/linuxaarch64.png</image>
33
		</note>
34
		<note version="9.0">
35
			<title>Support for dark mode</title>
36
			<description>
37
				JMC 9 now supports dark mode. Go to Preferences, General | Appearance, and select the Dark theme to enable.
38
			</description>
39
			<image>general/darkmode.png</image>
40
		</note>
41
		<note version="9.0">
42
			<title>Minor bugfixes and improvements</title>
43
			<description>
44
				There are 118 fixes and improvements in this release.
45
				Check out the JMC 9.0 Result Dashboard
46
				(https://bugs.openjdk.org/secure/Dashboard.jspa?selectPageId=21800)
47
				for more information.
48
			</description>
49
			<image>general/issues.png</image>
50
		</note>
51
        <note version="9.0">
52
            <title>Add user configuration for local JVM refresh interval</title>
53
            <description>
54
				Previously the JVM Browser checked every 5000 ms for new JVMs. This can now be configured.
55
            </description>
56
            <image>general/refreshinterval.png</image>
57
        </note>
58
    </component>
59
    <component>
60
        <name>Core</name>
61
        <!-- Core library enhancements for JMC 9 -->
62
        <note version="9.0">
63
            <title>Better JFR parser performance</title>
64
            <description>
65
            	Multiple efforts have been made to reduce allocations in the JMC parser, including:
66
            	reduced allocation of Doubles, reduced allocation rate in ParserStats.
67
            	Also, when duration events aren't ordered by their end time (e.g. events which stack so that the last 
68
            	event finishes first, or file reads with overlaps) `DisjointBuilder.add` can be slow because of 
69
            	the linear search for the lane, and then a linear time reordering. This has been improved with 
70
            	a binary search.
71
            </description>
72
            <image>jfr/jfrperformance.png</image>
73
        </note>        
74
        <note version="9.0">
75
            <title>Support checkpoint event sizes beyond u4 limit</title>
76
            <description>
77
            	The JMC JFR parser now support checkpoint event sizes beyond the u4 limit.
78
            </description>
79
            <image>jfr/checkpointsize.png</image>
80
        </note>        
81
        <note version="9.0">
82
            <title>Move non-Eclipse dependent classes from org.openjdk.jmc.ui.common to org.openjdk.jmc.common</title>
83
            <description>
84
            	There were a number of classes previously in jmc.ui.common that would be a great asset to the core distribution 
85
            	(and the third-party applications that consume jmc-core), and these classes now live in jmc.common. 
86
            	Please see JMC-7308 for further information.
87
            </description>
88
            <image>general/reorganize.png</image>
89
        </note>
90
        <note version="9.0">
91
            <title>Move rjmx bundle from application to core</title>
92
            <description>
93
				The rjmx classes and related services (FlightRecorderService) are now exposed for third-party application usage.
94
				Please see JMC-7069 for further information.
95
            </description>
96
            <image>general/reorganize.png</image>
97
        </note>
98
        <note version="9.0">
99
            <title>Move org.openjdk.jmc.flightrecorder.configuration bundle from application to core</title>
100
            <description>
101
				The org.openjdk.jmc.flightrecorder.configuration bundle contains many classes useful for working with jfr, 
102
				and are now available in core. Please see JMC-7307 for further information.
103
            </description>
104
            <image>general/reorganize.png</image>
105
        </note>
106
    </component>
107
    <component>
108
        <name>Java Flight Recorder (JFR)</name>
109
        <!-- JFR improvements for JMC 9 -->
110
        <note version="9.0">
111
            <title>The Event Browser now supports searching and showing event type ids</title>
112
            <description>
113
               Searching in the search bar now also searches event type IDs, and there is also a
114
               (by default hidden) column that makes it easy to show the event type IDs for the shown events.
115
            </description>
116
            <image>jfr/eventtypeid.png</image>
117
        </note>
118
        <note version="9.0">
119
            <title>Add support for enabling jfr on native images</title>
120
            <description>
121
               Previously JMC was unable to start flightrecorder on a graalvm native image, even if there is 
122
               built-in jfr support. This has now been fixed.
123
            </description>
124
            <image>jfr/native-image-alt.png</image>
125
        </note>
126
        <note version="9.0">
127
            <title>Provide an alternative Java based flamegraph visualization</title>
128
            <description>
129
				The previous flamegraph visualization takes place in an embedded browser component (provided 
130
				by the Eclipse platform), unfortunately this approach has some drawbacks, the first being a bit slow.
131
				This view is now using a Java (Swing) based flamegraph library. Also, the flame graph model creation 
132
				performance have been improved.
133
            </description>
134
            <image>jfr/flamegraph.png</image>
135
        </note>
136
       	<note version="9.0">
137
            <title>Visualization and Rule for FileChannel.force()</title>
138
            <description>
139
            	The File I/O page has been updated to show force related information. There are two new columns added - Force Count and Update Metadata. Both are hidden by default and can be enabled by right clicking the table. 
140
            	The chart will also include a File Force row. There is a preference setting for the associated file force rule, where the peak duration warning limit can be set.
141
            	See JMC PR#533 for more information. 
142
            </description>
143
            <image>jfr/fileforce.png</image>
144
        </note>
145
        <note version="9.0">
146
            <title>Rule that checks on G1 pause time target compliance</title>
147
            <description>
148
            	New rule that looks at the pause time target and compares it to the actual pauses.
149
            </description>
150
            <image>jfr/rule.png</image>
151
        </note>
152
        <note version="9.0">
153
            <title>Rule that looks at finalization statistics</title>
154
            <description>
155
				JDK 18 comes with a FinalizationStatistics event that helps users find where in their application 
156
				finalizers are run. This is important as finalization has been deprecated for removal in a future 
157
				release. For more information about finalization and its flaws, see https://openjdk.java.net/jeps/421.
158
				Even if an application doesn't implement any finalize() methods, it may rely on third-party libraries 
159
				that does. Static analysis of third-party libraries using "jdeprscan --for-removal" can be used to list 
160
				those classes, but it will not tell if they are being used. For example, an application may be missing 
161
				a call to a close() method, so the resource is cleaned up by the finalizer, which is sub-optimal.
162
            </description>
163
            <image>jfr/rule.png</image>
164
        </note>
165
        <note version="9.0">
166
            <title>Rule that detects GC Inverted Parallelism</title>
167
            <description>
168
            	Rule inspired by the "Inverted Parallelism" analysis in Garbagecat. See JMC-8144 for more information.
169
            </description>
170
            <image>jfr/rule.png</image>
171
        </note>
172
        <note version="9.0">
173
            <title>Support for the new JPLIS agent events</title>
174
            <description>
175
            	There is now a new page and rule for loaded JPLIS agents. See JMC-8054 for more information.
176
            </description>
177
            <image>jfr/agent.png</image>
178
        </note>
179
        <note version="9.0">
180
            <title>Twitter plug-in removed</title>
181
            <description>
182
            	Due to changes in APIs and cost of maintenance, the Twitter plug-in has been removed.
183
            </description>
184
            <image>jfr/twitterplugin.png</image>
185
        </note>
186
    </component>
187
    <!-- Add more components as needed -->
188
    <bugfixes>
189
        <!-- Bug fixes in JMC 9 -->
190
        <bugfix>
191
            <area>Agent</area>
192
            <bugid>8045</bugid>
193
            <synopsis>retransformClasses() doesn't re-transform all needed classes</synopsis>
194
            <description>
195
				The retransformClasses() methods in Agent and AgentController use Class.forName() to try to get the 
196
				class objects of classes needed to re-transform. This obviously doesn't work for classes loaded by 
197
				classloaders different from the one which loads the agent. Those classes would be instrumented if 
198
				they were loaded after their event probes were defined the AgentController. But when loaded earlier 
199
				they would not be instrumented. This has been fixed.
200
            </description>
201
        </bugfix>
202
        <bugfix>
203
            <area>Agent</area>
204
            <bugid>8048</bugid>
205
            <synopsis>Agent throws exceptions on missing or empty descriptions</synopsis>
206
            <description>
207
				When the description of an event or value is empty or missing, the agent fails with exceptions.
208
				This has now been fixed.
209
            </description>
210
        </bugfix>
211
        <bugfix>
212
            <area>Console</area>
213
            <bugid>8154</bugid>
214
            <synopsis>Some JMX attributes are missing unit specifications in the Console</synopsis>
215
            <description>
216
            	The missing unit specifications have now been added.
217
            </description>
218
        </bugfix>
219
        <bugfix>
220
            <area>Core</area>
221
            <bugid>8063</bugid>
222
            <synopsis>IMCFrame Type cache not synchronized</synopsis>
223
            <description>
224
                The type cache used in the IMCFrame Type inner class wasn't synchronized and could cause a concurrent 
225
                modification exception during e.g. JFR parsing. This has been fixed.
226
            </description>
227
        </bugfix>
228
        <bugfix>
229
            <area>Core</area>
230
            <bugid>8156</bugid>
231
            <synopsis>JfrRulesReport.printReport does not respect verbosity for text and json</synopsis>
232
            <description>
233
            	The verbosity flag for text and json reports didn't work. This has been fixed.
234
            </description>
235
        </bugfix>
236
        <bugfix>
237
            <area>Core</area>
238
            <bugid>8041</bugid>
239
            <synopsis>JfrRulesReport json reports produce incomplete results</synopsis>
240
            <description>
241
            	While generating JFR Rules Reports in json format, the results were incomplete. The components "message" 
242
            	and "detailedMessage" were not populated. This has been fixed. 
243
            </description>
244
        </bugfix>
245
        <bugfix>
246
            <area>JFR</area>
247
            <bugid>7885</bugid>
248
            <synopsis>Graphical rendering of dependency view fails due to heap memory drain</synopsis>
249
            <description>
250
            	Also JMC-7496. The dependency view drains the heap memory and causes out-of-memory exceptions and performance delays.
251
            	This has been improved.
252
            </description>
253
        </bugfix>
254
    </bugfixes>
255
	<knownissues>
256
		<issue>
257
			<area>JFR</area>
258
			<bugid>7071</bugid>
259
			<synopsis>JMC can't attach to jlinked JVMs</synopsis>
260
			<description>
261
				This one is still under investigation, but it seems JMC
262
				can't attach to certain jlinked images.
263
			</description>
264
		</issue>
265
		<issue>
266
			<area>JFR</area>
267
			<bugid>7003</bugid>
268
			<synopsis>The graph view, heatmap view and dependency view does not work on Windows
269
			</synopsis>
270
			<description>
271
				This is due to a problem with the Windows based browser
272
				component in SWT. We're hoping for a fix in the component for a
273
				future version of the Eclipse platform.
274
			</description>
275
		</issue>
276
	</knownissues>
277
</notes>
278

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.