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:
parent
3763e1b24d
commit
71d242a299
@ -48,7 +48,6 @@ export interface IFlags {
|
|||||||
demo?: boolean;
|
demo?: boolean;
|
||||||
groupRootRoles?: boolean;
|
groupRootRoles?: boolean;
|
||||||
googleAuthEnabled?: boolean;
|
googleAuthEnabled?: boolean;
|
||||||
variantMetrics?: boolean;
|
|
||||||
strategyImprovements?: boolean;
|
strategyImprovements?: boolean;
|
||||||
disableBulkToggle?: boolean;
|
disableBulkToggle?: boolean;
|
||||||
segmentContextFieldUsage?: boolean;
|
segmentContextFieldUsage?: boolean;
|
||||||
|
@ -97,7 +97,6 @@ exports[`should create default config 1`] = `
|
|||||||
"segmentContextFieldUsage": false,
|
"segmentContextFieldUsage": false,
|
||||||
"strategyImprovements": false,
|
"strategyImprovements": false,
|
||||||
"strictSchemaValidation": false,
|
"strictSchemaValidation": false,
|
||||||
"variantMetrics": false,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"flagResolver": FlagResolver {
|
"flagResolver": FlagResolver {
|
||||||
@ -132,7 +131,6 @@ exports[`should create default config 1`] = `
|
|||||||
"segmentContextFieldUsage": false,
|
"segmentContextFieldUsage": false,
|
||||||
"strategyImprovements": false,
|
"strategyImprovements": false,
|
||||||
"strictSchemaValidation": false,
|
"strictSchemaValidation": false,
|
||||||
"variantMetrics": false,
|
|
||||||
},
|
},
|
||||||
"externalResolver": {
|
"externalResolver": {
|
||||||
"getVariant": [Function],
|
"getVariant": [Function],
|
||||||
|
@ -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`;
|
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);
|
await this.db.raw(query);
|
||||||
|
|
||||||
if (this.flagResolver.isEnabled('variantMetrics')) {
|
const variantRows = spreadVariants(metrics).map(toVariantRow);
|
||||||
const variantRows = spreadVariants(metrics).map(toVariantRow);
|
if (variantRows.length > 0) {
|
||||||
if (variantRows.length > 0) {
|
const insertVariants = this.db<ClientMetricsEnvVariantTable>(
|
||||||
const insertVariants = this.db<ClientMetricsEnvVariantTable>(
|
TABLE_VARIANTS,
|
||||||
TABLE_VARIANTS,
|
)
|
||||||
)
|
.insert(variantRows)
|
||||||
.insert(variantRows)
|
.toQuery();
|
||||||
.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`;
|
||||||
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);
|
||||||
await this.db.raw(variantsQuery);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,40 +194,24 @@ export class ClientMetricsStoreV2 implements IClientMetricsStoreV2 {
|
|||||||
featureName: string,
|
featureName: string,
|
||||||
hoursBack: number = 24,
|
hoursBack: number = 24,
|
||||||
): Promise<IClientMetricsEnv[]> {
|
): Promise<IClientMetricsEnv[]> {
|
||||||
if (this.flagResolver.isEnabled('variantMetrics')) {
|
const rows = await this.db<ClientMetricsEnvTable>(TABLE)
|
||||||
const rows = await this.db<ClientMetricsEnvTable>(TABLE)
|
.select([`${TABLE}.*`, 'variant', 'count'])
|
||||||
.select([`${TABLE}.*`, 'variant', 'count'])
|
.leftJoin(TABLE_VARIANTS, function () {
|
||||||
.leftJoin(TABLE_VARIANTS, function () {
|
this.on(
|
||||||
this.on(
|
`${TABLE_VARIANTS}.feature_name`,
|
||||||
`${TABLE_VARIANTS}.feature_name`,
|
`${TABLE}.feature_name`,
|
||||||
`${TABLE}.feature_name`,
|
)
|
||||||
)
|
.on(`${TABLE_VARIANTS}.app_name`, `${TABLE}.app_name`)
|
||||||
.on(`${TABLE_VARIANTS}.app_name`, `${TABLE}.app_name`)
|
.on(`${TABLE_VARIANTS}.environment`, `${TABLE}.environment`)
|
||||||
.on(
|
.on(`${TABLE_VARIANTS}.timestamp`, `${TABLE}.timestamp`);
|
||||||
`${TABLE_VARIANTS}.environment`,
|
})
|
||||||
`${TABLE}.environment`,
|
.where(`${TABLE}.feature_name`, featureName)
|
||||||
)
|
.andWhereRaw(
|
||||||
.on(
|
`${TABLE}.timestamp >= NOW() - INTERVAL '${hoursBack} hours'`,
|
||||||
`${TABLE_VARIANTS}.timestamp`,
|
);
|
||||||
`${TABLE}.timestamp`,
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.where(`${TABLE}.feature_name`, featureName)
|
|
||||||
.andWhereRaw(
|
|
||||||
`${TABLE}.timestamp >= NOW() - INTERVAL '${hoursBack} hours'`,
|
|
||||||
);
|
|
||||||
|
|
||||||
const tokens = rows.reduce(variantRowReducer, {});
|
const tokens = rows.reduce(variantRowReducer, {});
|
||||||
return Object.values(tokens);
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async getSeenAppsForFeatureToggle(
|
async getSeenAppsForFeatureToggle(
|
||||||
|
@ -20,7 +20,6 @@ export type IFlagKey =
|
|||||||
| 'demo'
|
| 'demo'
|
||||||
| 'strategyImprovements'
|
| 'strategyImprovements'
|
||||||
| 'googleAuthEnabled'
|
| 'googleAuthEnabled'
|
||||||
| 'variantMetrics'
|
|
||||||
| 'disableBulkToggle'
|
| 'disableBulkToggle'
|
||||||
| 'experimentalExtendedTelemetry'
|
| 'experimentalExtendedTelemetry'
|
||||||
| 'segmentContextFieldUsage'
|
| 'segmentContextFieldUsage'
|
||||||
@ -95,10 +94,6 @@ const flags: IFlags = {
|
|||||||
process.env.GOOGLE_AUTH_ENABLED,
|
process.env.GOOGLE_AUTH_ENABLED,
|
||||||
false,
|
false,
|
||||||
),
|
),
|
||||||
variantMetrics: parseEnvVarBoolean(
|
|
||||||
process.env.UNLEASH_VARIANT_METRICS,
|
|
||||||
false,
|
|
||||||
),
|
|
||||||
experimentalExtendedTelemetry: parseEnvVarBoolean(
|
experimentalExtendedTelemetry: parseEnvVarBoolean(
|
||||||
process.env.UNLEASH_EXPERIMENTAL_EXTENDED_TELEMETRY,
|
process.env.UNLEASH_EXPERIMENTAL_EXTENDED_TELEMETRY,
|
||||||
false,
|
false,
|
||||||
|
@ -37,7 +37,6 @@ process.nextTick(async () => {
|
|||||||
embedProxyFrontend: true,
|
embedProxyFrontend: true,
|
||||||
anonymiseEventLog: false,
|
anonymiseEventLog: false,
|
||||||
responseTimeWithAppNameKillSwitch: false,
|
responseTimeWithAppNameKillSwitch: false,
|
||||||
variantMetrics: true,
|
|
||||||
strategyImprovements: true,
|
strategyImprovements: true,
|
||||||
segmentContextFieldUsage: true,
|
segmentContextFieldUsage: true,
|
||||||
advancedPlayground: true,
|
advancedPlayground: true,
|
||||||
|
@ -18,19 +18,12 @@ const fetchHoursBack = (hoursBack: number, feature: string = 'demo') => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
db = await dbInit('client_metrics_serial', getLogger, {
|
db = await dbInit('client_metrics_serial', getLogger);
|
||||||
experimental: {
|
|
||||||
flags: {
|
|
||||||
variantMetrics: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
app = await setupAppWithCustomConfig(
|
app = await setupAppWithCustomConfig(
|
||||||
db.stores,
|
db.stores,
|
||||||
{
|
{
|
||||||
experimental: {
|
experimental: {
|
||||||
flags: {
|
flags: {
|
||||||
variantMetrics: true,
|
|
||||||
strictSchemaValidation: true,
|
strictSchemaValidation: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user