Hi all,
I've been working on and off for a proposal for how to improve, and
simplify, the stats APIs exposed via InkAPI. This is documented in
https://cwiki.apache.org/confluence/display/TS/NewStatsAPI
My proposal is based on "librecords", which would stream line all stats
to use the same stats code internall, both in the core and in plugins.
My patch is mostly functional right now, but once we decide what to do,
I'll address some of the shortcomings of librecords and polish the APIs
and implementation slightly.
My reason for deprecating the old APIs, and making the "V2" APIs compile
time enabled (disabled by default) is to promote and focus on one set of
plugin stats APIs. Long term, I'm hoping the "V2" and "librecords"
plugin APIs will become one, preferably by extending librecords to be on
feature parity with the few additions that "V2" adds (e.g. scale up to
500,000 stats, which might sound crazy but it is a requirement). These
additions are outlined at the end of the document.
Feedback much appreciated. I hope to finish this in the next week, and
assuming there are no objections, land my changes.
Thanks,
-- Leif