// Module included in the following assemblies:
//
// * scalability_and_performance/cnf-low-latency-tuning.adoc
// * scalability_and_performance/low_latency_tuning/cnf-debugging-low-latency-tuning-status.adoc

:_mod-docs-content-type: REFERENCE
[id="cnf-debugging-low-latency-cnf-tuning-status_{context}"]
= Debugging low latency CNF tuning status

[role="_abstract"]
To report tuning status and debug latency degradation issues, use the status fields in the `PerformanceProfile` custom resource (CR). These fields describe the conditions of the reconciliation functionality of an Operator, helping you verify the state of your configuration.

A typical issue can arise when the status of machine config pools that are attached to the performance profile are in a degraded state, causing the `PerformanceProfile` status to degrade. In this case, the machine config pool issues a failure message.

The Node Tuning Operator contains the `performanceProfile.spec.status.Conditions` status field:

[source,bash]
----
Status:
  Conditions:
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                True
    Type:                  Available
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                True
    Type:                  Upgradeable
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                False
    Type:                  Progressing
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                False
    Type:                  Degraded
----

The `Status` field contains `Conditions` that specify `Type` values that indicate the status of the performance profile:

`Available`:: All machine configs and Tuned profiles have been created successfully and are available for cluster components, such as NTO, MCO, Kubelet, that are responsible to process them.

`Upgradeable`:: Indicates whether the resources maintained by the Operator are in a state that is safe to upgrade.

`Progressing`:: Indicates that the deployment process from the performance profile has started.

`Degraded`:: Indicates an error if:
+
* Validation of the performance profile has failed.
* Creation of all relevant components did not complete successfully.

Each of these types contain the following fields:

`Status`:: The state for the specific type (`true` or `false`).
`Timestamp`:: The transaction timestamp.
`Reason string`:: The machine readable reason.
`Message string`:: The human readable reason describing the state and error details, if any.
