Logs
The model deployment process creates a set of workflow logs. Optionally, you can also configure the Logging service to capture access and predict logs.
In the following code snippets, the variable deployment
is a ModelDeployment
object. This object can be obtained from a call to .deploy()
or .get_model_deployment()
.
Access/Predict
The .show_logs()
and .logs()
methods in the ModelDeployment
class exposes the predict and access logs. The parameter log_type
accepts predict
and access
to specify which logs to return. When it’s not specified, the access logs are returned. The parameters time_start
and time_end
restrict the logs to time periods between those entries. The limit
parameter limits the number of log entries that are returned.
Logs are not collected in real-time. Therefore, it is possible that logs have been emitted by the model deployment but are not currently available with the .logs()
and .show_logs()
methods.
logs
This method returns a list of dictionaries where each element of the list is a log entry. Each element of the dictionary is a key-value pair from the log.
deployment.logs(log_type="access", limit=10)
show_logs
This method returns a dataframe where each row represents a log entry.
deployment.show_logs(log_type="access", limit=10)
Workflow
The .list_workflow_logs()
provides a list of dictionaries that define the steps that were used to deploy the model. These are referred to as the workflow logs.
deployment.list_workflow_logs()
[{
"message": "Creating compute resource configuration.",
"timestamp": "2021-04-21T20:45:27.609000+00:00"
},
{
"message": "Creating compute resources.",
"timestamp": "2021-04-21T20:45:30.237000+00:00"
},
{
"message": "Creating load balancer.",
"timestamp": "2021-04-21T20:45:33.076000+00:00"
},
{
"message": "Compute resources are provisioned.",
"timestamp": "2021-04-21T20:46:46.876000+00:00"
},
{
"message": "Load balancer is provisioned.",
"timestamp": "2021-04-21T20:53:54.764000+00:00"
}]