What creates overhead
The main sources of SDK overhead are:- capturing request and response context
- reading request or response bodies
- serializing telemetry
- redacting sensitive fields
- writing to the local telemetry queue
- batching and sending telemetry to Foveus
- retrying failed sends
- correlating logs with executions
Balanced profile is a good starting point.
Default behavior
A minimal setup is enough for local development or private beta validation.Capture profiles
UseCaptureProfile to choose a capture strategy.
| Profile | Use for | Behavior |
|---|---|---|
Balanced | Most services | Captures useful execution evidence with bounded context, redaction, batching, and sampling. |
Debug | Local troubleshooting | Captures more context and emits more SDK diagnostics. |
HighThroughput | Busy services | Reduces capture detail and favors lower overhead. |
Balanced profile
UseBalanced for most production services.
Debug profile
UseDebug when you are troubleshooting locally or investigating a specific service behavior.
High-throughput profile
UseHighThroughput for services where lower overhead matters more than detailed context.
Sampling
UseContextSamplingRate to control how often successful context snapshots are captured.
0.01 means 1%.
Sampling is useful because successful traffic can be high-volume. You can capture enough successful context for debugging patterns without storing every successful payload.
Failures should still preserve enough evidence to investigate, depending on your SDK and capture settings.
Request and response body capture
Request and response body capture are useful for debugging. They also create overhead because the SDK needs to read, sanitize, truncate, and serialize context. For most production services, keep body capture enabled only with safety controls:Body size limits
UseMaxBodyCaptureSizeBytes to prevent large payloads from creating excessive overhead.
Path exclusions
Exclude noisy or low-value endpoints.Batching
The SDK batches telemetry before sending it to Foveus. Batching reduces network overhead.Queue limits
The SDK uses an in-memory queue before telemetry is sent. UseMaxQueueSize to prevent memory pressure during spikes.
Retries and timeouts
The SDK retries failed sends with backoff.Metrics pre-aggregation
For high-volume services, metrics pre-aggregation can reduce telemetry volume.Recommended setups
Normal production API
High-volume API
Provider-heavy service
Use this when you need to inspect third-party or downstream responses.Tuning checklist
Start withBalanced.
Then adjust:
- Exclude noisy paths.
- Add redacted fields.
- Lower
ContextSamplingRatefor high-volume services. - Reduce body capture for sensitive or very large endpoints.
- Increase batching for throughput.
- Enable
HighThroughputfor very busy services.
Troubleshooting
Foveus appears to send too much telemetry
Use:ExcludedPathPrefixesExcludedExactPaths- lower
ContextSamplingRate CaptureProfile: "HighThroughput"- lower body capture settings
Context search is missing response values
Check that:CaptureResponseBodiesis enabled- the response value is scalar
- the response body is within
MaxBodyCaptureSizeBytes - the path is not excluded
- redaction did not mask the value
- sampling did not skip the context snapshot
SDK logs are too noisy
Disable debug logging.Your service is high traffic
UseHighThroughput, exclude noisy paths, reduce sampling, and keep body capture limited to the endpoints where it is useful.
Next steps
- Review all options: FoveusOptions
- Configure redaction: Redaction
- Learn about context search: Execution Context Search
- Review data retention: Data safety and retention