-
Notifications
You must be signed in to change notification settings - Fork 15
Description
I'm trying to embed the tracer in a plugin. I need to perform the config finalization in a class method. However, it appears that there is no public default constructor or a copy constructor for FinalizedTracerConfig.
i.e. I don't seem to be able to do the following:
class Foo {
public:
void Init()
{
MaybeConfig = finalize_config(TracerConfig()):
if (!MaybeConfig.if_error())
Config = *MaybeConfig;
}
private:
FinalizedTracerConfig Config;
};Compiling this won't even generate a constructor:
'Foo::Foo(void)': function was implicitly deleted because a base class invokes a deleted or inaccessible function 'datadog::tracing::FinalizedTracerConfig::FinalizedTracerConfig(void)'
As a plugin I don't have the luxury of specifying an auto variable in my main(), and a member cannot be initialized in the class construtor.
Same goes for a Tracer object. I wish to initialize a global config and a Tracer object at application startup, and then be able to refer to them as needed.
Is there some pattern I'm not seeing in how to initialized a tracing context and store it away somewhere?