Skip to content

Commit 2bfb97e

Browse files
authored
get elasticsearch ids by key (#1167)
1 parent aa12df9 commit 2bfb97e

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

benchmark_runner/common/elasticsearch/elasticsearch_operations.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -364,16 +364,24 @@ def get_uuid_for_ids(self, index: str, ids: list[str]) -> dict:
364364

365365
@typechecked()
366366
@logger_time_stamp
367-
def get_index_ids_between_dates(self, index: str, start_datetime: datetime = None, end_datetime: datetime = None):
367+
def get_index_ids_between_dates(
368+
self,
369+
index: str,
370+
start_datetime: datetime = None,
371+
end_datetime: datetime = None,
372+
key: str = None,
373+
):
368374
"""
369-
This method returns list of index ids between dates
370-
@param index:
371-
@param start_datetime:
372-
@param end_datetime:
373-
@return: list of ids
375+
This method returns list of index ids between dates.
376+
Optionally filters documents by a specific key.
374377
"""
375-
es_data = self.get_index_data_between_dates(index=index, start_datetime=start_datetime, end_datetime=end_datetime)
376-
ids = [hit["_id"] for hit in es_data]
378+
es_data = self.get_index_data_between_dates(index=index, start_datetime=start_datetime,
379+
end_datetime=end_datetime)
380+
if key is None:
381+
ids = [hit["_id"] for hit in es_data]
382+
else:
383+
ids = [hit["_id"] for hit in es_data if key in hit["_source"]]
384+
377385
return ids
378386

379387
@typechecked()

benchmark_runner/workloads/winmssql_vm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def run(self):
7474
self._data_dict['run_artifacts_url'] = os.path.join(self._run_artifacts_url,
7575
f'{self._get_run_artifacts_hierarchy(workload_name=self._workload_name, is_file=True)}-{self._time_stamp_format}.tar.gz')
7676
self.wait_for_windows_hammerdb_finished()
77-
ids = self._get_index_ids_between_dates(index=self._es_index)
77+
ids = self._get_index_ids_between_dates(index=self._es_index, key='status')
7878
# Adding data_updated=True to stamp that this data is already updated and enrich with new product versions fields
7979
for id in ids:
8080
self._update_elasticsearch_index(index=self._es_index, id=id, kind='vm', status='Succeeded', run_artifacts_url=self._data_dict['run_artifacts_url'], database='mssql', vm_name=f'{self._workload_name}-{self._trunc_uuid}', data_updated=True)

benchmark_runner/workloads/workloads_operations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,10 +454,10 @@ def __get_metadata(self, kind: str = None, status: str = None, database: str = N
454454

455455
return metadata
456456

457-
def _get_index_ids_between_dates(self, index: str):
457+
def _get_index_ids_between_dates(self, index: str, key:str):
458458
end_datetime = datetime.now(timezone.utc)
459459
start_datetime = end_datetime - timedelta(hours=4)
460-
return self._es_operations.get_index_ids_between_dates(index=index, start_datetime=start_datetime, end_datetime=end_datetime)
460+
return self._es_operations.get_index_ids_between_dates(index=index, key=key, start_datetime=start_datetime, end_datetime=end_datetime)
461461

462462
def _get_latest_resource_with_key(self, index: str, key: str) -> dict:
463463
"""

0 commit comments

Comments
 (0)