blob: 240c1b7d7c619b85aa201ed92ffba09ed085b3e2 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_OPTIMIZATION_GUIDE_CORE_EXECUTION_STATUS_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_CORE_EXECUTION_STATUS_H_
#include <string>
namespace optimization_guide {
// The status of a model execution. These values are logged to UMA histograms,
// do not change or reorder values. Make sure to update
// |OptimizationGuideExecutionStatus| in //tools/metrics/histograms/enums.xml.
enum class ExecutionStatus {
// Status is unknown.
kUnknown = 0,
// Execution finished successfully.
kSuccess = 1,
// Execution is still pending.
kPending = 2,
// Execution failed because the model file is not available.
kErrorModelFileNotAvailable = 3,
// Execution failed because the model file could not be loaded into TFLite.
kErrorModelFileNotValid = 4,
// Execution failed because the input was empty or otherwise invalid.
kErrorEmptyOrInvalidInput = 5,
// Execution failed because of an unknown error.
kErrorUnknown = 6,
// Execution was cancelled. This can happen if the execution took too long to
// finish and it was automatically cancelled after an experiment-controlled
// timeout.
kErrorCancelled = 7,
kMaxValue = kErrorCancelled,
};
// Returns a string representation of |status|.
std::string ExecutionStatusToString(ExecutionStatus status);
} // namespace optimization_guide
#endif // COMPONENTS_OPTIMIZATION_GUIDE_CORE_EXECUTION_STATUS_H_