public static IDisposable LogLookups([NotNull] this DnsMonitor monitor, [NotNull] ILog log, [CanBeNull] Predicate <DnsLookupInfo> filter)
 => monitor.Subscribe(new LoggingObserver(log, filter));
 public static IDisposable ReportMetrics([NotNull] this DnsMonitor monitor, [NotNull] IMetricContext metricContext, TimeSpan?period = null)
 => monitor.Subscribe(new ReportingObserver(metricContext, period));