Skip to content

Commit 227b7b2

Browse files
committed
address two comments
1 parent 602c725 commit 227b7b2

5 files changed

Lines changed: 21 additions & 15 deletions

File tree

api/app_analytics/analytics_db_service.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,22 +136,22 @@ def get_total_events_count(organisation) -> int: # type: ignore[no-untyped-def]
136136
def get_feature_evaluation_data(
137137
feature: Feature,
138138
environment_id: int,
139-
period: int = 30,
139+
period_days: int = 30,
140140
labels_filter: Labels | None = None,
141141
) -> List[FeatureEvaluationData]:
142142
if settings.USE_POSTGRES_FOR_ANALYTICS:
143143
return get_feature_evaluation_data_from_local_db(
144144
feature=feature,
145145
environment_id=environment_id,
146-
period=period,
146+
period_days=period_days,
147147
labels_filter=labels_filter,
148148
)
149149

150150
if settings.INFLUXDB_TOKEN:
151151
return get_feature_evaluation_data_from_influxdb(
152152
feature_name=feature.name,
153153
environment_id=environment_id,
154-
period=f"{period}d",
154+
period_days=period_days,
155155
labels_filter=labels_filter,
156156
)
157157

@@ -162,15 +162,15 @@ def get_feature_evaluation_data(
162162
def get_feature_evaluation_data_from_local_db(
163163
feature: Feature,
164164
environment_id: int,
165-
period: int = 30,
165+
period_days: int = 30,
166166
labels_filter: Labels | None = None,
167167
) -> List[FeatureEvaluationData]:
168168
filter = Q(
169169
environment_id=environment_id,
170170
bucket_size=constants.ANALYTICS_READ_BUCKET_SIZE,
171171
feature_name=feature.name,
172172
created_at__date__lte=timezone.now(),
173-
created_at__date__gt=timezone.now() - timedelta(days=period),
173+
created_at__date__gt=timezone.now() - timedelta(days=period_days),
174174
)
175175
if labels_filter:
176176
filter &= Q(labels__contains=labels_filter)
@@ -197,7 +197,12 @@ def _get_environment_ids_for_org(organisation: Organisation) -> list[int]:
197197
# references the environments and projects tables,
198198
# as they do not exist in the analytics database.
199199
return [
200-
e.id for e in Environment.objects.filter(project__organisation=organisation)
200+
*Environment.objects.filter(
201+
project__organisation=organisation,
202+
).values_list(
203+
"id",
204+
flat=True,
205+
)
201206
]
202207

203208

api/app_analytics/influxdb_wrapper.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,12 +346,10 @@ def get_multiple_event_list_for_feature(
346346
def get_feature_evaluation_data(
347347
feature_name: str,
348348
environment_id: int,
349-
period: str = "30d",
349+
period_days: int = 30,
350350
labels_filter: Labels | None = None,
351351
) -> list[FeatureEvaluationData]:
352-
assert period.endswith("d")
353-
days = int(period[:-1])
354-
date_start = timezone.now() - timedelta(days=days)
352+
date_start = timezone.now() - timedelta(days=period_days)
355353
return get_multiple_event_list_for_feature(
356354
feature_name=feature_name,
357355
environment_id=environment_id,

api/features/serializers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,10 @@ class GetInfluxDataQuerySerializer(serializers.Serializer): # type: ignore[type
609609

610610
class GetUsageDataQuerySerializer(LabelsQuerySerializerMixin, serializers.Serializer): # type: ignore[type-arg]
611611
period = serializers.IntegerField(
612-
required=False, default=30, help_text="number of days"
612+
required=False,
613+
default=30,
614+
help_text="number of days",
615+
source="period_days",
613616
)
614617
environment_id = serializers.IntegerField(required=True)
615618

api/tests/unit/app_analytics/test_analytics_db_service.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ def test_get_feature_evaluation_data_calls_influx_method_if_postgres_not_configu
586586
mocked_get_feature_evaluation_data_from_influxdb.assert_called_once_with(
587587
feature_name=feature.name,
588588
environment_id=environment.id,
589-
period="30d",
589+
period_days=30,
590590
labels_filter=None,
591591
)
592592

@@ -643,7 +643,7 @@ def test_get_feature_evaluation_data_calls_get_feature_evaluation_data_from_loca
643643
mocked_get_feature_evaluation_data_from_local_db.assert_called_once_with(
644644
feature=feature,
645645
environment_id=environment.id,
646-
period=30,
646+
period_days=30,
647647
labels_filter=None,
648648
)
649649

api/tests/unit/features/test_unit_features_views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ def test_get_feature_evaluation_data(
912912
},
913913
]
914914
mocked_get_feature_evaluation_data.assert_called_with(
915-
feature=feature, period=30, environment_id=environment.id
915+
feature=feature, period_days=30, environment_id=environment.id
916916
)
917917

918918

@@ -960,7 +960,7 @@ def test_get_feature_evaluation_data__labels_filter__returns_expected(
960960
]
961961
mocked_get_feature_evaluation_data.assert_called_with(
962962
feature=feature,
963-
period=30,
963+
period_days=30,
964964
environment_id=environment.id,
965965
labels_filter={"client_application_name": "web"},
966966
)

0 commit comments

Comments
 (0)