Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / metrics / constants.ts
blobc302bd88d87c6d071f6bed8503ea8bee5ebb70b0
1 /**
2  * Number of metrics to batch into a single request
3  * We can technically go up to 1000 on the BE side
4  */
5 export const METRICS_BATCH_SIZE = 100;
7 /**
8  * Time in seconds between metrics requests
9  * Current configuration in the BE is set to maximum 120 requests every 600 seconds
10  * If frequency is exactly 5 seconds and we continuously add metrics for 10 minutes, we will actually send 121 requests in 600 seconds and the client will face 429s
11  * Hence the + 1 added to the interval
12  * With this additional second, even if we continuously add metrics for 10 minutes, we will at maximum send 101 requests in 600 seconds and the client will not be banned
13  */
14 export const METRICS_REQUEST_FREQUENCY_SECONDS = 5 + 1;
16 /**
17  * Maximum number of failed batch attempts before killing the service
18  */
19 export const METRICS_MAX_JAIL = 3;
21 /**
22  * Maximum number of times an API call
23  * will be retried before abandoning the request
24  */
25 export const METRICS_MAX_ATTEMPTS = 10;
27 /**
28  * Time in seconds between retries if `retry-after` response header is empty
29  */
30 export const METRICS_DEFAULT_RETRY_SECONDS = 5;
32 /**
33  * Time in seconds before a request timeouts
34  */
35 export const METRICS_REQUEST_TIMEOUT_SECONDS = 15;