@@ -10,6 +10,9 @@ import { endOfDay, startOfHour } from 'date-fns';
10
10
import { collapseHourlyMetrics , spreadVariants } from './collapseHourlyMetrics' ;
11
11
import type { Db } from '../../../db/db' ;
12
12
import type { IFlagResolver } from '../../../types' ;
13
+ import metricsHelper from '../../../util/metrics-helper' ;
14
+ import { DB_TIME } from '../../../metric-events' ;
15
+ import type EventEmitter from 'events' ;
13
16
14
17
interface ClientMetricsBaseTable {
15
18
feature_name : string ;
@@ -134,10 +137,22 @@ export class ClientMetricsStoreV2 implements IClientMetricsStoreV2 {
134
137
135
138
private flagResolver : IFlagResolver ;
136
139
137
- constructor ( db : Db , getLogger : LogProvider , flagResolver : IFlagResolver ) {
140
+ private metricTimer : Function ;
141
+
142
+ constructor (
143
+ db : Db ,
144
+ eventBus : EventEmitter ,
145
+ getLogger : LogProvider ,
146
+ flagResolver : IFlagResolver ,
147
+ ) {
138
148
this . db = db ;
139
149
this . logger = getLogger ( 'client-metrics-store-v2.js' ) ;
140
150
this . flagResolver = flagResolver ;
151
+ this . metricTimer = ( action ) =>
152
+ metricsHelper . wrapTimer ( eventBus , DB_TIME , {
153
+ store : 'client-metrics' ,
154
+ action,
155
+ } ) ;
141
156
}
142
157
143
158
async get ( key : IClientMetricsEnvKey ) : Promise < IClientMetricsEnv > {
@@ -393,6 +408,7 @@ export class ClientMetricsStoreV2 implements IClientMetricsStoreV2 {
393
408
394
409
// aggregates all hourly metrics from a previous day into daily metrics
395
410
async aggregateDailyMetrics ( ) : Promise < void > {
411
+ const stopTimer = this . metricTimer ( 'aggregateDailyMetrics' ) ;
396
412
const rawQuery : string = `
397
413
INSERT INTO ${ DAILY_TABLE } (feature_name, app_name, environment, date, yes, no)
398
414
SELECT
@@ -435,5 +451,6 @@ export class ClientMetricsStoreV2 implements IClientMetricsStoreV2 {
435
451
// have to be run serially since variants table has FK on yes/no metrics
436
452
await this . db . raw ( rawQuery ) ;
437
453
await this . db . raw ( rawVariantsQuery ) ;
454
+ stopTimer ( ) ;
438
455
}
439
456
}
0 commit comments