Skip to content

Runs

A central component in data science projects are the runs that you or your team perform. In AskAnna you can track all relevant information related to a run. For example you can track variables, parameters, code version, artifacts and results. If you want to track something, and we currently don't support it, then contact ([email protected]) us.

A run refers to a action where you run your code. In the current version this is limited to running the code specified in the job definition. In the future we plan to support other ways of tracking a run as well.

The information you track in a run can be used for later comparison. In the phase of experimentation you can compare runs and see which settings will perform the best. Or in production phase you can monitor the stability of the model over time. Via AskAnna you can easily extract/quuery the project information and build your own dashboards to get insights out of your project.

Run overview

The current runs are related to jobs. You can find them on two locations in the project. The first location is on the project page in the section Jobs. Here the jobs for that project are listed and via the you can expand a section that will list the runs related to that job. The second location is on the job page in the section Runs.

On both locations you will find a table like the screenshot below.

Run overview

In this table you find:

Name Description
Run The first four charactes of the run SUUID. If you put your mouse on the text you can also see the full SUUID and a copy button to copy the full SUUID.
Status The status of the run
Timing Information when the run started and what the duration was/is (depending on the status)
Input The number of lines the input payload file has. When the payload is empty, it is reported as 1 line.
Metrics The number of metrics tracked for the run

When you click on a run, the run page will open.

Run page

On the run page we list all information related to the run. Here you can find the meta information of the run, the input, results, artifact, code and logs. An example of the run page:

Run page

In the first section on the page you can find the meta data about the run:

Name Description
Status The status of the run
Job The name of the job used for this run
Code The version of the code used for this run
Start date The date the run started
By Who triggered the run
Trigger How the run was triggered
Duration The duration of the run
Environment The environment used for the run
CPU The number of CPUs that was avaible for the run

Below this overview of meta information you can find the next tabs:

  • Input: the input used for the run
  • Result: the result for the run
  • Metrics: the metrics tracked for the run
  • Artifact: saved files and directories for the run
  • Code: the code used on this run
  • Log: the log of the run

For input we only support the payload (for now). In both the payload and the result we assume that this is a JSON file. In the section you can see the content of the file. Also there is an option to download the file or copy the content of the file.

In the log section you can find the run log. By default we load the first 100 lines, and when you have a larger log it will automatically load more lines when you scroll trough the log. Also you can download or copy the content of the log.

Starting a run

Check the jobs documentation to read about How to run a job. Here you can find the information about how to run a job using the:

Retrieving run data via the AskAnna CLI & API

The information that we show on the run page can always be retrieved via the AskAnna API and in most cases also the AskAnna CLI. The only relevant information you need to know is the SUUID of the run. You can find the SUUID of the run on the run page or you can copy the SUUID from the run overview.

Get Payload

AskAnna CLI:

askanna-run-utils get-payload --jobrun "{{ SUUID run }}"

Optionally you can also specify the output path via --output.

AskAnna API:

curl -X GET \
-H 'Authorization: Token {{ YOUR TOKEN }}' \
'https://beta-api.askanna.eu/v1/jobrun/{{ SUUID run }}/payload/'

Get Result

AskAnna API:

curl -X GET \
-H 'Authorization: Token {{ YOUR TOKEN }}' \
'https://beta-api.askanna.eu/v1/result/{{ SUUID run }}/'

Get Metrics

AskAnna API:

curl -X GET \
-H 'Authorization: Token {{ YOUR TOKEN }}' \
'https://beta-api.askanna.eu/v1/runinfo/{{ SUUID run }}/metrics/'

Get Artifact

AskAnna CLI:

askanna artifact get --id {{ SUUID run }}

Optionally you can also specify the output path via --output.

AskAnna API:

curl -X GET \
-H 'Authorization: Token {{ YOUR TOKEN }}' \
'https://beta-api.askanna.eu/v1/artifact/{{ SUUID run }}/'

Get Log

AskAnna API:

curl -X GET \
-H 'Authorization: Token {{ YOUR TOKEN }}' \
'https://beta-api.askanna.eu/v1/log/{{ SUUID run }}/'

Run failures

It can happen that a run fails. When this happens, AskAnna will always try to save the latest log and the specified artifact of the run. Because the run was not succesfull, we will not save a result for the run.

In case something went wrong with running your code, you can probably find information about the error in the run log. Our jobs run in containers, and we keep them for a couple of days. So in case the logs doesn't help you to figure out what went wrong, you can always contact us ([email protected]). With your permission we can check the Docker containers and see if we can help you.