Skip to content

Commit cf654b1

Browse files
eonofreymeta-codesync[bot]
authored andcommitted
Handle GraphViz objects in storage and UI (#4855)
Summary: Pull Request resolved: #4855 In [analysis_card_to_sqa](https://www.internalfb.com/code/fbsource/[f35aae2adf7e14e81702f0f3cd5584af5ce363fd]/fbcode/ax/storage/sqa_store/encoder.py?lines=1161-1171) we support every type of AnalysisCard except GraphViz. This diff has small additions to encoding and decoding for `GraphVizAnalysisCard` so `GenerationStrategyGraph` can be properly stored and rendered in the UI since currently it does not render: {F1985181889} Reviewed By: Cesar-Cardoso Differential Revision: D92208435 fbshipit-source-id: 36899db49dbb1ac2f9b03cbf8cd5cf9b4dfc0b0f
1 parent 940092e commit cf654b1

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

ax/storage/sqa_store/decoder.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from typing import Any, Callable, cast, Union
1414

1515
import pandas as pd
16+
from ax.analysis.graphviz.graphviz_analysis import GraphvizAnalysisCard
1617
from ax.analysis.healthcheck.healthcheck_analysis import HealthcheckAnalysisCard
1718
from ax.analysis.markdown.markdown_analysis import MarkdownAnalysisCard
1819
from ax.analysis.plotly.plotly_analysis import PlotlyAnalysisCard
@@ -1118,6 +1119,15 @@ def analysis_card_from_sqa(
11181119
blob=blob,
11191120
timestamp=analysis_card_sqa.timestamp,
11201121
)
1122+
if blob_annotation == "graphviz":
1123+
return GraphvizAnalysisCard(
1124+
name=analysis_card_sqa.name,
1125+
title=title,
1126+
subtitle=subtitle,
1127+
df=read_json(StringIO(analysis_card_sqa.dataframe_json)),
1128+
blob=blob,
1129+
timestamp=analysis_card_sqa.timestamp,
1130+
)
11211131
return AnalysisCard(
11221132
name=analysis_card_sqa.name,
11231133
title=title,

ax/storage/sqa_store/encoder.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from logging import Logger
1111
from typing import Any, cast
1212

13+
from ax.analysis.graphviz.graphviz_analysis import GraphvizAnalysisCard
1314
from ax.analysis.healthcheck.healthcheck_analysis import HealthcheckAnalysisCard
1415
from ax.analysis.markdown.markdown_analysis import MarkdownAnalysisCard
1516
from ax.analysis.plotly.plotly_analysis import PlotlyAnalysisCard
@@ -1167,6 +1168,8 @@ def analysis_card_to_sqa(
11671168
blob_annotation = "markdown"
11681169
elif isinstance(card, HealthcheckAnalysisCard):
11691170
blob_annotation = "healthcheck"
1171+
elif isinstance(card, GraphvizAnalysisCard):
1172+
blob_annotation = "graphviz"
11701173
else:
11711174
blob_annotation = "dataframe"
11721175

0 commit comments

Comments
 (0)