<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 7, 2014 at 8:25 AM, Sebastien Blanc <span dir="ltr"><<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Sounds good ! <div>Some comments inline<br>
<div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Mon, Apr 7, 2014 at 7:17 AM, Matthias Wessendorf <span dir="ltr"><<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Hello,<br></div><div><br></div><div>for a first round of collection some more data around the usage of the push server (aka analytics/metrics), I'd propose we keep it very simple.</div>
<div><br></div>
<div>Overall, I see one major area of interest:</div><div>*metrics around push messages being sent:<br></div><div>- time of sending (using timezone of the server?)</div><div>- group of receivers (e.g. everyone or the provided cirterias(e.g. alias, categories,...))</div>
<div>- payload (the entire payload, including custom keys - not only alert, sound, badge etc)</div></div></blockquote></div><div>+ Response / Status of the submitted message I suppose (response status to the "sender" and info it's has been dispatched to the 3rd Push network) ? </div>
<div>It would also be nice to see who has initiated the send request : cURL, backend app or Compose Message Page ? Not sure how to do this but could be useful IMO. </div><div class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div><br></div><div><br></div><div>This is a nice feature, and would enrich the UPS.</div></div></blockquote><div><br></div></div><div>For sure. But how will someone access these metrics ? Is the plan to have some kind of metric/usage page (with charts etc ...) on the console and/or just raw data in the form of json/xml/txt ? </div>
</div></div></div></div></blockquote><div><br></div><div>Console, via REST endpoint. See this epic:</div><div><a href="https://issues.jboss.org/browse/AGPUSH-116">https://issues.jboss.org/browse/AGPUSH-116</a><br></div><div>
<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra">
<div class="gmail_quote"><div class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div><br></div><div>
However, I can see also some interest around device specific metrics:</div><div><br></div><div>Today we obivously store all the registered devices, but we also remove them from the database table if needed (to not send messages to phones that would no longer receive them anyways).</div>
<div><br></div><div>Something that would be interesting as well, might be the following data:</div><div>- how often was an app has reached the push server (note: every time the app starts, the metadata of the server is being updated (see [2])</div>
<div>- number of device-tokens / registrationIDs that have been removed, when receiving errors from Apple/Google (see [3] or [4])</div><div>- number of devices, that were activly removed using our APIs (supported only on Android/SimplePush due to Apple policy, see [5])</div>
</div></blockquote></div><div>Yes, that is a tricky one even going beyond the scope of metrics. For instance with Android there is no way to unregister when you desinstall the app. </div></div></div></div></div></blockquote>
<div><br></div><div>well, we have ways to capture that as well (see [4]).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="">
<div dir="ltr">
<div><br></div><div><br></div><div>While the initial focus should be around the message related metrics, capturing some device data is nice too.</div><div><br></div><div><br></div><div>Any thoughts ? </div><div><br></div>
<div>-Matthias</div><div><br></div><div><br></div><div>PS: Oh, for the longer run(...), I'd also like to see metrics like "was mobile app opened due to a push notification". BUT that also requires some more work/reseach on the client Push SDKs. But seriously, this is not a priority for the next few months! </div>
<div><br></div><div><br></div><div><br></div><div><br></div><div>[1] <a href="https://issues.jboss.org/browse/AGPUSH-116" target="_blank">https://issues.jboss.org/browse/AGPUSH-116</a></div><div>[2] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L98-L112" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L98-L112</a></div>
<div>[3] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L87-L94" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L87-L94</a></div>
<div>[4] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/GCMPushNotificationSender.java#L93-L94" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/GCMPushNotificationSender.java#L93-L94</a></div>
<div>[5] <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L117-L119" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L117-L119</a></div>
<span><font color="#888888">
<div><br></div><div><br></div>-- <br>Matthias Wessendorf <br><br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</font></span></div>
<br></div>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Matthias Wessendorf <br>
<br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div></div>