Skip to content

FAQs

I see an experiment failed in a workflow, how can I debug it?

By going to the node view of a failing task, you can open the notebook as it was run during the workflow and first have a look at the error message.

In the case of a failed analysis, for example, you would typically want to load the data back and try out the analysis with different parameters (or change the analysis algorithm). To do so, you can use session.load_document as explained in the next question.

I ran an experiment and results were saved, how can I share the data with a colleague?

What you need first is to identify the unique ID of your experiment. It is generated by the cuid function within your experiment task notebook. Next the experiment name is the value of type in the ExperimentContext call.

Let's say that cuid output is clx8z24pi0000puqs5ueohlni and you ran a PulsedSpectroscopy experiment. Then your colleague can load back the data you saved by loading the right document with obj=session.load_document('PulsedSpectroscopy/clx8z24pi0000puqs5ueohlni'). The object obj holds the output of the analysis in its attributes but also the data in obj.data.

If you are working on a branch, your colleague has to checkout the same branch as you before loading the document. The reason is that PulsedSpectroscopy/clx8z24pi0000puqs5ueohlni is only present in your branch. To move to the right branch using the qkb command line utility, your colleague can execute qkb checkout <yourbranch> in a terminal.

It's possible to check that you are on the correct branch by executing qkb branch.

Can I access the logs of what was committed recently to the knowledge base?

Absolutely! Open a terminal from within your QruiseOS JupyterLab instance and type qkb log -n 10 to print the last 10 commits.

If it doesn't work, check that you have a .QKB.json file using the command ls -a (because of the dot at the beginning of the file name, .QKB.json is a hidden file). If so, check the configuration of qkb with qkb status. If not, then create a .QKB.json file which should look like this (name of the profile has to be adapted to your QPU):

{
    "profile": "onboarding-chip"
}

What exactly is inside the knowledge base?

The knowledge base acts as a single and comprehensive source of truth, so everything should be there (no more cryptic and unmaintained bootstrap configuration json that only one colleague has on their laptop but they're not here at the moment).

But what if I really want to see what is inside. Then if in your schema.py you have an Entity class like we suggest, you can use session.load('Entity') and have a look at the ouptut (we suggest to pretty print it with from rich.pretty import pprint).

If you want to see, for example, all saved instances of pulsed spectroscopy experiments, you can get a list of these with session.load('PulsedSpectroscopy').

You can also try the database_overview notebook in the 01_overview_single_measurement tutorial.

How do I know how long a workflow takes?

By going to the Workflows tab on the dashboard and selecting the workflow you are interested in, you get to the workflow runs list. You can then have a look at the STARTED and FINISHED columns to get the workflow start and end time.

If you're interested in the execution time of a single task, just click on the corresponding node in workflow view and it will give you the start and end time of the node.