Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }