mirror of
https://github.com/Unleash/unleash.git
synced 2025-08-18 13:48:58 +02:00
fix: decouple metrics from ofter-read table
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
This commit is contained in:
parent
645dc52641
commit
256188e0a8
@ -79,7 +79,6 @@ export default class FeatureToggleClientStore
|
|||||||
'features.impression_data as impression_data',
|
'features.impression_data as impression_data',
|
||||||
'features.created_at as created_at',
|
'features.created_at as created_at',
|
||||||
'fe.variants as variants',
|
'fe.variants as variants',
|
||||||
'fem.last_seen_at as env_last_seen_at',
|
|
||||||
'fe.enabled as enabled',
|
'fe.enabled as enabled',
|
||||||
'fe.environment as environment',
|
'fe.environment as environment',
|
||||||
'fs.id as strategy_id',
|
'fs.id as strategy_id',
|
||||||
@ -95,15 +94,6 @@ export default class FeatureToggleClientStore
|
|||||||
'df.parent as parent',
|
'df.parent as parent',
|
||||||
'df.variants as parent_variants',
|
'df.variants as parent_variants',
|
||||||
'df.enabled as parent_enabled',
|
'df.enabled as parent_enabled',
|
||||||
this.db.raw(`(
|
|
||||||
SELECT
|
|
||||||
CASE
|
|
||||||
WHEN COUNT(*) > 0 THEN MAX(last_seen_at)
|
|
||||||
ELSE NULL
|
|
||||||
END
|
|
||||||
FROM feature_environments_metrics
|
|
||||||
WHERE features.name = feature_environments_metrics.feature_name
|
|
||||||
) as last_seen_at`),
|
|
||||||
] as (string | Raw<any>)[];
|
] as (string | Raw<any>)[];
|
||||||
|
|
||||||
let query = this.db('features')
|
let query = this.db('features')
|
||||||
@ -129,12 +119,6 @@ export default class FeatureToggleClientStore
|
|||||||
'fe.feature_name',
|
'fe.feature_name',
|
||||||
'features.name',
|
'features.name',
|
||||||
)
|
)
|
||||||
.leftJoin('feature_environments_metrics as fem', function () {
|
|
||||||
this.on('fem.feature_name', '=', 'features.name').andOnVal(
|
|
||||||
'fem.environment',
|
|
||||||
environment,
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.leftJoin(
|
.leftJoin(
|
||||||
'feature_strategy_segment as fss',
|
'feature_strategy_segment as fss',
|
||||||
`fss.feature_strategy_id`,
|
`fss.feature_strategy_id`,
|
||||||
@ -144,15 +128,36 @@ export default class FeatureToggleClientStore
|
|||||||
.leftJoin('dependent_features as df', 'df.child', 'features.name');
|
.leftJoin('dependent_features as df', 'df.child', 'features.name');
|
||||||
|
|
||||||
if (isAdmin) {
|
if (isAdmin) {
|
||||||
query = query.leftJoin(
|
query = query
|
||||||
|
.leftJoin(
|
||||||
'feature_tag as ft',
|
'feature_tag as ft',
|
||||||
'ft.feature_name',
|
'ft.feature_name',
|
||||||
'features.name',
|
'features.name',
|
||||||
|
)
|
||||||
|
.leftJoin('feature_environments_metrics', function () {
|
||||||
|
this.on(
|
||||||
|
'feature_environments_metrics.feature_name',
|
||||||
|
'features.name',
|
||||||
|
).andOnVal(
|
||||||
|
'feature_environments_metrics.environment',
|
||||||
|
'=',
|
||||||
|
environment,
|
||||||
);
|
);
|
||||||
|
});
|
||||||
selectColumns = [
|
selectColumns = [
|
||||||
...selectColumns,
|
...selectColumns,
|
||||||
'ft.tag_value as tag_value',
|
'ft.tag_value as tag_value',
|
||||||
'ft.tag_type as tag_type',
|
'ft.tag_type as tag_type',
|
||||||
|
'feature_environments_metrics.last_seen_at as env_last_seen_at',
|
||||||
|
this.db.raw(`(
|
||||||
|
SELECT
|
||||||
|
CASE
|
||||||
|
WHEN COUNT(*) > 0 THEN MAX(last_seen_at)
|
||||||
|
ELSE NULL
|
||||||
|
END
|
||||||
|
FROM feature_environments_metrics
|
||||||
|
WHERE features.name = feature_environments_metrics.feature_name
|
||||||
|
) as last_seen_at`),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (userId) {
|
if (userId) {
|
||||||
@ -231,7 +236,6 @@ export default class FeatureToggleClientStore
|
|||||||
feature.project = r.project;
|
feature.project = r.project;
|
||||||
feature.stale = r.stale;
|
feature.stale = r.stale;
|
||||||
feature.type = r.type;
|
feature.type = r.type;
|
||||||
feature.lastSeenAt = r.last_seen_at;
|
|
||||||
feature.variants = r.variants || [];
|
feature.variants = r.variants || [];
|
||||||
feature.project = r.project;
|
feature.project = r.project;
|
||||||
if (isAdmin) {
|
if (isAdmin) {
|
||||||
|
Loading…
Reference in New Issue
Block a user