Update:
I finally got it working for me:
https://github.com/klopfdreh/wicket/commit/dda71c9e5ce5135993df0ea85450d232f14e53c5
@Martin: Would be able to also test it with two or more applications
running on the same server?
In your MetricsServlet.ContextListener you could easily write
WicketMetrics.getMetricsRegistry() - The detection which application
should be shipped is handled if you set up environment entries in each
project. (see commit)
https://dropwizard.github.io/metrics/3.1.0/manual/servlets/#manual-servlets
kind regards
Tobias
Am 27.03.16 um 13:12 schrieb Martin Grigorov:
Hi,
The problem with -Dwicket.metrics.applicationName and the static variables
approach is that both cannot be used if you have two Wicket applications in
the web server.
There is no need to implement a custom Servlet. metrics-servlet already
provides it. We just have to make the MetricsRegistry available in the
ServletContext (attribute
"com.codahale.metrics.servlets.MetricsServlet.registry")
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Sat, Mar 26, 2016 at 2:34 AM, Tobias Soloschenko <
[email protected]> wrote:
Hi,
I would prefer to stay by the Application.get(String) / Application.get()
/ static because it is more Independent and not bound to the webapp
lifecycle. Currently we only rely on the servlet stuff in one metric -
which is at least not required. Even in Wicket itself you should not access
the HttpSession itself.
But this is only my opinion - let us hear other suggestions.
Maybe it is a good idea to implement a defaul servlet which can be
configured and exposes the metrics / registry via http get - which uses the
dropwizard metric servlet.
kind regards
Tobias
Am 25.03.2016 um 22:51 schrieb Martin Grigorov <[email protected]>:
Just moments after sending the mail I recalled that DropWizard provides
something similar:
https://dropwizard.github.io/metrics/3.1.0/manual/servlets/
So there is no need of a custom IResource.
We just have to make it easier to lookup the MetricsRegistry from
MetricsServlet - via the ServletContext.
I wonder whether the ServletContext solution could be used instead of the
Application#get(String) and static variable fallbacks. I.e. somehow to
get
a reference to ServletContext in Session#onInvalidate().
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Fri, Mar 25, 2016 at 10:48 PM, Martin Grigorov <[email protected]>
wrote:
Hi Tobias,
Inspired by
https://github.com/jooby-project/jooby/tree/master/jooby-metrics I
think
it would be nice if wicket-metrics provides a IResource that renders
JSON
with the current metrics per type/aspect.
I.e. if /wicket/metrics/ is requested then it dumps something like:
{
"SomeTimerAspect" : {min:.., max:..., mean:..., ...},
...
"SomeCounterAspect" : {value:..},
...
}
When /wicket/metrics/SomeCounterAspect is requested then :
{"value": ...}
is rendered.
Do you think it is a good idea ?
It will be useful for quicker checks of the current state.
The application will have to mount it explicitly in MyApp#init().
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov