Skip to content

Commit 589f7c6

Browse files
committed
Merge branch 'master' into graal
2 parents c6910e9 + 7e5e799 commit 589f7c6

File tree

7 files changed

+39
-5
lines changed

7 files changed

+39
-5
lines changed

visualvm/application/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ OpenIDE-Module: org.graalvm.visualvm.application/0
55
OpenIDE-Module-Layer: org/graalvm/visualvm/application/resources/layer.xml
66
OpenIDE-Module-Install: org/graalvm/visualvm/application/Installer.class
77
OpenIDE-Module-Localizing-Bundle: org/graalvm/visualvm/application/resources/Bundle.properties
8-
OpenIDE-Module-Specification-Version: 1.12
8+
OpenIDE-Module-Specification-Version: 1.13
99

visualvm/application/src/org/graalvm/visualvm/application/jvm/Jvm.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,23 @@ public HeapHistogram takeHeapHistogram() {
355355
return null;
356356
}
357357

358+
/**
359+
* Returns the number of processors available to the Java virtual machine.
360+
*
361+
* <p> This value may change during a particular invocation of the virtual
362+
* machine. Applications that are sensitive to the number of available
363+
* processors should therefore occasionally poll this property and adjust
364+
* their resource usage appropriately. </p>
365+
*
366+
* @return the maximum number of processors available to the virtual
367+
* machine; never smaller than one
368+
* @since VisualVM 2.0
369+
*/
370+
public int getAvailableProcessors() {
371+
// default implementation
372+
return 1;
373+
}
374+
358375
/**
359376
* provides access to current values of monitored data in instance of {@link MonitoredData}.
360377
* The methods may return <CODE>null</CODE> if the {@link MonitoredData} are not available

visualvm/applicationviews/nbproject/project.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<compile-dependency/>
1313
<run-dependency>
1414
<release-version>0</release-version>
15-
<specification-version>1.7</specification-version>
15+
<specification-version>1.13</specification-version>
1616
</run-dependency>
1717
</dependency>
1818
<dependency>

visualvm/applicationviews/src/org/graalvm/visualvm/application/views/monitor/ApplicationMonitorModel.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,7 @@ private void initialize(Application application) {
463463
heapName = names[0];
464464
permgenName = names[1];
465465
}
466+
processorsCount = jvm.getAvailableProcessors();
466467
}
467468

468469
memoryMXBean = null;
@@ -471,8 +472,6 @@ private void initialize(Application application) {
471472
JvmMXBeans mxbeans = JvmMXBeansFactory.getJvmMXBeans(jmxModel);
472473
if (mxbeans != null) {
473474
memoryMXBean = mxbeans.getMemoryMXBean();
474-
OperatingSystemMXBean osbean = mxbeans.getOperatingSystemMXBean();
475-
if (osbean != null) processorsCount = osbean.getAvailableProcessors();
476475
}
477476
}
478477

visualvm/jvm/nbproject/project.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<compile-dependency/>
1313
<run-dependency>
1414
<release-version>0</release-version>
15-
<specification-version>1.11</specification-version>
15+
<specification-version>1.13</specification-version>
1616
</run-dependency>
1717
</dependency>
1818
<dependency>

visualvm/jvm/src/org/graalvm/visualvm/jvm/JVMImpl.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,16 @@ public boolean isCollectionTimeSupported() {
492492
return gcList != null && !gcList.isEmpty();
493493
}
494494

495+
@Override
496+
public int getAvailableProcessors() {
497+
int processors = jmxSupport.getAvailableProcessors();
498+
499+
if (processors != -1) {
500+
return processors;
501+
}
502+
return super.getAvailableProcessors();
503+
}
504+
495505
public MonitoredData getMonitoredData() {
496506
if (application.getState() == Stateful.STATE_AVAILABLE) {
497507
if (monitoredVm != null) {

visualvm/jvm/src/org/graalvm/visualvm/jvm/JmxSupport.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,14 @@ long getProcessCPUTime() {
152152
return -1;
153153
}
154154

155+
int getAvailableProcessors() {
156+
JvmMXBeans jmx = getJvmMXBeans();
157+
if (jmx != null) {
158+
return jmx.getOperatingSystemMXBean().getAvailableProcessors();
159+
}
160+
return -1;
161+
}
162+
155163
synchronized JvmMXBeans getJvmMXBeans() {
156164
if (mxbeans == null) {
157165
JmxModel jmxModel = JmxModelFactory.getJmxModelFor(application);

0 commit comments

Comments
 (0)