Skip to content

Conversation

@esantorella
Copy link
Contributor

Summary:
This is no longer needed following D89689313.

Changes:

  • Remove Metric.data_constructor class attribute
  • Change Metric.has_map_data from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to

  • Remove has_map_data in favor of an attribute step_should_be_modeled
  • Remove MapMetric; these will become Metrics with step_should_be_model=True
  • Update logic (e.g. Experiment.lookup_data) to reflect the possibility that a Metric may return MapData yet have step_should_be_modeled = False
  • Have all metrics return MapData (with NaN step values by default and some having more interesting step values)
  • Make all data into MapData (by updating cases where Data is constructed other than by reading it directly from a metric, e.g. by deserializing it)

Differential Revision: D89748011

@meta-cla meta-cla bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Dec 26, 2025
@meta-codesync
Copy link

meta-codesync bot commented Dec 26, 2025

@esantorella has exported this pull request. If you are a Meta employee, you can view the originating Diff in D89748011.

@codecov-commenter
Copy link

codecov-commenter commented Dec 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.69%. Comparing base (64570ba) to head (796800a).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4713      +/-   ##
==========================================
- Coverage   96.69%   96.69%   -0.01%     
==========================================
  Files         580      580              
  Lines       60697    60693       -4     
==========================================
- Hits        58692    58687       -5     
- Misses       2005     2006       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 26, 2025
Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 26, 2025
Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 26, 2025
Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 26, 2025
Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
esantorella added a commit to esantorella/Ax that referenced this pull request Dec 29, 2025
Summary:

`Metric.data_constructor` is no longer used following D89689313.

Changes:
* Remove `Metric.data_constructor` class attribute
* Change `Metric.has_map_data` from a property into a class attribute based on whether the metric is a MapMetric

The longer-term plan is to allow (and eventually require) all metrics to return `MapData`); instead of checking whether the metric has map data, we should add an attribute `step_should_be_modeled` that tells whether that data is relevant for modeling.  This will allow for merging `Metric` and `MapMetric` as well as `Data` and `MapData`

Reviewed By: lena-kashtelyan

Differential Revision: D89748011
@meta-codesync meta-codesync bot closed this in f0f93e9 Dec 29, 2025
@meta-codesync
Copy link

meta-codesync bot commented Dec 29, 2025

This pull request has been merged in f0f93e9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants