Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
98fc6e5
feat(datadog-ffe): add flagevaluation EVP payload module + Cargo feat…
leoromanovsky Jun 12, 2026
89a2ba7
feat(datadog-sidecar): add FfeFlagEvaluationBatch sidecar action + EV…
leoromanovsky Jun 12, 2026
de8e987
fix(ffe): make flagevaluation batch bincode-safe over the sidecar IPC
leoromanovsky Jun 14, 2026
d02b30a
style(ffe): rustfmt + fix clippy expect-on-Option in enqueue_actions_…
leoromanovsky Jun 15, 2026
22f5642
fix(ffe): align flagevaluation sidecar delivery with worker schema
leoromanovsky Jun 16, 2026
c73a381
chore(ffe): apply flagevaluation rustfmt
leoromanovsky Jun 16, 2026
5e0ebf9
Merge remote-tracking branch 'origin/main' into leo.romanovsky/ffl-24…
leoromanovsky Jun 16, 2026
b576ea7
coalesce flagevaluation batches in sidecar
leoromanovsky Jun 17, 2026
53f81e5
fix(ffe): bound flagevaluation sidecar delivery
leoromanovsky Jun 17, 2026
fdfacd2
Merge remote-tracking branch 'origin/main' into leo.romanovsky/ffl-24…
leoromanovsky Jun 19, 2026
11ca09c
Update flagevaluation EVP endpoint contract
leoromanovsky Jun 19, 2026
3350d4b
Fix flagevaluation flusher clippy handling
leoromanovsky Jun 19, 2026
e16802b
Share FFE EVP proxy transport
leoromanovsky Jun 23, 2026
60fe825
fix(datadog-sidecar): satisfy clippy for EVP constants
leoromanovsky Jun 23, 2026
46734bc
fix(ffe): bound flagevaluation evp payloads
leoromanovsky Jun 23, 2026
2fa796b
fix(sidecar): emit flagevaluation telemetry counters
leoromanovsky Jun 23, 2026
4d38cc5
refactor(sidecar): share EVP proxy constants
leoromanovsky Jun 23, 2026
8dd0418
Use standard queue for FFE flag evaluations
leoromanovsky Jun 25, 2026
47474b0
Move FFE EVP writer logic into datadog-ffe
leoromanovsky Jun 25, 2026
7f642c3
Move FFE flag evaluation sender into datadog-ffe
leoromanovsky Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions datadog-ffe/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ derive_more = { version = "2.0.0", default-features = false, features = ["from",
log = { version = "0.4.21", default-features = false, features = ["kv", "kv_serde"] }
md5 = { version = "0.7.0", default-features = false }
libdd-common = { version = "4.2.0", path = "../libdd-common", default-features = false, features = ["require-regex-full"] }
libdd-capabilities = { path = "../libdd-capabilities", version = "2.0.0", optional = true }
http = { version = "1.1", optional = true }
tokio = { version = "1.49.0", features = ["time"], optional = true }
semver = "1.0"
serde-bool = { version = "0.1.3", default-features = false }
serde_with = { version = "3.11.0", default-features = false, features = ["base64", "hex", "macros"] }
Expand All @@ -30,9 +33,18 @@ libdd-trace-protobuf = { path = "../libdd-trace-protobuf", optional = true }
prost = { version = "0.14.1", optional = true }
pyo3 = { version = "0.28", optional = true, default-features = false, features = ["macros"] }

[dev-dependencies]
# Matches the sidecar's bincode version. Used by the flagevaluation bincode
# round-trip test, which guards against `skip_serializing_if` reintroducing the
# worker→sidecar IPC field-misalignment bug (bincode is non-self-describing).
bincode = { version = "1.3.3" }
httpmock = "0.8.0-alpha.1"
libdd-capabilities-impl = { path = "../libdd-capabilities-impl" }

[features]
default = ["remote-config"]
exposure-events = ["dep:lru"]
evaluation-metrics = ["dep:libdd-trace-protobuf", "dep:prost"]
flagevaluation-evp = ["dep:http", "dep:libdd-capabilities", "dep:tokio"]
pyo3 = ["dep:pyo3"]
remote-config = ["dep:libdd-remote-config"]
6 changes: 5 additions & 1 deletion datadog-ffe/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ mod flag_type;
#[cfg(feature = "remote-config")]
mod remote_config;
pub mod rules_based;
#[cfg(any(feature = "exposure-events", feature = "evaluation-metrics"))]
#[cfg(any(
feature = "exposure-events",
feature = "evaluation-metrics",
feature = "flagevaluation-evp"
))]
pub mod telemetry;

pub use flag_type::{ExpectedFlagType, FlagType};
Loading