Hi, good point @ several applications.
But how do we access it from out of the AspectJ context? The ServletContext might not be initialized at the point the WicketMetric aspects are used. So it will be hard to remove the statics / Application.get(String) Have a look where getRegistry() and get..Settings() are used. kind regards Tobias > Am 27.03.2016 um 13:12 schrieb Martin Grigorov <[email protected]>: > > 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 >>
