+ return mapSeries(strategies, r => {
+ return VideoRedundancyModel.getStats(r.strategy)
+ .then(stats => Object.assign(stats, { strategy: r.strategy, totalSize: r.size }))
+ })
+ }
+
+ private buildAPPerType () {
+ return {
+ Create: 0,
+ Update: 0,
+ Delete: 0,
+ Follow: 0,
+ Accept: 0,
+ Reject: 0,
+ Announce: 0,
+ Undo: 0,
+ Like: 0,
+ Dislike: 0,
+ Flag: 0,
+ View: 0
+ }
+ }
+
+ private buildAPStats () {
+ return {
+ totalActivityPubMessagesProcessed: this.inboxMessages.processed,
+
+ totalActivityPubMessagesSuccesses: this.inboxMessages.successes,
+
+ // Dirty, but simpler and with type checking
+ totalActivityPubCreateMessagesSuccesses: this.inboxMessages.successesPerType.Create,
+ totalActivityPubUpdateMessagesSuccesses: this.inboxMessages.successesPerType.Update,
+ totalActivityPubDeleteMessagesSuccesses: this.inboxMessages.successesPerType.Delete,
+ totalActivityPubFollowMessagesSuccesses: this.inboxMessages.successesPerType.Follow,
+ totalActivityPubAcceptMessagesSuccesses: this.inboxMessages.successesPerType.Accept,
+ totalActivityPubRejectMessagesSuccesses: this.inboxMessages.successesPerType.Reject,
+ totalActivityPubAnnounceMessagesSuccesses: this.inboxMessages.successesPerType.Announce,
+ totalActivityPubUndoMessagesSuccesses: this.inboxMessages.successesPerType.Undo,
+ totalActivityPubLikeMessagesSuccesses: this.inboxMessages.successesPerType.Like,
+ totalActivityPubDislikeMessagesSuccesses: this.inboxMessages.successesPerType.Dislike,
+ totalActivityPubFlagMessagesSuccesses: this.inboxMessages.successesPerType.Flag,
+ totalActivityPubViewMessagesSuccesses: this.inboxMessages.successesPerType.View,
+
+ totalActivityPubCreateMessagesErrors: this.inboxMessages.errorsPerType.Create,
+ totalActivityPubUpdateMessagesErrors: this.inboxMessages.errorsPerType.Update,
+ totalActivityPubDeleteMessagesErrors: this.inboxMessages.errorsPerType.Delete,
+ totalActivityPubFollowMessagesErrors: this.inboxMessages.errorsPerType.Follow,
+ totalActivityPubAcceptMessagesErrors: this.inboxMessages.errorsPerType.Accept,
+ totalActivityPubRejectMessagesErrors: this.inboxMessages.errorsPerType.Reject,
+ totalActivityPubAnnounceMessagesErrors: this.inboxMessages.errorsPerType.Announce,
+ totalActivityPubUndoMessagesErrors: this.inboxMessages.errorsPerType.Undo,
+ totalActivityPubLikeMessagesErrors: this.inboxMessages.errorsPerType.Like,
+ totalActivityPubDislikeMessagesErrors: this.inboxMessages.errorsPerType.Dislike,
+ totalActivityPubFlagMessagesErrors: this.inboxMessages.errorsPerType.Flag,
+ totalActivityPubViewMessagesErrors: this.inboxMessages.errorsPerType.View,
+
+ totalActivityPubMessagesErrors: this.inboxMessages.errors,
+
+ activityPubMessagesProcessedPerSecond: this.buildActivityPubMessagesProcessedPerSecond(),
+ totalActivityPubMessagesWaiting: this.inboxMessages.waiting
+ }