Skip to content

Conversation

@fabbing
Copy link
Contributor

@fabbing fabbing commented Feb 5, 2026

Summary

This PR bundles multiples changes around check execution:

  • Add a reimplementation of the Go core-agent scheduler
    • The behavior is different in send_to_worker(), we would need sync:mpmc to exactly match the Go one. In the meantime, a pattern similar to what is done in work-stealing queue is used.
    • Need unit tests
  • Add the lib/core-check library
    • Contain an interface for implementing Rust based checks, uncoupled from Saluki internals
    • Allow to also run these checks in the Go core-agent thanks to the Sink trait
    • Will be modified to implemented the Slim Check interface
  • Add the NativeCheck type to run Rust based check, compiled in Saluki
  • Modify the check trait
    • To allow use of async code in run()
    • Use interior mutability to access immutable fields via const reference (plays nicer with the scheduler)
  • Add a reimplementation of the Python http_chunk, not exhaustive
  • Add a feature flags for checks and python-checks
    • Needs to be threaded in the Makefile

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

How did you test this PR?

References

@fabbing fabbing requested review from a team as code owners February 5, 2026 12:51
@fabbing fabbing requested a review from Enzu83 February 5, 2026 12:51
@dd-octo-sts dd-octo-sts bot added area/config Configuration. area/components Sources, transforms, and destinations. source/checks Checks source. labels Feb 5, 2026
Comment on lines 24 to 25
pub add_index: usize,
pub schedule_index: usize,
Copy link
Member

Choose a reason for hiding this comment

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

Why are we doing this weird sharded scheduling bucket logic? If I add a check, having to wait up to interval_secs - 1 for it to start seems... terrible.

Maybe this matches the current Agent behavior, but if so, then I would say it's a poor design that we should not be emulating here short of a very good reason why it's absolutely required.

@fabbing fabbing force-pushed the fabbing/native_checks branch from dd0510b to b300ace Compare February 5, 2026 16:23
@fabbing fabbing force-pushed the fabbing/native_checks branch from 4010d8f to 3894fb0 Compare February 9, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/components Sources, transforms, and destinations. area/config Configuration. source/checks Checks source.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants