Skip to content

Conversation

@saponifi3d
Copy link
Contributor

Description

This PR is accomplishing two goals:

  1. Makes sure we have all the data required to evaluate the tagged_event condition, this uses the workflow engine logger / context, and will log for opt'd in orgs only.
  2. Update the generic logging to include as much info as possible in the log. This meant changing models to snapshots, and lists of models to id lists, and adding a few more data items (the conditions being evaluated).

Hoping that after this, we can at least root cause any issues with the specific problematic condition handler and that we'll have enough evaluation info at the top level, that it will include all the required information for us to determine why an alert did / did not trigger. (eventually, it'd be nice if this could live in something like BigTable or Cassandra so we can query the info, reduce logging costs, and let users see the alert evaluation information if they want)

@saponifi3d saponifi3d requested a review from a team as a code owner November 14, 2025 01:27
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Nov 14, 2025
return match_values(group_values=tag_values, match_value=value, match_type=match)
result = match_values(group_values=tag_values, match_value=value, match_type=match)

logger.debug(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is just incase the top level logs don't show me everything, i want to be able to handle the user case(s) around this specific handler.

@codecov
Copy link

codecov bot commented Nov 14, 2025

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@kcons
Copy link
Member

kcons commented Nov 14, 2025

  • The snapshotting is cool; I think it might be nice to have a ABC with to_snapshot() -> dict[str, Any] just as a way to make the convention explicit: this is a method to produce a loggable, storable, jsonable representation of the current configuration to aid in debugging, not some other notion of snapshots.

@saponifi3d
Copy link
Contributor Author

saponifi3d commented Nov 14, 2025

@kcons 👍 love the idea. since i have typed dicts for all the snapshot stuff, i used a generic instead of dict[str, Any] to have a bit more type safety as well. lemme know what you think!


😭 -- reverted this change because of the collision with ABC + BaseModel. Can reinvestigate later, i think we'll have enough type safety through the classes now and we can push for consistency 🔜

@saponifi3d saponifi3d enabled auto-merge (squash) November 14, 2025 18:20
@saponifi3d saponifi3d merged commit ecebbf6 into master Nov 14, 2025
124 checks passed
@saponifi3d saponifi3d deleted the jcallender/aci/improve-debug-info branch November 14, 2025 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants