> For the complete documentation index, see [llms.txt](https://docs.rhinofcp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rhinofcp.com/creating-and-running-code-objects/what-is-a-code-run.md).

# What is a Code Run?

A Code Run object encapsulates vital information pertaining to a specific run within the Rhino FCP. The Code Run provides relevant information about ongoing and terminated runs, providing a comprehensive view of the run's execution and outcomes.

### Key Aspects and Functions

{% stepper %}
{% step %}

#### Code Run Logs

One of the primary functions of the Code Run object is to provide seamless access to Code Run logs. These logs offer a detailed record of the run's execution at each relevant Rhino Client, facilitating troubleshooting, validation, and performance evaluation.
{% endstep %}

{% step %}

#### Input and Output Datasets

The Code Run object provides clear visibility into the input Datasets used for the run, as well as the naming conventions for the generated output Datasets. This transparency promotes effective traceability.
{% endstep %}

{% step %}

#### Runtime Insights

Access runtime information within the Code Run, including the time taken for the model to complete its execution. This insight aids in gauging performance and optimizing future runs.
{% endstep %}

{% step %}

#### Report Creation and Accessibility

Users have the flexibility to generate reports related to the model run and make them accessible via the *Code Runs* object. This feature aids in sharing insights and outcomes with collaborators or stakeholders.
{% endstep %}
{% endstepper %}

### Leveraging Code Runs for Insights and Collaboration

To make the most of Code Runs within the Rhino FCP, consider the following:

{% stepper %}
{% step %}

#### Comprehensive Analysis

Code Runs provide a holistic view of code executions, enabling you to analyze the effectiveness and outcomes of various runs.
{% endstep %}

{% step %}

#### Troubleshooting and Validation

Access Code Run logs to identify and address issues, ensuring the integrity and accuracy of your analyses.
{% endstep %}

{% step %}

#### Collaborative Sharing

Generate reports from the Code Run object to share insights with collaborators, enhancing collaborative research efforts.
{% endstep %}
{% endstepper %}

### About Usage Limits

Usage limits are placed on the number of input rows (inferences) a workgroup can process per model within a certain timeframe. This helps protect intellectual property by mitigating the risk of model weight reconstruction. Usage limits also control cloud costs by enabling sites to cap usage and control variable cloud costs associated with ad-hoc Code Runs that project collaborators could possibly trigger. All accrued usage counters reset to zero at 00:00 UT on the first day of every calendar month. Contact Rhino if you would like to enable this feature in your project.

### Practical Application

Imagine you've run complex federated training with the NVFlare Code Object. By accessing the Code Run object associated with this run, you can review the input Datasets, configuration details, and execution time and delve into the Code Run logs. This comprehensive understanding empowers you to make informed decisions, validate results, and optimize future model runs.

### Summary

Code Runs serve as the cornerstone of informed data analysis within the Rhino FCP. By encapsulating run configurations, runtime insights, logs, and reporting capabilities, the Code Run object empowers you to derive meaningful insights, troubleshoot effectively, and collaborate seamlessly with others. It's your gateway to unlocking the potential of your model executions.

#### Key Components of a Code Run

**Attributes**

{% stepper %}
{% step %}

#### Name

The name of the relevant Code Object
{% endstep %}

{% step %}

#### Description (Optional)

The description of the Code Run
{% endstep %}

{% step %}

#### Type

The type of Code Object that has been run to produce the Code Run. In the case of NVFlare Code Runs, this will designate whether the Code Run row represents NVFlare Training (T) or NVFlare Validation (V).
{% endstep %}

{% step %}

#### Run Time (UTC)

The two timestamps for when the Code Run was started and ended in the UTC timezone
{% endstep %}

{% step %}

#### Status

The status of the Code Run, the value can be one of the following: Running, Complete: Success, Complete: Error, Halted: Success, Halted: Failure
{% endstep %}

{% step %}

#### Code Object Version

The version of the Code Object that was run to produce the Code Run
{% endstep %}

{% step %}

#### Input Datasets

A link to the Dataset Analytics view within the Datasets page showing all the input Datasets that were selected to run during the code's execution. If you hover over the link, you will see a list of the names of each input Dataset as well
{% endstep %}

{% step %}

#### Output Datasets

A link to the Dataset Analytics view within the Datasets page showing all the output Datasets that were selected to run during the code's execution. If you hover over the link, you will see a list of the names of each output Dataset as well
{% endstep %}

{% step %}

#### Report

A link to a report for the Code Run. Reports by default are blank and meant to be a playground for users to output performance metrics they are especially interested in. Reports are created using the Rhino SDK. For more information, refer to the workflow for creating and viewing a code run report.
{% endstep %}

{% step %}

#### Logs

The logs that were produced during the execution of the code. By default, the logs show stdout and stderr. If you are running code using a collaborator's Dataset, you might need to be granted special permissions to view the logs. They are extremely helpful for debugging.
{% endstep %}

{% step %}

#### UUID

The unique identifier for a specific Code Run within the Rhino FCP
{% endstep %}
{% endstepper %}
