play-plugins icon indicating copy to clipboard operation
play-plugins copied to clipboard

Upgrade statsd to Play 2.4

Open nemoo opened this issue 9 years ago • 6 comments

Is there a timeline for the upgrade of statsd to Play 2.4.0?

nemoo avatar Jun 04 '15 22:06 nemoo

No, not really. I'm way too busy to do it myself.

jroper avatar Jun 15 '15 05:06 jroper

The filter seems to work with 2.4 (without using GlobalSettings) if you do this:

class Filters @Inject() (stats: play.modules.statsd.api.StatsdFilter) extends HttpFilters { val filters = Seq(stats) }

(point play.http.filters to this class if it's not in your root package.)

tunesmith avatar Mar 12 '16 04:03 tunesmith

What would it require to update this for Play 2.4.x at this point? If it compiles, it works, right?

Its been over a year now. This repo doesn't seem to be very popular. I myself am after the statsd plugin. It is just for convenience, but it would save me from bolting in a copy-pasta version.

lautjy avatar Sep 12 '16 08:09 lautjy

I think the reason those integration tests don't pass is because of the changes from Play 2.2 to 2.3 .

Apparently, "dependsOn" is intended to work so that if A dependsOn B, then B is available in the classpath for A, but not vice-versa.

But before Play 2.3, it also worked the other way, which is why the project could see routes in the sample project.

As it is now, sample really does "dependsOn" root, because it needs to see the Statsd code - but nothing can see those routes.

I'm not sure it's really possible to have a subproject of this structure, where the subproject is integration tests with an Application and routes. I was only able to get most of the integration tests passing by putting them into an entirely new project.

Two of them still don't pass though - the ones that are designed to fail from the Application throwing RuntimeExceptions. I think the filter isn't properly recording all the timing data in those cases, so this is arguably a bug.

lavrov's commit to his fork looks like it works on 2.4. Although updating to 2.5 looks like a whole other project, due to how Play 2.5 streams data and responses. How else are people integrating statsd into their play projects these days?

tunesmith avatar Jun 09 '17 09:06 tunesmith

@tunesmith have you figured out a good way to get this plugin on more recent builds?

hmdavis avatar Nov 28 '17 15:11 hmdavis

As information the Routes object that the StatsdFilter is dependent on is deprecated in Play 2.4

@deprecated("Use play.api.routing.Router instead", "2.4.0")

It's gone away in 2.5.

phillip-peach avatar Jan 10 '18 17:01 phillip-peach