tree a1ef1868329d0c348e1ac86a85a1617b153edaa9
parent d94bccfdf85143df40fd1845956fa7e6579a009a
author Adrian Cole <adriancole@users.noreply.github.com> 1464745019 +0800
committer Adrian Cole <adriancole@users.noreply.github.com> 1464745019 +0800

Adds advice about bounding spans

Over the last year I've noticed a problem where instrumentors accidentally send too much data.

For example, things bubble up as frame size exceeded (like 64MiB) etc. While a lot of systems can
handle loads, there's often an error when something like this is going on. For example, it might be
someone replicating the entire http message in a trace, or storing all headers, etc.

At the moment, only Finagle's tracer bounds the size of a span before placing it on the transport. For
example, it makes sure a scribe message flushes at 5MiB. I've noticed others mention they alert
when their instrumentation report very large spans.

Getting to transport errors is the worst place to help folks. I figured adding some docs here might
obviate this sort of problem, or at least give folks a good chance to start with better practice.