You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR adds honeycomb tracing to mutations called from the sync worker. This will be expanded to include more things over time like queries + actions, but mutations were the easiest one to start with. Sampling is off by default, and we can turn this on in staging when it lands.
Current lifecycle of tracing a request:
- a collector is initialized on backend + funrun startup
- when a request comes in decide whether or not to trace the call at the beginning, controlled by a knob (head sampling)
- enter the `run_mutation` loop with the actual span or no-op depending on if we sample this request
- use the `#[minitrace::trace]` macro to trace all relevant functions on this machine
- encode the current trace when we make a request to funrun
- funrun decodes the request and initializes a span with that root as its parent
- the parent is passed into isolate in the request
- isolate initializes its own root
- all this data is then sent to honeycomb and is aggregated there
GitOrigin-RevId: d220f0682b6defc30ee2ef77e16d4d9239ae4f71
0 commit comments