]
Michal Babacek closed MODCLUSTER-151.
-------------------------------------
Closing. Clean-up.
At least one of the following applies:
* the issue has been thoroughly tested as a part of one of the current releases
or
* it hasn't occurred in ~2 years
or
* it's utterly harmless
Modify jbossweb metrics to use service provider spi, instead of jmx
-------------------------------------------------------------------
Key: MODCLUSTER-151
URL:
https://issues.jboss.org/browse/MODCLUSTER-151
Project: mod_cluster
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 1.1.0.CR1, 1.1.3.Final
Reporter: Paul Ferraro
Assignee: Paul Ferraro
Fix For: 1.2.0.Beta1
Original Estimate: 2 days
Remaining Estimate: 2 days
Currently, the jbossweb load metrics (i.e. ActiveSessionsLoadMetric,
BusyConnectorsLoadMetric, RequestCountLoadMetric, ReceiveTrafficLoadMetric,
SendTrafficLoadMetric) use jmx to generate their load values.
This is potentially fragile.
Instead, these load metrics should use org.jboss.mod_cluster.Engine as a load context.
This raises the issue of load value scope. Currently, load is scoped to a server.
Really, this should be scoped to an engine. While server:engine is usually a 1:1
relationship, this is technically a 1:N relationship.
Suggested API change:
{code}
class LoadMetricSource<C extends LoadContext>
{
C createContext(Engine engine);
}
{code}
Where there exists:
{code}
class EngineLoadMetricSource<EngineLoadContext>
{
public EngineLoadContext createContext(Engine engine)
{
return new EngineLoadContext(engine);
}
}
class EngineLoadContext implements LoadContext
{
private final Engine engine;
public EngineLoadContext(Engine engine)
{
this.engine = engine;
}
public Engine getEngine()
{
return this.engine;
}
public void close()
{
// Nothing to close
}
}
{code}
The various jbossweb load metrics would use this source.