Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[OPIK-763] Updating Online Scoring into a distributed service using redis. #1083

Merged
merged 12 commits into from
Jan 21, 2025

Conversation

ldaugusto
Copy link
Contributor

@ldaugusto ldaugusto commented Jan 20, 2025

Details

Splitting OnlineScoringEventListener from a local service listening to EventBus local events in two: the first part still uses the local even to fetch for stored rules and run sampling, but it doesn't score them anymore, it enqueues a request on Redis; the second service now keeps listening for this stream, to finally score them.

This way we get resiliance from Redis queues (no data loss in case of a crash, like in memory events) and multiple OPIK instances can share a big traces load, processing them in parallel.

OPIK-765 was solved with a single line around Flux, so no need for a dedicated PR.
This PR also fixes OPIK-800 which was converting any boolean response into a '0' value.

Issues

OPIK-763
OPIK-764
OPIK-765
OPIK-800

Resolves #

Testing

Documentation

@ldaugusto ldaugusto requested a review from a team as a code owner January 20, 2025 14:22
@ldaugusto ldaugusto requested a review from thiagohora January 20, 2025 14:22
@ldaugusto ldaugusto requested a review from thiagohora January 20, 2025 18:47
thiagohora
thiagohora previously approved these changes Jan 21, 2025
@ldaugusto ldaugusto merged commit e31b125 into main Jan 21, 2025
8 checks passed
@ldaugusto ldaugusto deleted the daniel/OPIK-763-onlinescoring-redis-producer branch January 21, 2025 08:27
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants