Skip to content
Open
3 changes: 3 additions & 0 deletions rust/otap-dataflow/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ xxhash-rust = { version = "0.8", features = ["xxh3"] }
zip = "=8.6.0"
byte-unit = { version = "5.2.0", features = ["serde"] }
cpu-time = "1.0.0"
one_collect = { git = "https://github.com/microsoft/one-collect.git", rev = "cfe3f78" }

azure_core = {version = "0.35.0", default-features = false }
azure_identity = {version = "0.35.0", default-features = false }
Expand Down Expand Up @@ -295,6 +296,8 @@ contrib-processors = ["otap-df-contrib-nodes/contrib-processors"]
condense-attributes-processor = ["otap-df-contrib-nodes/condense-attributes-processor"]
recordset-kql-processor = ["otap-df-contrib-nodes/recordset-kql-processor"]
resource-validator-processor = ["otap-df-contrib-nodes/resource-validator-processor"]
# Contrib receivers (opt-in) - Windows-only
etw-receiver = ["otap-df-contrib-nodes/etw-receiver"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
Expand Down
38 changes: 38 additions & 0 deletions rust/otap-dataflow/configs/etw-console.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# ETW → Console pipeline
#
# Subscribes to Windows ETW providers and prints events to the console.
#
# Usage (run as Administrator for ETW access):
# cargo run -- -c configs/etw-console.yaml
#
# The receiver captures raw ETW events from the configured providers
# and emits summary as an internal log/event. Full Arrow encoding is a TODO.


version: otel_dataflow/v1
engine: { }
policies:
resources:
core_allocation:
type: core_count
count: 4
groups:
default:
pipelines:
main:
nodes:
etw:
type: receiver:etw
config:
session_name: "OtelArrowETW"
providers:
# Microsoft-Windows-Kernel-Process
- guid: "22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716"
level: information
console:
type: exporter:console
config: {}

connections:
- from: etw
to: console
4 changes: 4 additions & 0 deletions rust/otap-dataflow/crates/contrib-nodes/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ reqwest = { workspace = true, optional = true, features = ["rustls-no-provider"]
sysinfo = { workspace = true, optional = true }
urlencoding = { workspace = true, optional = true }

[target.'cfg(windows)'.dependencies]
one_collect = { workspace = true, optional = true }

[features]
etw-receiver = ["dep:one_collect"]
contrib-exporters = [
"geneva-exporter",
"azure-monitor-exporter",
Expand Down
3 changes: 3 additions & 0 deletions rust/otap-dataflow/crates/contrib-nodes/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ pub mod exporters;

/// Processor implementations for contrib nodes.
pub mod processors;

/// Receiver implementations for contrib nodes.
pub mod receivers;
Loading