Comments (5)
You can do: manually flushing -> save spans to be report to static/Arc -> report the spans in a async context
from minitrace-rust.
You can wrap an async function in the sync report
function, by simply discarding the Future
or storing the Future
in a static mutex.
from minitrace-rust.
You can wrap an async function in the sync
report
function, by simply discarding theFuture
or storing theFuture
in a static mutex.
Yeah, but in this case, an async
reporter might even be more useful 🤔 I can hook that into the wait_until
(https://developers.cloudflare.com/workers/runtime-apis/handlers/fetch/#contextwaituntil) and just await
it there without blocking anything.
I can understand the reason for a simple, sync report
in minitrace
, but in this specific case it feels like a lot of workarounds are needed.
Doing async (runtime) -> sync (Reporter) -> async (actual reporting, HTTP call) feels like a workaround, that can be simplified if report
function was async 🤔
from minitrace-rust.
You can do: manually flushing -> save spans to be report to static/Arc -> report the spans in a async context
That's a great idea! I will give it a try :)
from minitrace-rust.
Ok, I managed to make it work!
So basically I created a new special struct that implements Reporter. The report
function only collects the span in memory, and I added an async
function to do the actual reporting. I can now connect that to the rest of the setup we have.
Thank you for the help @andylokandy , I really appreciate it!
from minitrace-rust.
Related Issues (20)
- Request: panic instead of noop HOT 2
- Automatically create a root span if none is present. HOT 1
- is it possible to create multiple instances of the collector? HOT 10
- WASM (`wasm32-unknown-unknown`) support? HOT 12
- `minitrace-opentelemetry` doesn't work with `opentelemetry_zipkin` exporter HOT 3
- Feature request: Span property on #[trace] macro HOT 6
- Feature request: allow to use minitrace without global collector
- Panic on wasm: time not implemented on this platform HOT 5
- `Reporter::report` should be `async fn`? 🤔 HOT 4
- RFC: tokio-tracing compatible layer HOT 6
- Profile-Guided Optimization (PGO) benchmark results
- `LocalSpan::enter_with_parent` missing? HOT 9
- `futures::Stream` and `futures::Sink` instrumentation HOT 7
- Add span tags dynamically
- [BUG] LocalSpan is broken in quick functions HOT 4
- loose strict dependency version for `opentelemetry` HOT 1
- Making `futures` an optional dependency HOT 1
- Why Reporter::report gets passed a reference instead of a Vec of owned objects? HOT 1
- Check synchronization when using rtrb::Consumer::is_abandoned() HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minitrace-rust.