1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-31 00:16:47 +01:00

chore: remove variant metrics flag (#4042)

This commit is contained in:
Jaanus Sellin 2023-06-21 15:55:21 +03:00 committed by GitHub
parent 3763e1b24d
commit 71d242a299
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 27 additions and 61 deletions

View File

@ -48,7 +48,6 @@ export interface IFlags {
demo?: boolean;
groupRootRoles?: boolean;
googleAuthEnabled?: boolean;
variantMetrics?: boolean;
strategyImprovements?: boolean;
disableBulkToggle?: boolean;
segmentContextFieldUsage?: boolean;

View File

@ -97,7 +97,6 @@ exports[`should create default config 1`] = `
"segmentContextFieldUsage": false,
"strategyImprovements": false,
"strictSchemaValidation": false,
"variantMetrics": false,
},
},
"flagResolver": FlagResolver {
@ -132,7 +131,6 @@ exports[`should create default config 1`] = `
"segmentContextFieldUsage": false,
"strategyImprovements": false,
"strictSchemaValidation": false,
"variantMetrics": false,
},
"externalResolver": {
"getVariant": [Function],

View File

@ -178,17 +178,15 @@ export class ClientMetricsStoreV2 implements IClientMetricsStoreV2 {
const query = `${insert.toString()} ON CONFLICT (feature_name, app_name, environment, timestamp) DO UPDATE SET "yes" = "client_metrics_env"."yes" + EXCLUDED.yes, "no" = "client_metrics_env"."no" + EXCLUDED.no`;
await this.db.raw(query);
if (this.flagResolver.isEnabled('variantMetrics')) {
const variantRows = spreadVariants(metrics).map(toVariantRow);
if (variantRows.length > 0) {
const insertVariants = this.db<ClientMetricsEnvVariantTable>(
TABLE_VARIANTS,
)
.insert(variantRows)
.toQuery();
const variantsQuery = `${insertVariants.toString()} ON CONFLICT (feature_name, app_name, environment, timestamp, variant) DO UPDATE SET "count" = "client_metrics_env_variants"."count" + EXCLUDED.count`;
await this.db.raw(variantsQuery);
}
const variantRows = spreadVariants(metrics).map(toVariantRow);
if (variantRows.length > 0) {
const insertVariants = this.db<ClientMetricsEnvVariantTable>(
TABLE_VARIANTS,
)
.insert(variantRows)
.toQuery();
const variantsQuery = `${insertVariants.toString()} ON CONFLICT (feature_name, app_name, environment, timestamp, variant) DO UPDATE SET "count" = "client_metrics_env_variants"."count" + EXCLUDED.count`;
await this.db.raw(variantsQuery);
}
}
@ -196,40 +194,24 @@ export class ClientMetricsStoreV2 implements IClientMetricsStoreV2 {
featureName: string,
hoursBack: number = 24,
): Promise<IClientMetricsEnv[]> {
if (this.flagResolver.isEnabled('variantMetrics')) {
const rows = await this.db<ClientMetricsEnvTable>(TABLE)
.select([`${TABLE}.*`, 'variant', 'count'])
.leftJoin(TABLE_VARIANTS, function () {
this.on(
`${TABLE_VARIANTS}.feature_name`,
`${TABLE}.feature_name`,
)
.on(`${TABLE_VARIANTS}.app_name`, `${TABLE}.app_name`)
.on(
`${TABLE_VARIANTS}.environment`,
`${TABLE}.environment`,
)
.on(
`${TABLE_VARIANTS}.timestamp`,
`${TABLE}.timestamp`,
);
})
.where(`${TABLE}.feature_name`, featureName)
.andWhereRaw(
`${TABLE}.timestamp >= NOW() - INTERVAL '${hoursBack} hours'`,
);
const rows = await this.db<ClientMetricsEnvTable>(TABLE)
.select([`${TABLE}.*`, 'variant', 'count'])
.leftJoin(TABLE_VARIANTS, function () {
this.on(
`${TABLE_VARIANTS}.feature_name`,
`${TABLE}.feature_name`,
)
.on(`${TABLE_VARIANTS}.app_name`, `${TABLE}.app_name`)
.on(`${TABLE_VARIANTS}.environment`, `${TABLE}.environment`)
.on(`${TABLE_VARIANTS}.timestamp`, `${TABLE}.timestamp`);
})
.where(`${TABLE}.feature_name`, featureName)
.andWhereRaw(
`${TABLE}.timestamp >= NOW() - INTERVAL '${hoursBack} hours'`,
);
const tokens = rows.reduce(variantRowReducer, {});
return Object.values(tokens);
} else {
const rows = await this.db<ClientMetricsEnvTable>(TABLE)
.select('*')
.where({ feature_name: featureName })
.andWhereRaw(
`timestamp >= NOW() - INTERVAL '${hoursBack} hours'`,
);
return rows.map(fromRow);
}
const tokens = rows.reduce(variantRowReducer, {});
return Object.values(tokens);
}
async getSeenAppsForFeatureToggle(

View File

@ -20,7 +20,6 @@ export type IFlagKey =
| 'demo'
| 'strategyImprovements'
| 'googleAuthEnabled'
| 'variantMetrics'
| 'disableBulkToggle'
| 'experimentalExtendedTelemetry'
| 'segmentContextFieldUsage'
@ -95,10 +94,6 @@ const flags: IFlags = {
process.env.GOOGLE_AUTH_ENABLED,
false,
),
variantMetrics: parseEnvVarBoolean(
process.env.UNLEASH_VARIANT_METRICS,
false,
),
experimentalExtendedTelemetry: parseEnvVarBoolean(
process.env.UNLEASH_EXPERIMENTAL_EXTENDED_TELEMETRY,
false,

View File

@ -37,7 +37,6 @@ process.nextTick(async () => {
embedProxyFrontend: true,
anonymiseEventLog: false,
responseTimeWithAppNameKillSwitch: false,
variantMetrics: true,
strategyImprovements: true,
segmentContextFieldUsage: true,
advancedPlayground: true,

View File

@ -18,19 +18,12 @@ const fetchHoursBack = (hoursBack: number, feature: string = 'demo') => {
};
beforeAll(async () => {
db = await dbInit('client_metrics_serial', getLogger, {
experimental: {
flags: {
variantMetrics: true,
},
},
});
db = await dbInit('client_metrics_serial', getLogger);
app = await setupAppWithCustomConfig(
db.stores,
{
experimental: {
flags: {
variantMetrics: true,
strictSchemaValidation: true,
},
},