Page MenuHomePhabricator

PHP statsd client doesn't support tagging metrics
Closed, DeclinedPublic

Description

Our StatsdDataFactory is 3 years old, and in the meantime the statsd protocol has been extended to support tagging, which is now mainstream: (1) (2) I was hoping to use tags in T225602 to tally errors by code, but discovered that the Liuggio library doesn't accept tags.

Event Timeline

Ottomata subscribed.

Removed Analytics tag; we don't maintain any statsd stuff.

ArielGlenn triaged this task as Medium priority.Jun 14 2019, 8:01 AM

To say it out loud, it looks like the liuggio/statsd-php-client is no longer maintained. A question about releases, https://github.com/liuggio/statsd-php-client/issues/55 has been sitting for 8 months. The last commit was in 2016. We could fork it and take over maintenance, or start with a new library. I suggest that we wrap whatever we use with our own interface, so that swapping out libraries is easier in the future. We're currently basing our interface hierarchy directly on the liuggio code.

Alternative PHP statsd clients which already support tagging, starting with this search:

FWIW, WMF is slowly moving away from statsd in favor of Prometheus. I'm not sure what the Mediawiki plan is. @fgiunchedi

FWIW, WMF is slowly moving away from statsd in favor of Prometheus. I'm not sure what the Mediawiki plan is. @fgiunchedi

It looks like the statsd->prometheus adapter will support tags, which is good news and means that we might have a nice workaround for multidimensional stats before the migration to prometheus is complete.

Indeed, there's been a push to move onto Prometheus as the supported platform. We (SRE) haven't done any work towards supporting tags in statsd/graphite though as that platform is supported but considered legacy, IOW I don't know if mediawiki started sending tagged statsd whether it'll work or not. The graphite wmcs stack however is setup the same as production in terms of software components so tagged statsd can be tested there if needed.

Having said that, I know mediawiki in general is in need of a more coherent/structured approach to its metrics, see also comments
on https://gerrit.wikimedia.org/r/c/operations/puppet/+/481110 and related T205870: Fully migrate producers off statsd. Although I don't know if such an effort is being carried explicitly in someone's goals / plans.

I believe with T240685: MediaWiki Prometheus support in mediawiki (i.e. Prometheus / generic tags support) this can be declined (though feel free to reopen!)