public CommandMetricObserver(AtlasConfig config)
        {
            string poolName = "atlas-" + config.Endpoint;
            int numberOfThreadsAvailableForThePool = 1;

            pool = new WorkPool(poolName, numberOfThreadsAvailableForThePool);
            for (int i = 0; i < numberOfThreadsAvailableForThePool; i++)
            {
                pool.AddWork(new MetricPublishTask(config));
            }
        }
 public AtlasMetricPublisher(AtlasConfig config)
 {
     client = new RestClient(config.Hostname);
     client.AddDefaultHeader("Content-Type", "application'/json");
     resourceLocation = config.Endpoint;
 }
 public MetricPublishTask(AtlasConfig config)
 {
     if (config == null) throw new ArgumentNullException(nameof(config));
     this.config = config;
 }