public EndpointStatsManager(IEndpointStatsRepository repository, IMonitorSettings settings, ITimeCoordinator timeCoordinator, IEndpointMetricsForwarderCoordinator metricsForwarderCoordinator)
        {
            _repository = repository;
            _settings = settings;
            _timeCoordinator = timeCoordinator;
            _metricsForwarderCoordinator = metricsForwarderCoordinator;

            _cleanerThread = new Thread(Clean) { Name = "StatsCleaner" };
            _cleanerThread.Start();
            _writerThread = new Thread(WriteStats) { Name = "StatsWriter" };
            _writerThread.Start();
        }
        public EndpointStatsManager(IEndpointStatsRepository repository, IMonitorSettings settings, ITimeCoordinator timeCoordinator, IEndpointMetricsForwarderCoordinator metricsForwarderCoordinator)
        {
            _repository                  = repository;
            _settings                    = settings;
            _timeCoordinator             = timeCoordinator;
            _metricsForwarderCoordinator = metricsForwarderCoordinator;

            _cleanerThread = new Thread(Clean)
            {
                Name = "StatsCleaner"
            };
            _cleanerThread.Start();
            _writerThread = new Thread(WriteStats)
            {
                Name = "StatsWriter"
            };
            _writerThread.Start();
        }