mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-05-06 16:06:08 +02:00
feat: begin tracking relay sends/receipts for ap analytics
This commit is contained in:
@@ -57,4 +57,16 @@ Analytics.receiptError = async (body, error) => {
|
||||
analytics.increment(['ap.inErr', `ap.inErr:byHost:${hostname}`]),
|
||||
]);
|
||||
await db.expire(`ap.errors:${id}`, 60 * 60 * 24); // 24 hours
|
||||
};
|
||||
|
||||
Analytics.relays = {};
|
||||
|
||||
Analytics.relays.in = (relay) => {
|
||||
const { hostname } = new URL(relay);
|
||||
analytics.increment(['ap.relayIn', `ap.relayIn:byHost:${hostname}`]);
|
||||
};
|
||||
|
||||
Analytics.relays.out = (relay) => {
|
||||
const { hostname } = new URL(relay);
|
||||
analytics.increment(['ap.relayOut', `ap.relayOut:byHost:${hostname}`]);
|
||||
};
|
||||
@@ -77,4 +77,8 @@ Feps.announce = async function announce(id, activity) {
|
||||
cc,
|
||||
object: activity,
|
||||
});
|
||||
|
||||
relays.forEach((relay) => {
|
||||
activitypub.analytics.relay.out(relay);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -469,6 +469,10 @@ inbox.announce = async (req) => {
|
||||
await topics.crossposts.add(tid, cid, 0);
|
||||
}));
|
||||
}
|
||||
|
||||
if (fromRelay) {
|
||||
activitypub.analytics.relays.in(actor);
|
||||
}
|
||||
}
|
||||
|
||||
if (!cid) { // Topic events from actors followed by users only
|
||||
|
||||
Reference in New Issue
Block a user