Francis Bogsanyi
Francis Bogsanyi
@ptolts could you please click the link in https://github.com/open-telemetry/opentelemetry-ruby/pull/1535#issuecomment-1783522860 to authorize the CLA?
I'm not sure what we've covered in the Logs SDK and API implementations. Note that the [Events API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/event-api.md) is still "experimental", so we don't want to merge that into the...
This is exceptionally useful. We added hooks to enable metrics capture in the Ruby SDK a couple of years ago: https://github.com/open-telemetry/opentelemetry-ruby/pull/510. The metrics we defined include: * `otel.otlp_exporter.request_duration` * `otel.otlp_exporter.failure`...
The spec carries the important caveat: > [3]: If no compression value is explicitly specified, SIGs can default to the value they deem most useful among the supported options. We...
This approach requires additional allocations, as @arielvalentin noted. I implemented an alternative with a linked list back in February: https://github.com/open-telemetry/opentelemetry-ruby/pull/1597. I rejected that due to performance concerns, however when I...
An alternative using the existing array code with a Fiber attribute, [like `ActiveSupport::IsolatedExecutionState`](https://github.com/rails/rails/blob/4df235f7c0149ac7be86580d41a74a7785cb9bb9/activesupport/lib/active_support/isolated_execution_state.rb#L7-L8), instead of a Fiber-local variable is slower than the Fiber-local version, but faster than the linked list...
Another option, if we're willing to take a dependency on `concurrent-ruby` is [`Concurrent::FiberLocalVar`](https://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/FiberLocalVar.html). A mutable array version of `Context` using `FiberLocalVar` yields the highest performance of a thread/fiber-safe implementation: ```...
> Another option, if we're willing to take a dependency on concurrent-ruby is [Concurrent::FiberLocalVar](https://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/FiberLocalVar.html). @arielvalentin pointed out that this uses fiber-local variables in its implementation, so it suffers from the...
> For thread and fiber locals, you may prefer to use attributes, these are not going to be copied by the code previously discussed I benchmarked that approach and several...
My position is that UTF-8 conversion should be the responsibility of instrumentation authors - a form of input validation/sanitization when recording attribute values from external sources. This avoids overhead for...