docs: @Override
      public MetricCollector getInstance() {
          AWSCredentialsProvider provider = AwsSdkMetrics.getCredentialProvider();
          Region region = RegionUtils.getRegion(AwsSdkMetrics.getRegionName());
          Integer qSize = AwsSdkMetrics.getMetricQueueSize();
          Long timeoutMilli = AwsSdkMetrics.getQueuePollTimeoutMilli();
          CloudWatchMetricConfig config = new CloudWatchMetricConfig();
          ClientConfiguration clientConfig = new ClientConfiguration();
          if (provider != null)
              config.setCredentialsProvider(provider);
          if (region != null) {
              String endPoint = region.getServiceEndpoint(AmazonCloudWatch.ENDPOINT_PREFIX);
              config.setCloudWatchEndPoint(endPoint);
          }
          if (qSize != null)
              config.setMetricQueueSize(qSize.intValue());
          if (timeoutMilli != null)
              config.setQueuePollTimeoutMilli(timeoutMilli.longValue());
          config.setClientConfiguration(clientConfig);
          MetricCollectorSupport.startSingleton(config);
          return MetricCollectorSupport.getInstance();
      }