Documentation: what is the meaning of the header Fly-Dispatch-Start?


Fly-Dispatch-Start: t=1648762750538600; instance=xxxx

I’m not super great at Rust, but this looks like it’s related to the fly proxy and how it replays/load balances requests amongst VM’s.

I believe (it’s a semi-guess) you see this header (with a timestamp) appended to the response of a request that is being replayed to a different instance from the one that originally received it.

1 Like

Thank you.

I’m looking for a way to calculate the queue time between Fly and my application. Fly’s X-Request-Start seems to include more hops than Heroku’s. For example, queue time is around ~2ms on Heroku and ~100ms on Fly. Do you know at what level X-Request-Start is added?

For future readers: X-Request-Start is added at the edge.

Hi @fideloper-fly, can you share the specification of this header? It will help us a lot.

We are building observation tools to monitor our app on Fly’s infrastructure, and this header will (probably) help us to track the network hops through Fly’s network when using Fly-Retry. I’m mostly interested in tracking spikes, e.g. lots of write requests, primary region is overloaded. So I suppose the router will keep appending new timestamps to Fly-Dispatch-Start until an instance accept the request? just want to make sure we are using the correct regexp to parse this header.