private TCollector TryGetByName <TCollector>(string name) { if (_registry.TryGet(name, out var collector)) { if (collector is TCollector metric) { return(metric); } ThrowLabelsValidationExceprion(); } return(default);
public static void CopyTo(this ICollectorRegistry registry, string collectorName, ICollectorRegistry destination) { if (destination == null) { throw new ArgumentNullException(nameof(destination)); } if (!registry.TryGet(collectorName, out var collector)) { throw new ArgumentOutOfRangeException(nameof(collectorName), collectorName, "Collector does not exist in the source registry"); } destination.Add(collector); }
private TCollector TryGetByName <TCollector>(string name) where TCollector : class, ICollector { if (_registry.TryGet(name, out var collector)) { if (collector is TCollector metric) { return(metric); } throw new InvalidOperationException($"Duplicated collector name: {name}"); } return(null); }