Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
7d91076
save
jmacd Jan 5, 2026
51e6559
save with view
jmacd Jan 6, 2026
00cdb25
emulate stateful encoder
jmacd Jan 6, 2026
0aaad0b
typo
jmacd Jan 6, 2026
d8c7ac2
benchmarrked
jmacd Jan 6, 2026
0c44470
compact
jmacd Jan 6, 2026
58e988b
compact bench
jmacd Jan 6, 2026
52a9610
workr out
jmacd Jan 7, 2026
7cb9db8
builds
jmacd Jan 7, 2026
b374a47
crates/engine/src/pipeline_metrics.rs
jmacd Jan 7, 2026
cd80b0e
option
jmacd Jan 7, 2026
c7a7d0b
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 7, 2026
ce6a95b
remove dead code
jmacd Jan 7, 2026
165c940
rename
jmacd Jan 7, 2026
686cd9e
remove dead
jmacd Jan 7, 2026
21961df
cleanup
jmacd Jan 7, 2026
8f8595c
refactor bench
jmacd Jan 7, 2026
f9a65a5
use proto encoder macro
jmacd Jan 7, 2026
b95aea2
ftb
jmacd Jan 7, 2026
82f5cbe
nicer
jmacd Jan 7, 2026
cd4baee
use view
jmacd Jan 7, 2026
f8f0eb7
ansi cleanup
jmacd Jan 7, 2026
92a9337
handy
jmacd Jan 7, 2026
d80edc6
nice
jmacd Jan 7, 2026
4e4b37f
refactor a test
jmacd Jan 7, 2026
657524d
ansi cleanup
jmacd Jan 7, 2026
cbb1000
fmt
jmacd Jan 7, 2026
2f02db6
new config
jmacd Jan 7, 2026
ba09b56
clippyu
jmacd Jan 7, 2026
c172e5d
comment
jmacd Jan 7, 2026
60fea89
comments
jmacd Jan 7, 2026
b9e8958
cleanup docs
jmacd Jan 7, 2026
a6b6f46
lint
jmacd Jan 7, 2026
983518f
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 7, 2026
241158e
fix win test
jmacd Jan 7, 2026
93c118e
RawLoggingLayer
jmacd Jan 7, 2026
e235e85
use module basename
jmacd Jan 7, 2026
54d6bf4
ws
jmacd Jan 7, 2026
e1e52c8
write to console on global subscriber error
jmacd Jan 7, 2026
7a1baed
store &Metadata, make accessors
jmacd Jan 8, 2026
9e86542
TODO about truncation
jmacd Jan 8, 2026
f277f09
cpyright
jmacd Jan 8, 2026
1eba8f2
v1 is a thread local layer
jmacd Jan 8, 2026
af37863
v2 adds config
jmacd Jan 9, 2026
16fe056
v3 is mvp
jmacd Jan 9, 2026
f25ed91
move docs
jmacd Jan 9, 2026
476303b
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 9, 2026
58af27d
hand
jmacd Jan 9, 2026
cbf9f26
wip
jmacd Jan 9, 2026
53b1cc4
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 9, 2026
d031e42
undoc
jmacd Jan 9, 2026
d6b6610
comment
jmacd Jan 9, 2026
dd8ed6e
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 9, 2026
33ad2dc
typo
jmacd Jan 9, 2026
faa45be
strip
jmacd Jan 10, 2026
d1b26ad
nope
jmacd Jan 10, 2026
ecaf623
bare
jmacd Jan 10, 2026
20a7831
wip
jmacd Jan 10, 2026
a0563a6
Merge branch 'jmacd/experiment_threaded_effect_logger' of github.com:…
jmacd Jan 10, 2026
ec57fb0
save
jmacd Jan 10, 2026
33a699a
handwork
jmacd Jan 11, 2026
7de5313
scoped thread buffer
jmacd Jan 11, 2026
cca289b
add details
jmacd Jan 11, 2026
9a760eb
engine config
jmacd Jan 12, 2026
bcfe275
output mode
jmacd Jan 12, 2026
0e15ab8
ITR
jmacd Jan 12, 2026
a3cf629
closer
jmacd Jan 12, 2026
70c42dc
serde
jmacd Jan 12, 2026
4f8851a
wip
jmacd Jan 12, 2026
c0023dc
providers
jmacd Jan 12, 2026
11f64d0
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 12, 2026
f24f3e9
remove clippy::print_stderr exceptions
jmacd Jan 12, 2026
7bc5932
post-crash
jmacd Jan 13, 2026
93ef680
wip
jmacd Jan 13, 2026
4521ae7
real otel
jmacd Jan 13, 2026
31dbd95
revert debug_proc b/c tests
jmacd Jan 13, 2026
97c7ae0
move raw_error
jmacd Jan 13, 2026
7d4672b
works
jmacd Jan 13, 2026
e3d99fe
remove thread-local
jmacd Jan 13, 2026
766aa9f
rename opentelemetry_client -> telemetry_settings
jmacd Jan 13, 2026
a760279
rename TelemetrySettings
jmacd Jan 13, 2026
a6e680d
wip
jmacd Jan 13, 2026
5819b3a
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 13, 2026
c1d751c
ex
jmacd Jan 13, 2026
c14ddfe
->telemetry runtime
jmacd Jan 13, 2026
f87d005
dry provider setup
jmacd Jan 14, 2026
946f55a
wip
jmacd Jan 14, 2026
32a62c4
huge
jmacd Jan 14, 2026
7748e72
raw log safety
jmacd Jan 14, 2026
4c4b4bf
ok save
jmacd Jan 14, 2026
c4a7e8a
space
jmacd Jan 14, 2026
1feacae
resource
jmacd Jan 14, 2026
63b9edc
simpler
jmacd Jan 14, 2026
e794c79
remove lots
jmacd Jan 15, 2026
fac9460
hand
jmacd Jan 15, 2026
6515c93
encode logsdata
jmacd Jan 15, 2026
44bbfd5
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 15, 2026
cbda0ef
minor
jmacd Jan 15, 2026
daa127c
placehold; otap bug logs with raw
jmacd Jan 15, 2026
aa50128
Merge branch 'main' of github.com:open-telemetry/otel-arrow into jmac…
jmacd Jan 15, 2026
86dfc31
test config
jmacd Jan 15, 2026
db8de3e
simplify
jmacd Jan 15, 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
4 changes: 4 additions & 0 deletions rust/otap-dataflow/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ path = "src/main.rs"
otap-df-config.workspace = true
otap-df-controller.workspace = true
otap-df-otap.workspace = true
otap-df-telemetry.workspace = true
thiserror.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
quiver = { workspace = true, optional = true }
serde_json.workspace = true
clap.workspace = true
Expand Down Expand Up @@ -147,6 +150,7 @@ sysinfo = "0.37"
tempfile = "3"
thiserror = "2.0.17"
tracing = { version = ">=0.1.40", default-features = false }
tracing-core = { version = ">=0.1.32", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false }
tokio = { version = "1.48.0", features = ["rt", "time", "net", "io-util", "sync", "macros", "rt-multi-thread", "fs", "io-std", "process"] }
tokio-stream = "0.1.17"
Expand Down
9 changes: 9 additions & 0 deletions rust/otap-dataflow/configs/fake-batch-debug-noop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,12 @@ nodes:
kind: exporter
plugin_urn: "urn:otel:noop:exporter"
config:

