googleapis / googleapis/python-aiplatform
Add date/time filtering capability to Vertex AI Experiment.get_data_frame API to prevent 503 errors with large runs
- Dominant language
- Python
- Stars
- 905
- Forks
- 465
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 44
Description
# Problem
When attempting to use Experiment.get_data_frame() with projects containing numerous runs, the API consistently returns 503 "Service Unavailable" errors. This appears to happen because the API attempts to fetch all experiment runs at once, which can overload the service when dealing with large datasets.
# Current behavior
``` python
experiment = aiplatform.Experiment(experiment_name="specific-experiment-name")
df_experiment = experiment.get_data_frame(include_time_series=False)
```
This call fails with 503 errors when the experiment contains too many runs.
# Proposed solution
Add date/time filtering parameters to the get_data_frame() method to limit the number of runs being processed:
``` python
df_run = run.get_data_frame(
include_time_series=False,
start_time="2023-01-01T00:00:00Z",
end_time="2023-01-31T23:59:59Z"
)
```
This would allow users to retrieve manageable chunks of experiment data by time period, preventing service overload and improving reliability when working with large experiments.
# Additional benefits
- Improved performance for large experiments
- Better user experience by avoiding timeout errors
- More control over data retrieval for analysis purposes
- Reduced load on backend services
Contributor guide
Research direction
Start at the Vertex AI Experiment.get_data_frame() entry point and trace how experiment runs are retrieved. Compare the proposed start_time and end_time arguments with the current example, which also refers to run.get_data_frame(). Done means callers can limit retrieval to a date/time range and large experiments avoid the reported 503 failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, python
- Domain
- api, cloud, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100