CVB++ 15.0
Loading...
Searching...
No Matches
Cvb::Telemetry Namespace Reference

Namespace for telemetry. More...

Classes

class  AttributeMap
 A attribute map for telemetry data. More...
 
class  Context
 The telemetry context. More...
 
class  Log
 A log object to stream messages. More...
 
class  Module
 A telemetry module or artifact. More...
 
class  Span
 A span object to report traces. More...
 

Enumerations

enum class  LogLevel {
  DEBUG = CExports::CVTLL_Debug , INFO = CExports::CVTLL_Info , WARN = CExports::CVTLL_Warning , ERR = CExports::CVTLL_Error ,
  FATAL = CExports::CVTLL_Fatal
}
 Log level for telemetry. More...
 

Functions

void PropagateContext (const Context &context) noexcept
 Propagates an external context to CVB telemetry.
 

Detailed Description

Namespace for telemetry.

This module offers methods to add OpenTelemetry compliant logs and tracing. There are macros for convenient usage. All methods and functions are designed in a way so that they avoid exceptions and silence errors as much as possible in order to not to interfere with the actual program flow.

Remarks
CMake users: Link to imported target CVB::CvbTelemetry

Enumeration Type Documentation

◆ LogLevel

enum class LogLevel
strong

Log level for telemetry.

They will be translated to OpenTelemtry log levels.

Enumerator
DEBUG 

Logs for debugging, these should be avoided especially in a critical code paths.

INFO 

Logs informing about the current state.

WARN 

Logs warning about the current state, as it is out of the ordinary.

ERR 

Logs indicating errors, that may be ignored.

FATAL 

Logs indicating errors, that cannot be ignored.

Function Documentation

◆ PropagateContext()

void PropagateContext ( const Context & context)
inlinenoexcept

Propagates an external context to CVB telemetry.

Parameters
[in]contextExternal context.
Exceptions
Doesnot throw any exception.