Skip to content

Commit

Permalink
[Model Monitoring] Organize the monitoring deployment module (#5299)
Browse files Browse the repository at this point in the history
  • Loading branch information
jond01 committed Mar 20, 2024
1 parent a10578e commit cbfd1ee
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 266 deletions.
21 changes: 12 additions & 9 deletions server/api/api/endpoints/functions.py
Expand Up @@ -800,14 +800,16 @@ def _deploy_nuclio_runtime(
)
if monitoring_application:
monitoring_deploy = (
server.api.crud.model_monitoring.deployment.MonitoringDeployment()
server.api.crud.model_monitoring.deployment.MonitoringDeployment(
project=fn.metadata.project,
auth_info=auth_info,
db_session=db_session,
model_monitoring_access_key=model_monitoring_access_key,
)
)
fn = monitoring_deploy._apply_and_create_stream_trigger(
project=fn.metadata.project,
function=fn,
model_monitoring_access_key=model_monitoring_access_key,
function_name=fn.metadata.name,
auth_info=auth_info,
)
server.api.crud.runtimes.nuclio.function.deploy_nuclio_function(
fn,
Expand Down Expand Up @@ -841,15 +843,16 @@ def _deploy_serving_monitoring(
_init_serving_function_stream_args(fn=fn)
# deploy model monitoring stream, model monitoring batch job,
monitoring_deploy = (
server.api.crud.model_monitoring.deployment.MonitoringDeployment()
server.api.crud.model_monitoring.deployment.MonitoringDeployment(
project=fn.metadata.project,
auth_info=auth_info,
db_session=db_session,
model_monitoring_access_key=model_monitoring_access_key,
)
)
monitoring_deploy.deploy_model_monitoring_batch_processing(
project=fn.metadata.project,
db_session=db_session,
auth_info=auth_info,
tracking_policy=fn.spec.tracking_policy,
tracking_offset=Seconds(monitoring_deploy._max_parquet_save_interval),
model_monitoring_access_key=model_monitoring_access_key,
)

except Exception as exc:
Expand Down
9 changes: 5 additions & 4 deletions server/api/api/endpoints/jobs.py
Expand Up @@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

from typing import Any

import fastapi
Expand Down Expand Up @@ -92,11 +92,12 @@ async def deploy_monitoring_batch_job(
)

tracking_policy = TrackingPolicy(default_batch_image=default_batch_image)
batch_function = MonitoringDeployment().deploy_model_monitoring_batch_processing(
batch_function = MonitoringDeployment(
project=project,
model_monitoring_access_key=model_monitoring_access_key,
db_session=db_session,
auth_info=auth_info,
db_session=db_session,
model_monitoring_access_key=model_monitoring_access_key,
).deploy_model_monitoring_batch_processing(
tracking_policy=tracking_policy,
with_schedule=with_schedule,
)
Expand Down
14 changes: 8 additions & 6 deletions server/api/api/endpoints/model_monitoring.py
Expand Up @@ -97,11 +97,12 @@ async def enable_model_monitoring(
mlrun.common.schemas.model_monitoring.ProjectSecretKeys.ACCESS_KEY,
)

return MonitoringDeployment().deploy_monitoring_functions(
return MonitoringDeployment(
project=commons.project,
model_monitoring_access_key=model_monitoring_access_key,
db_session=commons.db_session,
auth_info=commons.auth_info,
db_session=commons.db_session,
model_monitoring_access_key=model_monitoring_access_key,
).deploy_monitoring_functions(
image=image,
base_period=base_period,
)
Expand Down Expand Up @@ -148,11 +149,12 @@ async def update_model_monitoring_controller(
f"Run `project.enable_model_monitoring()` first."
)

return MonitoringDeployment().deploy_model_monitoring_controller(
return MonitoringDeployment(
project=commons.project,
model_monitoring_access_key=model_monitoring_access_key,
db_session=commons.db_session,
auth_info=commons.auth_info,
db_session=commons.db_session,
model_monitoring_access_key=model_monitoring_access_key,
).deploy_model_monitoring_controller(
controller_image=image,
base_period=base_period,
overwrite=True,
Expand Down

0 comments on commit cbfd1ee

Please sign in to comment.