Iterable<MetricsRecordImpl> getMetrics(MetricsCollectorImpl builder, boolean all) { builder.setRecordFilter(recordFilter).setMetricFilter(metricFilter); try { source.getMetrics(builder, all); } catch (Exception e) { LOG.error("Error getting metrics from source "+ name, e); } for (MetricsRecordBuilderImpl rb : builder) { for (MetricsTag t : injectedTags) { rb.add(t); } } return builder.getRecords(); }
Iterable<MetricsRecordImpl> getMetrics(MetricsCollectorImpl builder, boolean all) { builder.setRecordFilter(recordFilter).setMetricFilter(metricFilter); try { source.getMetrics(builder, all); } catch (Exception e) { LOG.error("Error getting metrics from source "+ name, e); } for (MetricsRecordBuilderImpl rb : builder) { for (MetricsTag t : injectedTags) { rb.add(t); } } return builder.getRecords(); }
Iterable<MetricsRecordImpl> getMetrics(MetricsCollectorImpl builder, boolean all) { builder.setRecordFilter(recordFilter).setMetricFilter(metricFilter); try { source.getMetrics(builder, all); } catch (Exception e) { LOG.error("Error getting metrics from source "+ name, e); } for (MetricsRecordBuilderImpl rb : builder) { for (MetricsTag t : injectedTags) { rb.add(t); } } return builder.getRecords(); }
Iterable<MetricsRecordImpl> getMetrics(MetricsCollectorImpl builder, boolean all) { builder.setRecordFilter(recordFilter).setMetricFilter(metricFilter); synchronized(this) { if (lastRecs == null && jmxCacheTS == 0) { all = true; // Get all the metrics to populate the sink caches } } try { source.getMetrics(builder, all); } catch (Exception e) { LOG.error("Error getting metrics from source "+ name, e); } for (MetricsRecordBuilderImpl rb : builder) { for (MetricsTag t : injectedTags) { rb.add(t); } } synchronized(this) { lastRecs = builder.getRecords(); return lastRecs; } }
Iterable<MetricsRecordImpl> getMetrics(MetricsCollectorImpl builder, boolean all) { builder.setRecordFilter(recordFilter).setMetricFilter(metricFilter); try { source.getMetrics(builder, all); } catch (Exception e) { LOG.error("Error getting metrics from source "+ name, e); } for (MetricsRecordBuilderImpl rb : builder) { for (MetricsTag t : injectedTags) { rb.add(t); } } return builder.getRecords(); }
@Test public void testPerMetricFiltering() { SubsetConfiguration fc = new ConfigBuilder() .add("p.exclude", "foo").subset("p"); MetricsCollectorImpl mb = new MetricsCollectorImpl(); mb.setMetricFilter(newGlobFilter(fc)); MetricsRecordBuilderImpl rb = mb.addRecord("foo"); rb.tag(info("foo", ""), "").addCounter(info("c0", ""), 0) .addGauge(info("foo", ""), 1); assertEquals("1 tag", 1, rb.tags().size()); assertEquals("1 metric", 1, rb.metrics().size()); assertEquals("expect foo tag", "foo", rb.tags().get(0).name()); assertEquals("expect c0", "c0", rb.metrics().get(0).name()); } }
@Test public void testPerMetricFiltering() { SubsetConfiguration fc = new ConfigBuilder() .add("p.exclude", "foo").subset("p"); MetricsCollectorImpl mb = new MetricsCollectorImpl(); mb.setMetricFilter(newGlobFilter(fc)); MetricsRecordBuilderImpl rb = mb.addRecord("foo"); rb.tag(info("foo", ""), "").addCounter(info("c0", ""), 0) .addGauge(info("foo", ""), 1); assertEquals("1 tag", 1, rb.tags().size()); assertEquals("1 metric", 1, rb.metrics().size()); assertEquals("expect foo tag", "foo", rb.tags().get(0).name()); assertEquals("expect c0", "c0", rb.metrics().get(0).name()); } }