Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ if (
typeof redisClient !== 'undefined' &&
rateLimiter.settings?.trackBucketCapacity === true
) {
startGlobalBucketCapacityLogger(redisClient, 5000);
startGlobalBucketCapacityLogger(redisClient, 60000);
}
4 changes: 3 additions & 1 deletion src/server/lib/rate-limit/logger.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import Redis from 'ioredis';
import { logger } from '@/server/lib/serverSideLogger';
import { LogLevel } from '@/shared/model/Logger';
import { trackMetric } from '../trackMetric';

/**
* Starts a timer to keep track of global bucket capacity
Expand Down Expand Up @@ -39,7 +40,8 @@ const logValues = (keys: string[], values: Array<string | null>) => {
keys.forEach((key, index) => {
const value = values[index];
if (value) {
const tokensLeft = JSON.parse(value)?.tokens;
const tokensLeft: number = JSON.parse(value)?.tokens;
trackMetric('RateLimitBucketCapacity', { bucket: key }, tokensLeft);
logger.log(LogLevel.INFO, `Bucket(${key})`, undefined, {
bucket_capacity: tokensLeft,
});
Expand Down
3 changes: 2 additions & 1 deletion src/server/lib/trackMetric.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ const defaultDimensions = {
export const trackMetric = (
metricName: Metrics,
dimensions?: MetricDimensions,
value: number = 1,
): void => {
if (process.env.RUNNING_IN_PLAYWRIGHT === 'true') {
// return void in playwright
Expand All @@ -49,7 +50,7 @@ export const trackMetric = (
Value,
}),
),
Value: 1,
Value: value,
Unit: 'Count',
},
],
Expand Down
3 changes: 2 additions & 1 deletion src/server/models/Metrics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ type UnconditionalMetrics =
| 'StrongPassword'}`
| `PasscodePasswordNotCompleteRemediation-${'ResetPassword' | 'Register'}-${'STAGED' | 'PROVISIONED'}-${'Start' | 'Complete'}`
| `ExistingUserInCreateAccountFlow`
| `UserFlow-${UserFlow}-${string}`;
| `UserFlow-${UserFlow}-${string}`
| 'RateLimitBucketCapacity';

// Combine all the metrics above together into a type
export type Metrics =
Expand Down
Loading