Skip to content

Commit 2b97347

Browse files
author
arthosofteq
authored
Merge pull request #2443 from RedisInsight/be/bugfix/RI-4832-redundant-telemetry-event
fix feature recalculation telemetry event trigger
2 parents e9471f6 + d8463c3 commit 2b97347

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

redisinsight/api/src/modules/feature/feature.service.ts

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { FeatureFlagProvider } from 'src/modules/feature/providers/feature-flag/
77
import { EventEmitter2, OnEvent } from '@nestjs/event-emitter';
88
import { FeatureAnalytics } from 'src/modules/feature/feature.analytics';
99
import { knownFeatures } from 'src/modules/feature/constants/known-features';
10+
import { Feature } from 'src/modules/feature/model/feature';
1011

1112
@Injectable()
1213
export class FeatureService {
@@ -38,7 +39,7 @@ export class FeatureService {
3839
/**
3940
* Returns list of features flags
4041
*/
41-
async list() {
42+
async list(): Promise<{ features: Record<string, Feature> }> {
4243
this.logger.log('Getting features list');
4344

4445
const features = {};
@@ -68,14 +69,6 @@ export class FeatureService {
6869
}
6970
});
7071

71-
try {
72-
this.analytics.sendFeatureFlagRecalculated({
73-
configVersion: (await this.featuresConfigRepository.getOrCreate())?.data?.version,
74-
features,
75-
});
76-
} catch (e) {
77-
// ignore telemetry error
78-
}
7972
return { features };
8073
}
8174

@@ -118,7 +111,17 @@ export class FeatureService {
118111
`Features flags recalculated. Updated: ${actions.toUpsert.length} deleted: ${actions.toDelete.length}`,
119112
);
120113

121-
this.eventEmitter.emit(FeatureServerEvents.FeaturesRecalculated, await this.list());
114+
const list = await this.list();
115+
this.eventEmitter.emit(FeatureServerEvents.FeaturesRecalculated, list);
116+
117+
try {
118+
this.analytics.sendFeatureFlagRecalculated({
119+
configVersion: (await this.featuresConfigRepository.getOrCreate())?.data?.version,
120+
features: list.features,
121+
});
122+
} catch (e) {
123+
// ignore telemetry error
124+
}
122125
} catch (e) {
123126
this.logger.error('Unable to recalculate features flags', e);
124127
}

0 commit comments

Comments
 (0)