Tracing Limits

The Lumigo tracers for Lambda and the Lumigo OpenTelemetry distros have limit mechanisms in place to make sure the affect on runtime is minimal.

Lambda tracers

Span field size

Every field in every span (e.g., Event body, Event headers) is limited to 10KB. When a field exceeds this limit, its data is truncated.

Data size to send

For every Lambda invocation, the amount of data sent to Lumigo is limited to 500KB, or 1000KB if an error is detected in the invocation. If this limit is exceeded, the tracer omits some of the data it has collected, starting with data inside spans, and if the limit is still exceeded, it also omits whole spans (including span metadata).

This limit can be changed by contacting the Lumigo via the support channels.

Collected data size

This limit exists only for the Node tracer

For every Lambda invocation, the amount of data collected by the tracer is limited to 10137600 bytes (~10MB) and can be changed by setting the LUMIGO_STORED_SPANS_MAX_SIZE_BYTES environment variable. This limit protects against taking too much of the Lambda's memory.

This limit is different from "max data size to send" in that "max collected data size" is calculated while collecting data, and "max data size to send" is calculated before sending the data to Lumigo.

Added latency

This limit exists only for the Node tracer

To ensure that the overhead added to the function's run time by the tracer is minimal, the tracer will stop collecting data after 750 ms of added latency. Note that in most cases, the latency added by the tracer is negligible and this limit isn't reached.

This limit can be changed by setting the environment variable LUMIGO_TRACER_TIMEOUT to the desired value (in milliseconds).

OpenTelemetry distros

Max span field size

Every field in every span (e.g., Request body, Request headers) is limited to 2KB. When a field exceeds this limit, its data is truncated.