Skip to content

Commit

Permalink
chore: batch info and error logs for message bundles (farcasterxyz#2127)
Browse files Browse the repository at this point in the history
## Motivation

Describe why this issue should be fixed and link to any relevant design
docs, issues or other relevant items.

## Change Summary

```
{"level":30,"time":1720293146285,"pid":90362,"hostname":"mbp.local","component":"Hub","0":"[event_id:453975843913728|farcaster_ts:110833945|fid:585630|hash:0xef173705c8f9c3843c4da43234e767582085e114|message_type:LINK_ADD|source:gossip]","1":"[event_id:453975843917824|farcaster_ts:110833945|fid:485354|hash:0xefba9d8b3f64469ffa5f3fd8c9907cf4f798d0cb|message_type:LINK_ADD|source:gossip]","2":"[event_id:453975843917825|farcaster_ts:110833945|fid:192373|hash:0x0ae9d1dce72f77f9228c0e39c70d4eac62a7442f|message_type:LINK_ADD|source:gossip]","3":"[event_id:453975843917826|farcaster_ts:110833945|fid:633096|hash:0xef823130e0b0e85821c942f518d5030f413cb1be|message_type:LINK_ADD|source:gossip]","4":"[event_id:453975843917827|farcaster_ts:110833945|fid:746504|hash:0xcc682a388d3ff1fa9f1c488afe34bc1eef5c0f7c|message_type:LINK_ADD|source:gossip]","5":"[event_id:453975843917829|farcaster_ts:110833945|fid:190012|hash:0x300a529843da3add0560c0c8be228b69d2628883|message_type:LINK_ADD|source:gossip]","6":"[event_id:453975843917828|farcaster_ts:110833945|fid:579583|hash:0xbf9ebf245dcf7173e7a3622f0a99f974688c3540|message_type:CAST_REMOVE|source:gossip]","7":"[event_id:453975843917830|farcaster_ts:110833945|fid:711341|hash:0x9ffd88aa81af70d6602f819f7a8b2ad76c17f165|message_type:CAST_ADD|source:gossip]","8":"[event_id:453975843921920|farcaster_ts:110833945|fid:270138|hash:0xd26ff734375c0a6a4804a14f042d06ae3fa0e241|message_type:CAST_ADD|source:gossip]","9":"[event_id:453975843921921|farcaster_ts:110833946|fid:305198|hash:0x50111086f8f27d4a7c080e48f20c287ba71a2dbb|message_type:CAST_ADD|source:gossip]","10":"[event_id:453975843921922|farcaster_ts:110833945|fid:3863|hash:0x60beb24804fe0df885fc251b88ac4f4d7e19e0d3|message_type:CAST_ADD|source:gossip]","11":"[event_id:453975843971072|farcaster_ts:110833945|fid:549607|hash:0xec82139fcad13947ef05c6d04d128897c5eefaf8|message_type:REACTION_ADD|source:gossip]","12":"[event_id:453975843971073|farcaster_ts:110833945|fid:265048|hash:0x2d872242ca0d99b8292e4ff7444440694f0afac9|message_type:REACTION_ADD|source:gossip]","13":"[event_id:453975843975168|farcaster_ts:110833945|fid:563445|hash:0xdedd26fb91e8cea03444386f204dadbf28fbbc20|message_type:REACTION_ADD|source:gossip]","14":"[event_id:453975843975169|farcaster_ts:110833945|fid:522942|hash:0x5ecea1832c45f0dea07a5e7db7ee9ababe065385|message_type:REACTION_ADD|source:gossip]","15":"[event_id:453975843975170|farcaster_ts:110833945|fid:520558|hash:0x987f67b9052d37bda525498d85ab2658e551a6b0|message_type:REACTION_ADD|source:gossip]","16":"[event_id:453975843975171|farcaster_ts:110833946|fid:651987|hash:0xe100174210580b70893107eadd1475e871b0ff27|message_type:REACTION_ADD|source:gossip]","17":"[event_id:453975843975172|farcaster_ts:110833945|fid:511684|hash:0x72561ecda54162bb31b7e234cdee3aafc065a067|message_type:REACTION_ADD|source:gossip]","18":"[event_id:453975843975173|farcaster_ts:110833945|fid:563445|hash:0x174b2b29e616c0dc351169a46d0d1a115ce0fe45|message_type:REACTION_ADD|source:gossip]","19":"[event_id:453975843975174|farcaster_ts:110833945|fid:370971|hash:0x7fbd427e27b8718c700466f437b994c04bd6bcc1|message_type:REACTION_ADD|source:gossip]","20":"[event_id:453975843979264|farcaster_ts:110833945|fid:306729|hash:0x9bca22a42956566cbdb7b2de7471ba91ee4a976d|message_type:REACTION_ADD|source:gossip]","21":"[event_id:453975843979265|farcaster_ts:110833945|fid:521421|hash:0x58855581f5a4a2f1a673af6c235fbb7a039616a3|message_type:REACTION_ADD|source:gossip]","22":"[event_id:453975843979266|farcaster_ts:110833945|fid:509854|hash:0x19f48b1c2113b400e37200be1383a92170b02909|message_type:REACTION_ADD|source:gossip]","23":"[event_id:453975843979267|farcaster_ts:110833945|fid:516301|hash:0xd4c626df0a29c2ea3e71872caa1c0f84dda5b62a|message_type:REACTION_ADD|source:gossip]","24":"[event_id:453975843979268|farcaster_ts:110833945|fid:337423|hash:0x9eb8d64713a79f6ed5983004fcdbb4667bf39a82|message_type:REACTION_ADD|source:gossip]","msg":"successful submit messages"}
```

## Merge Checklist

_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_

- [ ] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [ ] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [ ] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.
- [ ] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)

