public override void Report(SortedDictionary <string, Gauge> gauges, SortedDictionary <string, Counter> counters, SortedDictionary <string, Histogram> histograms, SortedDictionary <string, Meter> meters, SortedDictionary <string, Timer> timers) { /* * The synchronized is needed here since the `report` method called below is also called by the recurring * scheduled thread. In order to avoid races with that thread we synchronize on the same monitor * before reporting. */ lock ( _graphiteReporter ) { _graphiteReporter.report(gauges, counters, histograms, meters, timers); } }