X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fconfig.hpp;fp=src%2Fconfig.hpp;h=5fb4ab855c75dd426772ba74254e6db107c6782d;hb=21cdadb66c906c19f1b21687512dcb081caed7c9;hp=0000000000000000000000000000000000000000;hpb=95f44a5947a1f340db94b9d821e16e4a373e6e69;p=ric-plt%2Ftracelibcpp.git diff --git a/src/config.hpp b/src/config.hpp new file mode 100644 index 0000000..5fb4ab8 --- /dev/null +++ b/src/config.hpp @@ -0,0 +1,46 @@ +#ifndef _TRACELIB_CONFIG_HPP_ +#define _TRACELIB_CONFIG_HPP_ + +#include +#include + +#define TRACING_ENABLED_ENV "TRACING_ENABLED" +#define JAEGER_SAMPLER_TYPE_ENV "TRACING_JAEGER_SAMPLER_TYPE" +#define JAEGER_SAMPLER_PARAM_ENV "TRACING_JAEGER_SAMPLER_PARAM" +#define JAEGER_AGENT_ADDR_ENV "TRACING_JAEGER_AGENT_ADDR" +#define JAEGER_LOG_LEVEL_ENV "TRACING_JAEGER_LOG_LEVEL" + +namespace tracelibcpp +{ + typedef enum { + LOG_ALL, + LOG_ERR, + LOG_NONE + } LogLevel; + class ConfMaker { + public: + ConfMaker(std::string serviceName): + name(serviceName) {} + + std::string getEnv(const char* envName, std::string defVal); + + bool isTracingEnabled(void); + + jaegertracing::Config makeNopTraceConfig(void); + + jaegertracing::samplers::Config getSamplerConfig(void); + + jaegertracing::reporters::Config getReporterConfig(void); + + LogLevel getLoggingLevel(void); + + std::unique_ptr getLogger(void); + + jaegertracing::Config getTraceConfig(void); + + private: + std::string name; + }; +} + +#endif