service:
telemetry:
Copy link
Contributor

Choose a reason for hiding this comment

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

This is more for the existing SDK configuration, in alignment with the otel collector style.
I would configure it in /telemetry/logs instead if required.

logs:
level: "debug"
providers:
global: immediate
engine: immediate
output: direct
Comment on lines +60 to +62
Copy link
Contributor

Choose a reason for hiding this comment

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

What does this mean?

79 changes: 79 additions & 0 deletions rust/otap-dataflow/configs/internal-telemetry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
settings:
default_pipeline_ctrl_msg_channel_size: 100
default_node_ctrl_msg_channel_size: 100
default_pdata_channel_size: 100

nodes:
receiver:
kind: receiver
plugin_urn: "urn:otel:otap:fake_data_generator:receiver"
out_ports:
out_port:
destinations:
- debug
dispatch_strategy: round_robin
config:
traffic_config:
max_signal_count: 100000
max_batch_size: 1000
signals_per_second: 1000
log_weight: 100
registry_path: https://github.com/open-telemetry/semantic-conventions.git[model]
debug:
kind: processor
plugin_urn: "urn:otel:debug:processor"
out_ports:
out_port:
destinations:
- noop
dispatch_strategy: round_robin
config:
verbosity: basic
noop:
kind: exporter
plugin_urn: "urn:otel:noop:exporter"
config: {}

# Internal telemetry pipeline - separate from main pipeline
# Uses hardcoded settings: single thread, no admin server
internal:
Copy link
Contributor

@andborja andborja Jan 15, 2026

Choose a reason for hiding this comment

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

Suggestion: We can make it multi-graph with the same effort and risk.
Something like:

graphs: # array of graphs
   - internal: # name of the graph
     # other graph level properties, including the logger type
     nodes: # copied from the original graph structure
       telemetry:  # same block that is configured here
        ...

We can keep the existing configuration of single graph as is. This would be more an extension of the configuration.

telemetry:
kind: receiver
plugin_urn: "urn:otel:internal:otlp:receiver"
out_ports:
out_port:
destinations:
- batch
dispatch_strategy: round_robin
config: {}
batch:
kind: processor
plugin_urn: "urn:otel:batch:processor"
out_ports:
out_port:
destinations:
- console
dispatch_strategy: round_robin
config:
otap:
min_size: 1000
sizer: items
flush_timeout: 3s
format: preserve
console:
kind: exporter
plugin_urn: "urn:otel:console:exporter"
config: {}

service:
telemetry:
logs:
level: "debug"
providers:
global: immediate
engine: immediate
internal: raw # Avoid feedback in internal pipeline
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be configured at the "internal" block, not really here

output: internal
resource:
service.id: 1234
service.name: test
28 changes: 28 additions & 0 deletions rust/otap-dataflow/crates/config/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,34 @@ pub enum Error {
/// The id of the pipeline that was duplicated.
pipeline_id: PipelineId,
},

/// A receiver in the internal telemetry pipeline has an invalid plugin URN.
/// Only Internal Telemetry Receivers (ITR) are allowed in the internal pipeline.
#[error(
"Invalid receiver in internal pipeline: node `{node_id}` has plugin_urn `{plugin_urn}`, \
but only Internal Telemetry Receivers are allowed\nContext: {context}"
)]
#[diagnostic(code(data_plane::invalid_internal_receiver), url(docsrs))]
InvalidInternalReceiver {
/// The context in which the error occurred.
context: Context,
/// The node id of the invalid receiver.
node_id: NodeId,
/// The plugin URN of the invalid receiver.
plugin_urn: String,
},

/// The internal telemetry pipeline is required but not configured.
#[error(
"Internal telemetry pipeline required but not configured. \
When output mode is 'internal', the `internal` section must be present \
with at least one Internal Telemetry Receiver.\nContext: {context}"
)]
#[diagnostic(code(data_plane::missing_internal_pipeline), url(docsrs))]
MissingInternalPipeline {
/// The context in which the error occurred.
context: Context,
},
}

/// Information that all errors provide to help identify
Expand Down
Loading
Loading