Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
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
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" }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit - Can we use the full commit SHA here - would keep this consistent and easier to audit later.


azure_core = {version = "0.35.0", default-features = false }
azure_identity = {version = "0.35.0", default-features = false }
Expand Down Expand Up @@ -302,6 +303,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
Comment thread
utpilla marked this conversation as resolved.
Outdated
#
# 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
11 changes: 5 additions & 6 deletions rust/otap-dataflow/crates/contrib-nodes/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,11 @@ reqwest = { workspace = true, optional = true, features = ["rustls-no-provider"]
sysinfo = { workspace = true, optional = true }
urlencoding = { workspace = true, optional = true }

[target.'cfg(target_os = "linux")'.dependencies]
# TODO: Remove this pinned git dependency once one-collect is upstream in the
# normal dependency graph and no longer needs to be pulled directly here. The
# pinned commit is from 2026-04-10.
one_collect = { git = "https://github.com/microsoft/one-collect.git", rev = "9292caacaddf9ff9e4fbdf77bc62b5ec25494c84", features = ["scripting"], optional = true }
tracepoint_decode = { workspace = true, optional = true }
[target.'cfg(windows)'.dependencies]
one_collect = { workspace = true, optional = true }

[features]
etw-receiver = ["dep:one_collect"]

[features]
contrib-receivers = [
Comment thread
swashtek marked this conversation as resolved.
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 @@ -11,3 +11,6 @@ pub mod receivers;

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

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