public void TestSetup() { collections = new List <GarbageCollectionInfo>(); monitor = new GarbageCollectionMonitor(); monitor.LogCollections(new SynchronousConsoleLog(), null); monitor.Subscribe(this); }
private void RegisterGcMonitor(SystemMetricsSettings settings, BuildContext context, IMetricContext metricContext) { var gcMonitor = new GarbageCollectionMonitor(); context.HostExtensions.AsMutable().Add(gcMonitor); context.DisposableHostExtensions.Add(gcMonitor); if (settings.EnableGcEventsLogging) { context.DisposableHostExtensions.Add(gcMonitor.LogCollections(context.Log, gc => gc.Duration >= settings.GcMinimumDurationForLogging)); } if (settings.EnableGcEventsMetrics) { context.DisposableHostExtensions.Add(gcMonitor.ReportMetrics(metricContext)); } }
/// <summary> /// Create a new instance /// </summary> //JAVA TO C# CONVERTER WARNING: The following constructor is declared outside of its associated class: //ORIGINAL LINE: public DefaultAudioPlayerManager() public DefaultAudioPlayerManager() { sourceManagers = new List <>(); // Executors trackPlaybackExecutorService = new ThreadPoolExecutor(1, int.MaxValue, 10, TimeUnit.SECONDS, new SynchronousQueue(), new DaemonThreadFactory("playback")); trackInfoExecutorService = ExecutorTools.createEagerlyScalingExecutor(1, DEFAULT_LOADER_POOL_SIZE, TimeUnit.SECONDS.toMillis(30), LOADER_QUEUE_CAPACITY, new DaemonThreadFactory("info-loader")); scheduledExecutorService = Executors.newScheduledThreadPool(1, new DaemonThreadFactory("manager")); orderedInfoExecutor = new OrderedExecutor(trackInfoExecutorService); // Configuration trackStuckThreshold = TimeUnit.MILLISECONDS.toNanos(10000); configuration = new AudioConfiguration(); cleanupThreshold = new AtomicLong(DEFAULT_CLEANUP_THRESHOLD); frameBufferDuration = DEFAULT_FRAME_BUFFER_DURATION; useSeekGhosting = true; outputHookFactory = null; // Additional services remoteNodeManager = new RemoteNodeManager(this); garbageCollectionMonitor = new GarbageCollectionMonitor(scheduledExecutorService); lifecycleManager = new AudioPlayerLifecycleManager(scheduledExecutorService, cleanupThreshold); lifecycleManager.initialise(); }