[wildfly-dev] Configuration of statistics gathering

Jesper Pedersen jesper.pedersen at jboss.org
Thu Dec 12 13:03:54 EST 2013


On 12/12/2013 12:38 PM, Brian Stansberry wrote:
> 1) For all resources that currently expose an attribute to
> enable/disable statistics, I'll add an attribute that will be named
> "statistics-enabled". Why that?
>
> a) it's an attribute, so it's name should reflect a state, not an action
> like, for example, "enable-statistics"

Ok with that.

> b) simply using "statistics" is shorter, but in some places that key is
> used as a child type (e.g. statistics=pool) and a resource can't have a
> child type and an attribute with the same name.
>

Yeah, lets not change this.

> 2) For compatibility, the existing attribute will be retained as an
> alias to the new one. I'll add deprecation metadata. I'll also set up
> the appropriate transformation stuff for mixed domain usage.
>

Ok.

> 3) Any new stuff people do (e.g. [1], [2]), please use "statistics-enabled".
>

Agreed.

> 4) My intent is to make the default values for these attributes be
> "false". I won't change any default though unless the relative compoent
> lead has indicated agreement in this thread or elsewhere.
>
> But, if you disagree with "false" as the default, please let's use this
> thread to sort that out, get input from the performance team, etc, so we
> can have at least a clear understanding of why some uses have 'true'.
>

IronJacamar uses statistics internally in order to display run-time 
information of the pools.

IronJacamar 1.1.2+ has a change which will allow to turn-off statistics, 
but that results in nothing is displayed to the users in that case.

If we turn-off statistics by default we will have to be careful on what 
to communicate to the users, since they will expect see basic 
information out of the box. Maybe IronJacamar can display more 
information than the core pool settings, but requires further investigation.

I think in order to turn it off we need proof that there is a huge 
benefit for standard work loads. In the end we are talking about an 
extra section in the guide that explains turning off statistics will 
increase performance. Nothing new there. Or ship a "performance" profile.

Just so we are on the same page, the IronJacamar statistics is done by 2 
x System.currentTimeMillis() + a call to Atomic(Long|Integer|...) - let 
the flame war begin :) As always, patches welcome.

> Jesper, ^^^. ;-)
>

Why do you single me out, dude ;)

>
> That's for WF 8. For the next release I recommend that we also create
> subsystem-level attributes to hold the default value for the several
> cases where this setting is only configurable on a per-deployment level.
> An example would be the jpa subsystem could have a statistics-enabled
> attribute that drives the setting for all persistence units unless the
> PU descriptor overrides or the admin overrides using the existing
> per-deployment attribute. Besides being an aid to usability, having an
> attribute that ends up in the persistent configuration will also help
> deal with issues where, for example, the desired default for WildFly is
> different than the desired default for some future EAP release. The
> standard configs for the EAP release can just use a different value.
>
>

Sounds good, although having it as an option in each deployment 
descriptor for each component type maybe overkill. I think an option in 
wildfly.xml would be enough, and then override through 
statistics-enabled via CLI.

Best regards,
  Jesper



More information about the wildfly-dev mailing list