/// <summary> /// Create Summary /// </summary> /// <param name="name">Name.</param> /// <param name="help">Help text.</param> /// <param name="options">Metric flags</param> /// <param name="labels">Array of label names.</param> /// <param name="objectives">.</param> /// <param name="maxAge"></param> /// <param name="ageBuckets"></param> /// <param name="bufCap"></param> public IMetricFamily <ISummary> CreateSummary( string name, string help, IReadOnlyList <QuantileEpsilonPair> objectives = null, TimeSpan?maxAge = null, int?ageBuckets = null, int?bufCap = null, MetricFlags options = MetricFlags.Default, params string[] labels) { var metric = TryGetByName <IMetricFamily <ISummary> >(name); if (metric == null) { var configuration = new SummaryConfiguration(name, help, labels, options, objectives, maxAge, ageBuckets, bufCap); metric = GetSummaryFactory(labels?.Length ?? 0)(this, configuration); } ValidateLabelNames(metric.LabelNames, labels); return(metric); }
/// <summary> /// Create Summary /// </summary> /// <param name="name">Name.</param> /// <param name="help">Help text.</param> /// <param name="includeTimestamp">Include unix timestamp for metric.</param> /// <param name="labelNames">Array of label names.</param> /// <param name="objectives">.</param> /// <param name="maxAge"></param> /// <param name="ageBuckets"></param> /// <param name="bufCap"></param> public IMetricFamily <ISummary> CreateSummary( string name, string help, string[] labelNames, bool includeTimestamp = false, IReadOnlyList <QuantileEpsilonPair> objectives = null, TimeSpan?maxAge = null, int?ageBuckets = null, int?bufCap = null) { var metric = TryGetByName <IMetricFamily <ISummary> >(name); if (metric == null) { var configuration = new SummaryConfiguration(name, help, labelNames, includeTimestamp, objectives, maxAge, ageBuckets, bufCap); metric = GetSummaryFactory(labelNames?.Length ?? 0)(this, configuration); } else { ValidateLabelNames(metric.LabelNames, labelNames); } return(metric); }