Skip to content

Commit 9333e90

Browse files
committed
tuning_agent_artifacts -> tuning_artifacts
1 parent f0b0730 commit 9333e90

5 files changed

+37
-39
lines changed

env/integtest_replay.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from benchmark.tpch.constants import DEFAULT_TPCH_SEED
44
from env.integtest_util import IntegtestWorkspace, MockTuningAgent
55
from env.replay import replay
6-
from env.tuning_agent_artifacts import (
6+
from env.tuning_artifacts import (
77
DBMSConfigDelta,
88
IndexesDelta,
99
QueryKnobsDelta,
@@ -36,7 +36,7 @@ def test_replay(self) -> None:
3636
)
3737
agent.step()
3838
replay_data = replay(
39-
IntegtestWorkspace.get_dbgym_cfg(), agent.tuning_agent_artifacts_dpath
39+
IntegtestWorkspace.get_dbgym_cfg(), agent.tuning_artifacts_dpath
4040
)
4141

4242
# We do some very simple sanity checks here due to the inherent randomness of executing a workload.

env/integtest_tuning_agent.py renamed to env/integtest_tuning_artifacts.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import unittest
22

33
from env.integtest_util import IntegtestWorkspace, MockTuningAgent
4-
from env.tuning_agent_artifacts import (
4+
from env.tuning_artifacts import (
55
DBMSConfigDelta,
66
IndexesDelta,
77
QueryKnobsDelta,
@@ -33,7 +33,7 @@ def test_get_delta_at_step(self) -> None:
3333
agent.delta_to_return = PostgresConnTests.make_config("c")
3434
agent.step()
3535

36-
reader = TuningAgentArtifactsReader(agent.tuning_agent_artifacts_dpath)
36+
reader = TuningAgentArtifactsReader(agent.tuning_artifacts_dpath)
3737

3838
self.assertEqual(
3939
reader.get_delta_at_step(1), PostgresConnTests.make_config("b")
@@ -58,7 +58,7 @@ def test_get_all_deltas_in_order(self) -> None:
5858
agent.delta_to_return = PostgresConnTests.make_config("c")
5959
agent.step()
6060

61-
reader = TuningAgentArtifactsReader(agent.tuning_agent_artifacts_dpath)
61+
reader = TuningAgentArtifactsReader(agent.tuning_artifacts_dpath)
6262

6363
self.assertEqual(
6464
reader.get_all_deltas_in_order(),
@@ -71,7 +71,7 @@ def test_get_all_deltas_in_order(self) -> None:
7171

7272
def test_get_metadata(self) -> None:
7373
agent = MockTuningAgent(IntegtestWorkspace.get_dbgym_cfg())
74-
reader = TuningAgentArtifactsReader(agent.tuning_agent_artifacts_dpath)
74+
reader = TuningAgentArtifactsReader(agent.tuning_artifacts_dpath)
7575
metadata = reader.get_metadata()
7676
expected_metadata = IntegtestWorkspace.get_default_metadata()
7777
self.assertEqual(metadata, expected_metadata)

env/integtest_util.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import yaml
66

7-
from env.tuning_agent_artifacts import DBMSConfigDelta, TuningAgent, TuningAgentMetadata
7+
from env.tuning_artifacts import DBMSConfigDelta, TuningAgent, TuningMetadata
88
from util.workspace import (
99
DBGymConfig,
1010
fully_resolve_path,
@@ -57,12 +57,12 @@ def get_workspace_path() -> Path:
5757
return Path(yaml.safe_load(f)["dbgym_workspace_path"])
5858

5959
@staticmethod
60-
def get_default_metadata() -> TuningAgentMetadata:
60+
def get_default_metadata() -> TuningMetadata:
6161
dbgym_cfg = IntegtestWorkspace.get_dbgym_cfg()
6262
workspace_path = fully_resolve_path(
6363
dbgym_cfg, IntegtestWorkspace.get_workspace_path()
6464
)
65-
return TuningAgentMetadata(
65+
return TuningMetadata(
6666
workload_path=fully_resolve_path(
6767
dbgym_cfg,
6868
get_default_workload_path(
@@ -94,7 +94,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None:
9494
super().__init__(*args, **kwargs)
9595
self.delta_to_return: Optional[DBMSConfigDelta] = None
9696

97-
def _get_metadata(self) -> TuningAgentMetadata:
97+
def _get_metadata(self) -> TuningMetadata:
9898
return IntegtestWorkspace.get_default_metadata()
9999

100100
def _step(self) -> DBMSConfigDelta:

env/replay.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
from pathlib import Path
33

44
from env.pg_conn import PostgresConn
5-
from env.tuning_agent import TuningAgentArtifactsReader
5+
from env.tuning_artifacts import TuningAgentArtifactsReader
66
from env.workload import Workload
77
from util.pg import DEFAULT_POSTGRES_PORT
88
from util.workspace import DBGymConfig
99

1010

1111
def replay(
12-
dbgym_cfg: DBGymConfig, tuning_agent_artifacts_dpath: Path
12+
dbgym_cfg: DBGymConfig, tuning_artifacts_dpath: Path
1313
) -> list[tuple[float, int]]:
1414
"""
1515
Returns the total runtime and the number of timed out queries for each step.
@@ -18,7 +18,7 @@ def replay(
1818
"""
1919
replay_data: list[tuple[float, int]] = []
2020

21-
reader = TuningAgentArtifactsReader(tuning_agent_artifacts_dpath)
21+
reader = TuningAgentArtifactsReader(tuning_artifacts_dpath)
2222
pg_conn = PostgresConn(
2323
dbgym_cfg,
2424
DEFAULT_POSTGRES_PORT,

env/tuning_agent_artifacts.py renamed to env/tuning_artifacts.py

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55

66
from util.workspace import DBGymConfig, is_fully_resolved
77

8-
# PostgresConn doesn't use these types because PostgresConn is used internally by tuning agents.
9-
# These types are only given as the outputs of tuning agents.
8+
# PostgresConn doesn't use these types because PostgresConn is used internally by tuning agents
9+
# while these types are only used in the interface between the orchestrator and the tuning agents.
1010
IndexesDelta = NewType("IndexesDelta", list[str])
1111
SysKnobsDelta = NewType("SysKnobsDelta", dict[str, str])
1212
# TODO: I'm not decided whether these should be deltas or full configs. I'm going to figure this out once I integrate Proto-X and UDO.
1313
QueryKnobsDelta = NewType("QueryKnobsDelta", dict[str, list[str]])
1414

1515

1616
@dataclass
17-
class TuningAgentMetadata:
18-
"""Metadata for tuning agent"""
17+
class TuningMetadata:
18+
"""Metadata for the tuning process."""
1919

2020
workload_path: Path
2121
pristine_dbdata_snapshot_path: Path
@@ -68,26 +68,26 @@ class DBMSConfigDelta:
6868
qknobs: QueryKnobsDelta
6969

7070

71-
def get_delta_at_step_fpath(tuning_agent_artifacts_dpath: Path, step_num: int) -> Path:
72-
return tuning_agent_artifacts_dpath / f"step{step_num}_delta.json"
71+
def get_delta_at_step_fpath(tuning_artifacts_dpath: Path, step_num: int) -> Path:
72+
return tuning_artifacts_dpath / f"step{step_num}_delta.json"
7373

7474

75-
def get_metadata_fpath(tuning_agent_artifacts_dpath: Path) -> Path:
76-
return tuning_agent_artifacts_dpath / "metadata.json"
75+
def get_metadata_fpath(tuning_artifacts_dpath: Path) -> Path:
76+
return tuning_artifacts_dpath / "metadata.json"
7777

7878

7979
class TuningAgent:
8080
def __init__(self, dbgym_cfg: DBGymConfig) -> None:
8181
self.dbgym_cfg = dbgym_cfg
82-
self.tuning_agent_artifacts_dpath = self.dbgym_cfg.cur_task_runs_artifacts_path(
83-
"tuning_agent_artifacts", mkdir=True
82+
self.tuning_artifacts_dpath = self.dbgym_cfg.cur_task_runs_artifacts_path(
83+
"tuning_artifacts", mkdir=True
8484
)
85-
assert is_fully_resolved(self.tuning_agent_artifacts_dpath)
85+
assert is_fully_resolved(self.tuning_artifacts_dpath)
8686
self.next_step_num = 0
8787

8888
# Write metadata file
8989
metadata = self._get_metadata()
90-
with get_metadata_fpath(self.tuning_agent_artifacts_dpath).open("w") as f:
90+
with get_metadata_fpath(self.tuning_artifacts_dpath).open("w") as f:
9191
json.dump(metadata.asdict(), f)
9292

9393
def step(self) -> None:
@@ -97,12 +97,12 @@ def step(self) -> None:
9797
curr_step_num = self.next_step_num
9898
self.next_step_num += 1
9999
dbms_cfg_delta = self._step()
100-
with get_delta_at_step_fpath(
101-
self.tuning_agent_artifacts_dpath, curr_step_num
102-
).open("w") as f:
100+
with get_delta_at_step_fpath(self.tuning_artifacts_dpath, curr_step_num).open(
101+
"w"
102+
) as f:
103103
json.dump(asdict(dbms_cfg_delta), f)
104104

105-
def _get_metadata(self) -> TuningAgentMetadata:
105+
def _get_metadata(self) -> TuningMetadata:
106106
"""
107107
This should be overridden by subclasses.
108108
@@ -120,20 +120,18 @@ def _step(self) -> DBMSConfigDelta:
120120

121121

122122
class TuningAgentArtifactsReader:
123-
def __init__(self, tuning_agent_artifacts_dpath: Path) -> None:
124-
self.tuning_agent_artifacts_dpath = tuning_agent_artifacts_dpath
125-
assert is_fully_resolved(self.tuning_agent_artifacts_dpath)
123+
def __init__(self, tuning_artifacts_dpath: Path) -> None:
124+
self.tuning_artifacts_dpath = tuning_artifacts_dpath
125+
assert is_fully_resolved(self.tuning_artifacts_dpath)
126126
num_steps = 0
127-
while get_delta_at_step_fpath(
128-
self.tuning_agent_artifacts_dpath, num_steps
129-
).exists():
127+
while get_delta_at_step_fpath(self.tuning_artifacts_dpath, num_steps).exists():
130128
num_steps += 1
131129
self.num_steps = num_steps
132130

133-
def get_metadata(self) -> TuningAgentMetadata:
134-
with get_metadata_fpath(self.tuning_agent_artifacts_dpath).open("r") as f:
131+
def get_metadata(self) -> TuningMetadata:
132+
with get_metadata_fpath(self.tuning_artifacts_dpath).open("r") as f:
135133
data = json.load(f)
136-
return TuningAgentMetadata(
134+
return TuningMetadata(
137135
workload_path=Path(data["workload_path"]),
138136
pristine_dbdata_snapshot_path=Path(
139137
data["pristine_dbdata_snapshot_path"]
@@ -144,7 +142,7 @@ def get_metadata(self) -> TuningAgentMetadata:
144142

145143
def get_delta_at_step(self, step_num: int) -> DBMSConfigDelta:
146144
assert step_num >= 0 and step_num < self.num_steps
147-
with get_delta_at_step_fpath(self.tuning_agent_artifacts_dpath, step_num).open(
145+
with get_delta_at_step_fpath(self.tuning_artifacts_dpath, step_num).open(
148146
"r"
149147
) as f:
150148
data = json.load(f)

0 commit comments

Comments
 (0)