private void ValidateVersion2(SamplingConfiguration samplingConfiguration, SamplingRule rule)
 {
     if (rule.Host == null || rule.HttpMethod == null || rule.UrlPath == null ||
         rule.FixedTarget == -1 || rule.Rate == -1d || rule.ServiceName != null)
     {
         throw new InvalidSamplingConfigurationException(
                   string.Format(
                       CultureInfo.InvariantCulture,
                       @"Missing required fields for sampling rules ({0}). ""host"", ""http_method"", ""url_path"", ""fixed_target"", ""rate"" are required.",
                       rule));
     }
 }
        private bool IsValidVersion1(SamplingConfiguration samplingConfiguration, SamplingRule rule)
        {
            if (samplingConfiguration.Version == 1)
            {
                if (rule.ServiceName == null || rule.HttpMethod == null || rule.UrlPath == null ||
                    rule.FixedTarget == -1 || rule.Rate == -1d || rule.Host != null)
                {
                    throw new InvalidSamplingConfigurationException(
                              string.Format(
                                  CultureInfo.InvariantCulture,
                                  @"Missing required fields for sampling rules ({0}). ""service_name"", ""http_method"", ""url_path"", ""fixed_target"", ""rate"" are required.",
                                  rule));
                }

                return(true);
            }

            return(false);
        }