public static ICollectorRegistry UseDotNetStats(this ICollectorRegistry registry)
        {
            registry.Add(nameof(GCCollectionCountCollector), new GCCollectionCountCollector());
            registry.Add(nameof(GCTotalMemoryCollector), new GCTotalMemoryCollector());

            return(registry);
        }
        public static ICollectorRegistry UseDotNetStats(this ICollectorRegistry registry, string prefixName)
        {
            registry.Add(new GCCollectionCountCollector(prefixName));
            registry.Add(new GCTotalMemoryCollector(prefixName));

            return(registry);
        }
        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);
        }
        public static void MoveTo(this ICollectorRegistry registry, string collectorName, ICollectorRegistry destination)
        {
            if (destination == null)
            {
                throw new ArgumentNullException(nameof(destination));
            }

            var collector = registry.Remove(collectorName);

            if (collector == null)
            {
                throw new ArgumentOutOfRangeException(nameof(collectorName), collectorName, "Collector does not exist in the source registry");
            }

            destination.Add(collector);
        }
        public static ICollectorRegistry UseProcessStats(this ICollectorRegistry registry, string prefixName)
        {
            registry.Add(new ProcessCollector(Process.GetCurrentProcess(), prefixName));

            return(registry);
        }
        public static ICollectorRegistry UseProcessStats(this ICollectorRegistry registry)
        {
            registry.Add(new ProcessCollector(Process.GetCurrentProcess()));

            return(registry);
        }