Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use FFI for feature parity with C++ implementation #182

Open
fstof opened this issue Aug 14, 2024 · 2 comments
Open

Use FFI for feature parity with C++ implementation #182

fstof opened this issue Aug 14, 2024 · 2 comments

Comments

@fstof
Copy link

fstof commented Aug 14, 2024

Great work on this library so far.
I know implementing Opentelemetry is no small task.

So given the (presumable) long roadmap ahead to get all otel features implemented natively in Dart, would it not be a feasible solution to have FFI dart bindings for the native C++ otel implementation?

Using Opentelemetry on serverside application (Serverpod) should allow us to do this.

Or am I oversimplifying this?

@blakeroberts-wk
Copy link
Contributor

Firstly, I'll admit I'm unfamiliar with FFI bindings.

If the goal is to write dart code, specifically dart code instrumented with otel dart, but have the underlying implementation of the otel dart api call otel C++ bindings, then that seems like a reasonable task. This would be a second otel dart sdk implementation. This seems possible and reasonable but no small task to implement or maintain.

@fstof
Copy link
Author

fstof commented Aug 28, 2024

Yea I'm also not too familiar with FFI.
But looking at the examples from Dart website we would need to create Dart implementations of the public C++ headers.

With the C++ otel implementation being fully featured if these header bindings could be done (agreed, no small task) we could have fully featured otel implementation for dart using native implementation underneath.

Maybe someone with more FFI experience can comment on this

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

No branches or pull requests

2 participants