Documentation ¶
Overview ¶
Package diag provides a set of network throttling filters for diagnostic purpose.
The filters enable adding artificial latency, limiting bandwidth or chunking responses with custom chunk size and delay. This throttling can be applied to the proxy responses or to the outgoing backend requests. An additional filter, randomContent, can be used to generate response with random text of specified length.
Index ¶
Constants ¶
const ( RandomName = "randomContent" LatencyName = "latency" ChunksName = "chunks" BandwidthName = "bandwidth" BackendLatencyName = "backendLatency" BackendBandwidthName = "backendBandwidth" BackendChunksName = "backendChunks" )
Variables ¶
This section is empty.
Functions ¶
func NewBackendBandwidth ¶
NewBackendBandwidth is the equivalent of NewBandwidth but for outgoing backend requests. Eskip example:
- -> backendBandwidth(30) -> "https://www.example.org";
func NewBackendChunks ¶
NewBackendChunks is the equivalent of NewChunks but for outgoing backend requests. Eskip example:
- -> backendChunks(1024, 120) -> "https://www.example.org";
func NewBackendLatency ¶
NewBackendLatency is the equivalent of NewLatency but for outgoing backend requests. Eskip example:
- -> backendLatency(120) -> "https://www.example.org";
func NewBandwidth ¶
NewBandwidth creates a filter specification whose filter instances can be used to maximize the bandwidth of the responses. It expects the bandwidth in kbyte/sec as an argument.
- -> bandwidth(30) -> "https://www.example.org";
func NewChunks ¶
NewChunks creates a filter specification whose filter instances can be used set artificial delays in between response chunks. It expects the byte length of the chunks and the delay milliseconds.
- -> chunks(1024, "120ms") -> "https://www.example.org";
func NewLatency ¶
NewLatency creates a filter specification whose filter instances can be used to add additional latency to responses. It expects the latency in milliseconds as an argument. It always adds this value in addition to the natural latency, and does not do any adjustments. Eskip example:
- -> latency(120) -> "https://www.example.org";
Types ¶
This section is empty.