1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-03-18 00:19:49 +01:00

feat: add logging for lifecycle prom metrics (#8341)

This commit is contained in:
Jaanus Sellin 2024-10-02 15:49:15 +03:00 committed by GitHub
parent 6aef7ba84c
commit 9a64dfbfbe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 1 deletions

View File

@ -132,8 +132,17 @@ export class FeatureLifecycleService {
} }
private recordStagesEntered(newlyEnteredStages: NewStage[]) { private recordStagesEntered(newlyEnteredStages: NewStage[]) {
if (this.flagResolver.isEnabled('trackLifecycleMetrics')) {
this.logger.info(
'recordStagesEntered parameter',
newlyEnteredStages,
);
}
newlyEnteredStages.forEach(({ stage, feature }) => { newlyEnteredStages.forEach(({ stage, feature }) => {
this.eventBus.emit(STAGE_ENTERED, { stage, feature }); this.eventBus.emit(STAGE_ENTERED, { stage, feature });
if (this.flagResolver.isEnabled('trackLifecycleMetrics')) {
this.logger.info('STAGE_ENTERED emitted', { stage, feature });
}
}); });
} }

View File

@ -453,6 +453,9 @@ export default class MetricsMonitor {
eventBus.on( eventBus.on(
events.STAGE_ENTERED, events.STAGE_ENTERED,
(entered: { stage: string; feature: string }) => { (entered: { stage: string; feature: string }) => {
if (flagResolver.isEnabled('trackLifecycleMetrics')) {
logger.info('STAGE_ENTERED listened', entered);
}
featureLifecycleStageEnteredCounter.increment({ featureLifecycleStageEnteredCounter.increment({
stage: entered.stage, stage: entered.stage,
}); });

View File

@ -59,7 +59,8 @@ export type IFlagKey =
| 'onboardingUI' | 'onboardingUI'
| 'projectRoleAssignment' | 'projectRoleAssignment'
| 'eventTimeline' | 'eventTimeline'
| 'personalDashboardUI'; | 'personalDashboardUI'
| 'trackLifecycleMetrics';
export type IFlags = Partial<{ [key in IFlagKey]: boolean | Variant }>; export type IFlags = Partial<{ [key in IFlagKey]: boolean | Variant }>;
@ -292,6 +293,10 @@ const flags: IFlags = {
process.env.UNLEASH_EXPERIMENTAL_PERSONAL_DASHBOARD_UI, process.env.UNLEASH_EXPERIMENTAL_PERSONAL_DASHBOARD_UI,
false, false,
), ),
trackLifecycleMetrics: parseEnvVarBoolean(
process.env.UNLEASH_EXPERIMENTAL_TRACK_LIFECYCLE_METRICS,
false,
),
}; };
export const defaultExperimentalOptions: IExperimentalOptions = { export const defaultExperimentalOptions: IExperimentalOptions = {