public virtual MetricsRecordImpl GetRecord() { if (acceptable && (recordFilter == null || recordFilter.Accepts(tags))) { return(new MetricsRecordImpl(recInfo, timestamp, Tags(), Metrics())); } return(null); }
private static void ShouldAcceptImpl(bool expectAcceptList, SubsetConfiguration conf , IList <MetricsTag> tags, bool[] expectedAcceptedSpec) { MetricsFilter globFilter = NewGlobFilter(conf); MetricsFilter regexFilter = NewRegexFilter(conf); // Test acceptance of the tag list: Assert.Equal("accepts " + tags, expectAcceptList, globFilter.Accepts (tags)); Assert.Equal("accepts " + tags, expectAcceptList, regexFilter. Accepts(tags)); // Test results on each of the individual tags: int acceptedCount = 0; for (int i = 0; i < tags.Count; i++) { MetricsTag tag = tags[i]; bool actGlob = globFilter.Accepts(tag); bool actRegex = regexFilter.Accepts(tag); Assert.Equal("accepts " + tag, expectedAcceptedSpec[i], actGlob ); // Both the filters should give the same result: Assert.Equal(actGlob, actRegex); if (actGlob) { acceptedCount++; } } if (expectAcceptList) { // At least one individual tag should be accepted: Assert.True("No tag of the following accepted: " + tags, acceptedCount > 0); } else { // At least one individual tag should be rejected: Assert.True("No tag of the following rejected: " + tags, acceptedCount < tags.Count); } }
public virtual MetricsRecordBuilderImpl AddRecord(MetricsInfo info) { bool acceptable = recordFilter == null || recordFilter.Accepts(info.Name()); MetricsRecordBuilderImpl rb = new MetricsRecordBuilderImpl(this, info, recordFilter , metricFilter, acceptable); if (acceptable) { rbs.AddItem(rb); } return(rb); }
public override MetricsRecordBuilder AddCounter(MetricsInfo info, int value) { if (acceptable && (metricFilter == null || metricFilter.Accepts(info.Name()))) { metrics.AddItem(new MetricCounterInt(info, value)); } return(this); }
public virtual MetricsBuffer SampleMetrics() { lock (this) { collector.Clear(); MetricsBufferBuilder bufferBuilder = new MetricsBufferBuilder(); foreach (KeyValuePair <string, MetricsSourceAdapter> entry in sources) { if (sourceFilter == null || sourceFilter.Accepts(entry.Key)) { SnapshotMetrics(entry.Value, bufferBuilder); } } if (publishSelfMetrics) { SnapshotMetrics(sysSource, bufferBuilder); } MetricsBuffer buffer = bufferBuilder.Get(); return(buffer); } }