Exemple #1
0
        private void btnExecute_Click(object sender, EventArgs e)
        {
            bool traceSelected = false;

            switch (cbxTraceClass.SelectedIndex)
            {
            case 0:     //Trace class
                //Trace.Buffers = (int)nudBuffers.Value;
                //Trace.BufferSize = (int)nudBufferSize.Value;
                //Trace.Connect(txtConnectionString.Text, cBoxDatabase.Text, cBoxCollection.Text);
                traceSelected = false;
                break;

            case 1:     //Concurrent trace class
                ConcurrentTrace.NumberOfBuffers = (int)nudBuffers.Value;
                ConcurrentTrace.BufferSize      = (int)nudBufferSize.Value;
                ConcurrentTrace.Connect(cBoxDatabase.Text, cBoxCollection.Text);
                traceSelected = true;
                break;

            case 2:     //Arbiter concurrent trace class
                ArbiterConcurrentTrace.NumberOfBuffers = (int)nudBuffers.Value;
                ArbiterConcurrentTrace.BufferSize      = (int)nudBufferSize.Value;
                ArbiterConcurrentTrace.Connect(cBoxDatabase.Text, cBoxCollection.Text);
                traceSelected = true;
                break;

            default:
                MessageBox.Show("Error in executing the test");
                traceSelected = false;
                break;
            }

            if (!traceSelected)
            {
                return;
            }

            List <Task> tasks = new List <Task>();

            for (int i = 0; i < nudThreads.Value; i++)
            {
                tasks.Add(Task.Factory.StartNew(Print));
            }
        }
Exemple #2
0
        private void Print()
        {
            List <string> stringhe = new List <string>()
            {
                "Ciao", "Come va?", "Tutto bene", "Random text", "Oh bè", "Non so", "Mmmmmh",
                "asdasd", "MongoDB", "Test", "boh boh"
            };

            Random r    = new Random();
            int    rand = r.Next(stringhe.Count);

            Log       l     = new Log(LogLevel.DEBUG, DateTime.Now, new Origin(Thread.CurrentThread.ManagedThreadId), stringhe[rand]);
            Stopwatch stopw = new Stopwatch();

            stopw.Start();

            ConcurrentTrace.Write(l);

            stopw.Stop();
            console.AppendText($"{Task.CurrentId} -> {stopw.ElapsedMilliseconds}");
        }