## Additional Context

If this is a relatively large or complex change, provide more details
here that will help reviewers


<!-- start pr-codex -->

---

## PR-Codex overview
The focus of this PR is to enhance logging in the `Hub` class by
capturing successful and failed message submissions.

### Detailed summary
- Added `errorLogs` and `infoLogs` arrays for storing error and info
logs respectively
- Enhanced logging for successful and failed message submissions with
detailed information
- Added logging for successful and failed message submissions

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->
  • Loading branch information
Wazzymandias authored Jul 6, 2024
1 parent 4055f70 commit 644f81d
Showing 1 changed file with 28 additions and 24 deletions.
52 changes: 28 additions & 24 deletions apps/hubble/src/hubble.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1792,6 +1792,8 @@ export class Hub implements HubInterface {
// Merge the messages
const mergeResults = await this.engine.mergeMessages(dedupedMessages.map((m) => m.message));

const errorLogs: string[] = [];
const infoLogs: string[] = [];
for (const [j, result] of mergeResults.entries()) {
const message = dedupedMessages[j]?.message as Message;
const type = messageTypeToName(message.data?.type);
Expand All @@ -1800,32 +1802,28 @@ export class Hub implements HubInterface {

result.match(
(eventId) => {
if (this.options.logIndividualMessages) {
const logData = {
eventId,
fid: message.data?.fid,
type: type,
submittedMessage: messageToLog(message),
source,
};
const msg = "submitMessage success";

if (source === "sync") {
log.debug(logData, msg);
} else {
log.info(logData, msg);
}
} else {
this.submitMessageLogger.log(source ?? "unknown-source");
}
const parts = [
`event_id:${eventId}`,
`farcaster_ts:${message.data?.timestamp ?? "no-timestamp"}`,
`fid:${message.data?.fid ?? "no-fid"}`,
`hash:${bytesToHexString(message.hash).unwrapOr("no-hash")}`,
`message_type:${type}`,
`source:${source}`,
];
infoLogs.push(`[${parts.join("|")}]`);
},
(e) => {
// message is a reserved key in some logging systems, so we use submittedMessage instead
const logMessage = log.child({
submittedMessage: messageToLog(message),
source,
});
logMessage.warn({ errCode: e.errCode, source }, `submitMessage error: ${e.message}`);
const parts = [
`farcaster_ts:${message.data?.timestamp ?? "no-timestamp"}`,
`fid:${message.data?.fid ?? "no-fid"}`,
`hash:${bytesToHexString(message.hash).unwrapOr("no-hash")}`,
`message_type:${type}`,
`source:${source ?? "unknown-source"}`,
`error:${e.message}`,
`error_code:${e.errCode}`,
];
errorLogs.push(`[${parts.join("|")}]`);

const tags: { [key: string]: string } = {
error_code: e.errCode,
message_type: type,
Expand All @@ -1835,6 +1833,12 @@ export class Hub implements HubInterface {
},
);
}
if (infoLogs.length > 0) {
log.info(infoLogs, "successful submit messages");
}
if (errorLogs.length > 0) {
log.error(errorLogs, "failed submit messages");
}

// Convert the merge results to an Array of HubResults with the key
const finalResults: HubResult<number>[] = [];
Expand Down

0 comments on commit 644f81d

Please sign in to comment.