Esempio n. 1
0
 private void ConfigureTasks(Alex.Alex alex)
 {
     MetricTasks.Add(new SystemPerformanceCountersTask());
     MetricTasks.Add(new ProfilerMetrics(alex));
     MetricTasks.Add(new GPUMetricsTask());
     MetricTasks.Add(new WorldMetrics(alex));
 }
Esempio n. 2
0
        public ProfilerMetrics(Alex.Alex alex)
        {
            Alex = alex;

            ProfilerService = alex.Services.GetService <ProfilerService>();
            ProfilerService.OnProfilerStarted += ProfilerServiceOnOnProfilerStarted;
            ProfilerService.OnProfilerStopped += ProfilerServiceOnOnProfilerStopped;
        }
Esempio n. 3
0
        public ProfilerMetrics(Alex.Alex alex)
        {
            Alex = alex;

            ProfilerService = alex.Services.GetService <ProfilerService>();
            ProfilerService.OnProfilerStarted       += ProfilerServiceOnOnProfilerStarted;
            ProfilerService.OnProfilerStopped       += ProfilerServiceOnOnProfilerStopped;
            ProfilerService.OnCounter               += ProfilerServiceOnOnCounter;
            ProfilerService.OnGenericProfilingEvent += ProfilerServiceOnOnGenericProfilingEvent;
        }
Esempio n. 4
0
        public override void Disabled(Alex.Alex alex)
        {
            if (!_isRunning)
            {
                return;
            }
            _isRunning = !_isRunning;

            _metricTimer.Change(Timeout.Infinite, Timeout.Infinite);

            _threadCancellationTokenSource.Cancel();

            //_thread.Abort();
            // _thread.Join();

            Log.Info($"Metrics plugin disabled!");
        }
Esempio n. 5
0
        public override void Enabled(Alex.Alex alex)
        {
            if (_isRunning)
            {
                return;
            }
            _isRunning = true;

            ConfigureTasks(alex);

            foreach (var task in MetricTasks.ToArray())
            {
                task.Configure(Metrics);
            }

            _threadCancellationTokenSource = new CancellationTokenSource();

            _metricTimer = new Timer(async state => await Run(), null, 0, 1000);

            Log.Info($"Metrics plugin enabled!");
        }
Esempio n. 6
0
 public WorldMetrics(Alex.Alex alex)
 {
     Alex = alex;
 }