post_live_metrics: Pass params on start event.

This commit is contained in:
David de la Iglesia Castro
2022-12-28 11:43:37 +01:00
parent ea8a4a3db4
commit 68b24307f9
3 changed files with 38 additions and 4 deletions
+8 -4
View File
@@ -22,7 +22,7 @@ from ..executor.base import (
)
from ..executor.local import WorkspaceExecutor
from ..refs import EXEC_BRANCH, WORKSPACE_STASH
from ..utils import get_exp_rwlock
from ..utils import get_exp_rwlock, to_studio_params
from .base import BaseStashQueue, QueueDoneResult, QueueEntry, QueueGetResult
if TYPE_CHECKING:
@@ -104,10 +104,14 @@ class WorkspaceQueue(BaseStashQueue):
exec_name = self._EXEC_NAME or entry.stash_rev
infofile = self.get_infofile_path(exec_name)
try:
post_live_metrics(
"start", executor.info.baseline_rev, executor.info.name, "dvc"
)
rev = entry.stash_rev
post_live_metrics(
"start",
executor.info.baseline_rev,
executor.info.name,
"dvc",
params=to_studio_params(self.repo.params.show()),
)
exec_result = executor.reproduce(
info=executor.info,
rev=rev,
+29
View File
@@ -310,3 +310,32 @@ def get_random_exp_name(scm, baseline_rev):
exp_ref = ExpRefInfo(baseline_sha=baseline_rev, name=name)
if not scm.get_ref(str(exp_ref)):
return name
def to_studio_params(dvc_params):
"""Convert from internal DVC format to Studio format.
From:
{
"workspace": {
"data": {
"params.yaml": {
"data": {"foo": 1}
}
}
}
}
To:
{
"params.yaml": {"foo": 1}
}
"""
result = {}
for rev_data in dvc_params.values():
for file_name, file_data in rev_data["data"].items():
result[file_name] = file_data["data"]
return result
+1
View File
@@ -53,6 +53,7 @@ def test_post_to_studio(tmp_dir, dvc, scm, exp_stage, mocker, monkeypatch):
"repo_url": "STUDIO_REPO_URL",
"baseline_sha": baseline_sha,
"name": name,
"params": {"params.yaml": {"foo": 1}},
"client": "dvc",
}