Skip to content

JXInsight/OpenCore 6.4.EA.4 Released

In the fourth early access build of JXInsight/OpenCore 6.4 “ACE” we have enhanced both the rvalve and tvalve adaptive control metering extensions with a delay (in ms) property to allow the system to warmup before the valve intervenes in the execution of the software. A similar property has also been added to the QoS resource valves which now also have the ability to weight reservation throughput by the priority level of the QoS service making the reservation request as described in Prioritizing Application Performance Using QoS & Adaptive Control Valves.

Another nice new feature in this build is the ability to add a QoS resource reserve to a QoS service fronting a shared QoS resource (pool) thereby reducing the amount of times the QoS service needs to contend with other services in reserving capacity. The amount of capacity held in the reserve and not returned to the pool can be controlled by lower and upper bound properties.

Here is an example of a reserve applied to the code listed in in Prioritizing Application Performance Using QoS & Adaptive Control Valves.

j.s.p.qos.enabled=true
j.s.p.qos.resources=q
j.s.p.qos.resource.q.capacity=10

j.s.p.qos.services=v,g
j.s.p.qos.service.v.name.groups=Worker.vip
j.s.p.qos.service.v.timeout=1000
j.s.p.qos.service.v.resource.q.reserve.enabled=true
j.s.p.qos.service.v.resource.q.reserve.lower=4

j.s.p.qos.service.g.name.groups=Worker.guest
j.s.p.qos.service.g.timeout=1000

The result (switch in work ratio) is pretty impressive when compared with the results for a similar capacity configuration without the reserve enabled.

vip=314,716
guest=164,807

Important Customer Notice
We have also improved the performance overhead of the “out-of-the-box” experience of the metering engine by default disabling the metering (statistical) collection at probe aggregate levels (packages, classes) in addition we have switched to using System.nanoTime() on all platforms as the basis for the clock.time meter over the JNI version registered by our native agent library. If you wish to restore to the previous behavior you can use the following system properties.

jxinsight.server.probes.aggregates.enabled=true
jxinsight.server.probes.meter.clock.time.nativeagent.enabled=true

or more concisely

j.s.p.aggregates.enabled=true
j.s.p.meter.clock.time.nativeagent.enabled=true