docs: public void start() {
      if (scheduler == null) {
        // Setup main collection for publishing to Atlas
        Scheduler.Options options = new Scheduler.Options()
            .withFrequency(Scheduler.Policy.FIXED_RATE_SKIP_IF_LONG, step)
            .withInitialDelay(Duration.ofMillis(getInitialDelay(stepMillis)))
            .withStopOnFailure(false);
        scheduler = new Scheduler(this, "spectator-reg-atlas", numThreads);
        scheduler.schedule(options, this::collectData);
        logger.info("started collecting metrics every {} reporting to {}", step, uri);
        logger.info("common tags: {}", commonTags);
  
        // Setup collection for subscriptions
        Scheduler.Options subOptions = new Scheduler.Options()
            .withFrequency(Scheduler.Policy.FIXED_DELAY, configRefreshFrequency)
            .withStopOnFailure(false);
        scheduler.schedule(subOptions, this::fetchSubscriptions);
      } else {
        logger.warn("registry already started, ignoring duplicate request");
      }
    }