IObservability.h#
Fully qualified name: omni/observability/IObservability.h
File members: omni/observability/IObservability.h
// SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
//
// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
// property and proprietary rights in and to this material, related
// documentation and any modifications thereto. Any use, reproduction,
// disclosure or distribution of this material and related documentation
// without an express license agreement from NVIDIA CORPORATION or
// its affiliates is strictly prohibited.
#pragma once
#include "../../carb/Interface.h"
#include "../../carb/logging/Log.h"
#include "../../carb/cpp/StringView.h"
#define omni_observability_IObservability_latest CARB_HEXVERSION(1, 0)
#ifndef omni_observability_IObservability
# define omni_observability_IObservability CARB_HEXVERSION(1, 0)
#endif
namespace carb
{
template <class>
class ObjectPtr;
};
namespace omni
{
namespace observability
{
class IMeter;
constexpr char kEmitLevelSetting[] = "/observability/logs/emitLevel";
constexpr int32_t kDefaultEmitLevelSetting = carb::logging::kLevelWarn;
class IObservability
{
public:
CARB_PLUGIN_INTERFACE_EX("omni::observability::IObservability",
omni_observability_IObservability_latest,
omni_observability_IObservability)
virtual carb::ObjectPtr<IMeter> createMeter(carb::cpp::string_view name,
carb::cpp::string_view version = "",
carb::cpp::string_view schemaUrl = "") = 0;
virtual void flush() = 0;
};
} // namespace observability
} // namespace omni