Comments (1)
Hello @samueleperricone indeed the StoragePerformancePreset
and PerformancePresetOverride
protocols are responsible for determining limits and timings in SDK core that impact batching and upload system. These values are managed internally and differ between products (Logs, Trace, RUM, Session Replay). The way we manage these values internally is however quite complex. It depends on anticipated usage of each product, the average size of its events, expected frequency of events and required rate for sending network requests to achieve reliable data transmission.
That said, we are skeptical about exposing these interfaces in public configuration, because SDK users do not have enough detail on each product requirements. Accepting arbitrary configurations will lead to misconfiguration problems and some SDK instances will no longer work efficiently, causing delays in digesting and uploading all data on time.
Instead, the SDK offers 3 different APIs for configuring its performance using following options:
- batchSize:
.small
,.medium
,.large
- uploadFrequency:
.rare
,.average
,.frequent
batchProcessingLevel
- added recently in #1531 to configure how many network requests the SDK can perform in each upload.
@samueleperricone it might be best to know what problem you try to solve exactly and if above options will work for you 🙂.
Because this issue is about exposing these interfaces, I'm going to close it as this isn't something we consider in our backlog. Feel free to provide more context.
from dd-sdk-ios.
Related Issues (20)
- Adding request-based tags to url session spans HOT 4
- VisionOS Support HOT 8
- [Missing Properties] Privacy Manifest, unable to generate privacy report HOT 1
- Getting Failed to build `Logger` error even though the implementation looks correct HOT 4
- No Batches are uploaded when using SDK version 2.7.0 HOT 7
- [Crash] closure #1 in closure #1 in UIApplicationSwizzler.SendEvent.swizzle() HOT 3
- Metrics SDK - How to send measures and counters using the iOS SDK? HOT 1
- Privacy manifest causing collisions through CocoaPods HOT 1
- Background sessions are reported at SwiftUI project HOT 6
- Mobile Session Replay: "Session replay not available" HOT 3
- `RUM.ResourceAttributesProvider` not providing `data` information in URLSession tracking HOT 3
- Regular Logs not flushable HOT 2
- Crash on widget extension HOT 13
- Provide a boolean flag in configuration that enables batch upload even in low power mode HOT 4
- Missing crashes when tracking consent is pending HOT 6
- Can we use Head-based sampling on iOS? HOT 3
- iOS Kotlin Multiplatform hang after crash when using DatadogCrashReporting as a result of PLCrashReporter HOT 1
- If consent is not granted, I can't send any traces, even those without any user information. HOT 4
- Unable to use swift-api-digester when Datadog is a dependency HOT 4
- crash in KronosNTPPacket.prepareToSend(transmitTime:) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dd-sdk-ios.