CVB++ 15.0
Loading...
Searching...
No Matches
telemetry.hpp
1#pragma once
2
3#include <array>
4
5#include "../_cexports/c_telemetry.h"
6
7#include "../global.hpp"
8
9namespace Cvb
10{
11
12 CVB_BEGIN_INLINE_NS
13
15
24 namespace Telemetry
25 {
27
31 enum class LogLevel
32 {
34 LevelDebug = CExports::CVTLL_Debug,
36 LevelInfo = CExports::CVTLL_Info,
38 LevelWarn = CExports::CVTLL_Warning,
40 LevelError = CExports::CVTLL_Error,
42 LevelFatal = CExports::CVTLL_Fatal
43 };
44
46
51 struct Context
52 {
55 };
56
58
62 inline void PropagateContext(const Context &context) noexcept
63 {
64 CExports::CVTPropagateContext(reinterpret_cast<const CExports::CVTContext &>(context));
65 }
66
67 } // namespace Telemetry
68
69 CVB_END_INLINE_NS
70} // namespace Cvb
Namespace for telemetry.
Definition attribute_map.hpp:16
void PropagateContext(const Context &context) noexcept
Propagates an external context to CVB telemetry.
Definition telemetry.hpp:62
LogLevel
Log level for telemetry.
Definition telemetry.hpp:32
@ LevelFatal
Logs indicating errors, that cannot be ignored.
Definition telemetry.hpp:42
@ LevelInfo
Logs informing about the current state.
Definition telemetry.hpp:36
@ LevelWarn
Logs warning about the current state, as it is out of the ordinary.
Definition telemetry.hpp:38
@ LevelDebug
Logs for debugging, these should be avoided especially in a critical code paths.
Definition telemetry.hpp:34
@ LevelError
Logs indicating errors, that may be ignored.
Definition telemetry.hpp:40
Root namespace for the Image Manager interface.
Definition version.hpp:11
The telemetry context.
Definition telemetry.hpp:52