public CPlaza2Connector() : base("Plaza2Connector")
        {
            _componentFactory = new CComponentFactory(_logger);


            //note. not possible to create in base class
            //Messenger = new CMessenger();


            StockExchId = CodesStockExch._01_MoexFORTS;

            UseRealServer = CUtil.GetEnvVariableBool("USE_REAL_PLAZA2_SERVER");



            Sounder = new CSounder();



            LogServer = new CLogServer();

            //  Instruments = new CListInstruments();

            //TO DO read last revisions from file


            ReadDataFromFiles();

            (new System.Threading.Thread(ThreadDumpLastDataToFiles)).Start();

            (new Task(TaskRoundtripTime)).Start();


            //CreateGUIEvents();



            //StartGateIfNeed();
            OpenCgate();

            // (new System.Threading.Thread(ThreadResourcesAnalyzer)).Start();


            // string tmp = CUtil.GetTemp();

            IsPossibleEmptyInstrCancellOrders = true;
            IsPossibleNativeCancellOrdByInstr = true;
        }
示例#2
0
        public TestLogPerf()
        {
            //System.Runtime.GCSettings.LatencyMode = System.Runtime.GCLatencyMode.LowLatency;


            //  CUtil.IncreaseProcessPriority();

            Thread.CurrentThread.Priority = ThreadPriority.Highest;


            InitTicks();
            CDealsList dl = new CDealsList();

            dl.DealsList = new List <CDealClass>();


            CLogServer  lgSrv         = new CLogServer();
            List <long> lstHighTck    = new List <long>();
            List <long> lstHighLogTck = new List <long>();

            LogBuff = new CLoggerBuffered("TestLogPerf", lgSrv);
            (new Thread(ThreadLogProducer)).Start();
            Stopwatch swTotal = new Stopwatch();

            LogBuff.Log("--------------started----------------------------");
            swTotal.Start();

            long beforeTck    = 0;
            long afterTck     = 0;
            long deltaTck     = 0;
            long beforeLogTck = 0;
            long afterLogTck  = 0;
            long deltalogTck  = 0;
            long deltaCycle   = 0;

            for (int i = 0; i < 10000; i++)
            {
                beforeTck = swTotal.ElapsedTicks;
                int fac = 1;
                // for (int j = 1; j < 20; j++)
                //   fac *= j;
                CDealsAgregator da = new CDealsAgregator(100, 1M);
                da.GenAggrPrice(sourceLst, dl.DealsList);


                //CDealsAgregator da = new CDealsAgregator(sourceLst, dl.DealsList, 100,1M);


                afterTck = swTotal.ElapsedTicks;
                deltaTck = afterTck - beforeTck;

                deltalogTck = afterLogTck - beforeLogTck;
                deltaCycle  = beforeTck - afterLogTck;

                beforeLogTck = swTotal.ElapsedTicks;

                long     d1  = 1;
                DateTime dt  = DateTime.Now;
                string   st1 = "sssssss";
                decimal  dc1 = 32132.24343M;

                LogMsg(new CLogStruct
                {
                    I           = i,
                    DeltaTck    = deltaTck,
                    DeltaLogTck = deltalogTck,
                    DeltaCycle  = deltaCycle,
                    D1          = d1,
                    Dt          = dt,
                    St1         = st1,
                    dc1         = dc1,
                    LargeStr    =
                        " 121323232434gdfgdgdsfgdfgsdgdfgsfdgsdgdsfgsdfgsdfgdfgsdfgsdfgfdsgsdg"
                }
                       );
                if (deltaTck > 100 && i > 0)
                {
                    lstHighTck.Add(deltaTck);
                }
                if (deltalogTck > 100)
                {
                    lstHighLogTck.Add(deltalogTck);
                }


                //LogBuff.Log("i= " + i + " deltaTck=" + deltaTck + " deltaLogTck=" + deltalogTck+"  "

                //+ d1+dt+st1+dc1
                // +" 121323232434gdfgdgdsfgdfgsdgdfgsfdgsdgdsfgsdfgsdfgdfgsdfgsdfgfdsgsdg"
                //);
                afterLogTck = swTotal.ElapsedTicks;
            }


            swTotal.Stop();
            Thread.Sleep(2000);
            LogBuff.Log("eclapsed ms=" + swTotal.ElapsedMilliseconds + " ticks=" + swTotal.ElapsedTicks);
            LogBuff.Log("high tick ======");
            foreach (var v in lstHighTck)
            {
                LogBuff.Log(" tick=" + v);
            }

            LogBuff.Log("high tick log======");
            foreach (var v in lstHighLogTck)
            {
                LogBuff.Log(" log tick=" + v);
            }

            LogBuff.Log("--------finished-------------------------------------------");
        }