protected override IUnitsModel GetModel()
        {
            IThreadCollection collection = ProfilingViewModel.Application.ServiceContainer.Resolve <IThreadCollection>();
            ThreadsModel      model      = new ThreadsModel(collection);

            return(model);
        }
        public void ImportServices(IServiceContainer container)
        {
            IFunctionCollection  functions      = container.Resolve <IFunctionCollection>();
            IThreadCollection    threads        = container.Resolve <IThreadCollection>();
            IEventMessageBuilder messageBuilder = container.Resolve <IEventMessageBuilder>();

            IManagedFunctionCallEventMessage functionCallEventMessage = new ManagedFunctionCallEventMessage(functions);

            messageBuilder.RegisterMessage(ManagedFunctionCallEventMessage.EventType, functionCallEventMessage);

            IManagedToUnmanagedTransactionEventMessage managedToUnmanagedTransactionEventMessage = new ManagedToUnmanagedTransactionEventMessage();

            messageBuilder.RegisterMessage(ManagedToUnmanagedTransactionEventMessage.EventType, managedToUnmanagedTransactionEventMessage);

            IUnmanagedToManagedTransactionEventMessage unmanagedToManagedTransactionEventMessage = new UnmanagedToManagedTransactionEventMessage();

            messageBuilder.RegisterMessage(UnmanagedToManagedTransactionEventMessage.EventType, unmanagedToManagedTransactionEventMessage);

            IThreadCreateEventMessage threadCreateEventMessage = new ThreadCreateEventMessage(threads);

            messageBuilder.RegisterMessage(ThreadCreateEventMessage.EventType, threadCreateEventMessage);

            IThreadDestroyEventMessage threadDestroyEventMessage = new ThreadDestroyEventMessage(threads);

            messageBuilder.RegisterMessage(ThreadDestroyEventMessage.EventType, threadDestroyEventMessage);
        }
        protected override void Initialize()
        {
            base.Initialize();
            IThreadCollection unitCollection = Session.Daemon.Container.Resolve <IThreadCollection>();

            Model = new UnitCollectionModel <ThreadInfo>(unitCollection);
        }
示例#4
0
 public ThreadsModel(IThreadCollection units)
 {
     Units   = units;
     Columns = new List <GridViewDynamicColumn>
     {
         new GridViewDynamicColumn("Id", "Uid", FilterById),
         new GridViewDynamicColumn("Name", "Name", FilterByName)
     };
 }
        public void ImportServices(IServiceContainer container)
        {
            IEventsFormatter    eventsFormatter = container.Resolve <IEventsFormatter>();
            IFunctionCollection functions       = container.Resolve <IFunctionCollection>();
            IThreadCollection   threads         = container.Resolve <IThreadCollection>();

            eventsFormatter.RegisterFormatter(new FunctionCallEventFormatter(functions));
            eventsFormatter.RegisterFormatter(new RootEventFormatter(threads));
        }
示例#6
0
        internal static string BuildMessageInternal(IEvent @event, IThreadCollection threads)
        {
            ThreadInfo threadInfo = threads[@event.Unit];

            if (threadInfo == null)
            {
                return("<UNKNOWN THREAD DESTROYED>");
            }
            return(string.Format("Thread {0} destroyed", threadInfo.Id));
        }
示例#7
0
        public PerformanceBalancer(IThreadCollection threadCollection, IWorkItemCollection workItemCollection, PerformanceBalanceSettings settings)
        {
            settings.Check();

            this.threadCollection = threadCollection;

            this.workItemCollection = workItemCollection;

            this.strategies = (settings.PerformanceBalancerStrategies ?? new List <IPerformanceBalancerStrategy>()).ToArray();

            this.settings = settings;
        }
示例#8
0
 public void SetDependencies(IThreadCollection threads)
 {
     _threads = threads;
 }
示例#9
0
 public ThreadDestroyEventMessage(IThreadCollection threads)
 {
     _threads = threads;
 }
示例#10
0
 public RootEventFormatter(IThreadCollection threads)
 {
     _threads = threads;
 }
示例#11
0
 public ThreadCreateEventMessage(IThreadCollection threads)
 {
     _threads = threads;
 }
 protected override IUnitsModel CreateModel(ISession session)
 {
     IThreadCollection units = session.ServiceContainer.Resolve<IThreadCollection>();
     return new ThreadsModel(units);
 }