// Constructors
 public ServiceMetricBuilder(string measurement = null)
 {
     // TODO: [TESTS] (ServiceMetricBuilder) Add tests
     _builder = new MetricBuilder(MetricSource.ServiceCall, measurement)
                // Tags
                .WithTag(Tags.ServiceName, string.Empty)
                .WithTag(Tags.ServiceMethod, string.Empty)
                .WithTag(Tags.Category, string.Empty)
                .WithTag(Tags.SubCategory, string.Empty)
                .WithTag(CoreMetricTag.CustomTag1, string.Empty)
                .WithTag(CoreMetricTag.CustomTag2, string.Empty)
                .WithTag(CoreMetricTag.CustomTag3, string.Empty)
                .WithTag(CoreMetricTag.CustomTag4, string.Empty)
                .WithTag(CoreMetricTag.CustomTag5, string.Empty)
                // Fields
                .WithField(CoreMetricField.CustomTiming1, (long)0)
                .WithField(CoreMetricField.CustomTiming2, (long)0)
                .WithField(CoreMetricField.CustomTiming3, (long)0)
                .WithField(CoreMetricField.CustomTiming4, (long)0)
                .WithField(CoreMetricField.CustomTiming5, (long)0)
                .WithField(CoreMetricField.CustomTiming6, (long)0)
                .WithField(CoreMetricField.CustomInt1, 0)
                .WithField(CoreMetricField.CustomInt2, 0)
                .WithField(CoreMetricField.CustomInt3, 0)
                .WithField(CoreMetricField.CustomInt4, 0)
                .WithField(CoreMetricField.CustomInt5, 0)
                .WithField(CoreMetricField.CustomInt6, 0)
                .WithField(CoreMetricField.CustomLong1, (long)0)
                .WithField(CoreMetricField.CustomLong2, (long)0)
                .WithField(CoreMetricField.CustomLong3, (long)0)
                .WithField(Fields.QueryCount, 0)
                .WithField(Fields.ResultsCount, 0);
 }
        // Constructors
        public RepoMetricBuilder(string measurement = null)
        {
            // TODO: [TESTS] (RepoMetricBuilder) Add tests
            _queryCount   = 0;
            _resultsCount = 0;

            _builder = new MetricBuilder(MetricSource.RepoCall, measurement)
                       // Tags
                       .WithTag(Tags.RepoName, string.Empty)
                       .WithTag(Tags.RepoMethod, string.Empty)
                       .WithTag(Tags.CommandType, string.Empty)
                       .WithTag(Tags.Connection, string.Empty)
                       .WithTag(Tags.HasParameters, false)
                       .WithTag(CoreMetricTag.CustomTag1, string.Empty)
                       .WithTag(CoreMetricTag.CustomTag2, string.Empty)
                       .WithTag(CoreMetricTag.CustomTag3, string.Empty)
                       .WithTag(CoreMetricTag.CustomTag4, string.Empty)
                       .WithTag(CoreMetricTag.CustomTag5, string.Empty)
                       // Fields
                       .WithField(Fields.QueryCount, 0)
                       .WithField(Fields.ResultsCount, 0)
                       .WithField(CoreMetricField.CustomTiming1, (long)0)
                       .WithField(CoreMetricField.CustomTiming2, (long)0)
                       .WithField(CoreMetricField.CustomTiming3, (long)0)
                       .WithField(CoreMetricField.CustomTiming4, (long)0)
                       .WithField(CoreMetricField.CustomTiming5, (long)0);
        }