Skip to content

Conversation

@avsej
Copy link
Member

@avsej avsej commented Oct 17, 2025

No description provided.

@avsej avsej marked this pull request as draft October 17, 2025 23:25
@avsej avsej force-pushed the observability-bridge branch 4 times, most recently from 765e2cb to fe05347 Compare October 24, 2025 01:08
@avsej avsej force-pushed the observability-bridge branch 2 times, most recently from dda08cd to f453430 Compare October 29, 2025 02:04
@avsej
Copy link
Member Author

avsej commented Oct 29, 2025

@DemetrisChr, @thejcfactor
I think it is mostly ready for review and testing.

  1. Bridge interface sample (for wrappers): --write-telemetry-to-file option of cbc and core/file_signal_sink.cxx/core/file_signal_sink.hxx
./build/tools/cbc get --use-replica=all --write-telemetry-to-file=./telemetry.json foo
  1. OpenTelemetry integration (for public API): --tracing-use-opentelemetry/--tracing-opentelemetry-* and --metrics-use-opentelemetry/--metrics-opentelemetry-*:
./build/tools/cbc get --use-replica=all --tracing-use-opentelemetry --tracing-opentelemetry-sampler=always_on foo
./build/tools/cbc  pillowfight --metrics-use-opentelemetry

if (status == std::cv_status::timeout) {
// Return empty on timeout to enable implicit batching,
// even if the buffer contains data below the threshold
return {};
Copy link
Contributor

Choose a reason for hiding this comment

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

What would the consumers' response be when they receive an std::nullopt result from here? My understanding is that they would call take_buffer in that case. Wouldn't it make sense to return the buffer if that's what they would do? Or do we want to give the consumers more flexibility?

Copy link
Member Author

Choose a reason for hiding this comment

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

The logic might be different on whether the buffer is empty and when condition variable waiting timeout happened. For example, the wrapper might have its own sleep or yield the processor if it is empty but not timeout.

@avsej avsej force-pushed the observability-bridge branch from 7f4206a to 9fc725c Compare October 30, 2025 16:05
@avsej avsej force-pushed the observability-bridge branch from 62677c9 to 4d694ca Compare October 30, 2025 22:59
@avsej avsej force-pushed the observability-bridge branch from 92c293e to a24ebbd Compare October 31, 2025 20:07
@avsej avsej force-pushed the observability-bridge branch from a24ebbd to e7eb5ad Compare October 31, 2025 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants