[mod_cluster-issues] [JBoss JIRA] Updated: (MODCLUSTER-151) Modify jbossweb metrics to use service provider spi, instead of jmx
Radoslav Husar (JIRA)
jira-events at lists.jboss.org
Mon Sep 19 12:18:26 EDT 2011
[ https://issues.jboss.org/browse/MODCLUSTER-151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Radoslav Husar updated MODCLUSTER-151:
--------------------------------------
Original Estimate: 2 days
Remaining Estimate: 2 days
Issue Type: Bug (was: Feature Request)
Affects Version/s: 1.1.3.Final
Description:
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.
was:
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:
class LoadMetricSource<C extends LoadContext>
{
C createContext(Engine engine);
}
Where there exists:
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
}
}
The various jbossweb load metrics would use this source.
Upgrading as this is a bug in AS7.
> 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
> Affects Versions: 1.1.0.CR1, 1.1.3.Final
> Reporter: Paul Ferraro
> Assignee: Paul Ferraro
> 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.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the mod_cluster-issues
mailing list