public void CreateCollection() { FlowControlOneMs fcom = new FlowControlOneMs(); var fcommongo = fcom.mongo_fcom.QueryMongo().AsParallel().ToList(); var cnt_t = fcommongo.Count(); var size_t = fcommongo.Sum(e => e.ip_len); var query = from p in fcommongo group p by p.Flow_Control_MsgType into ttt select new N201UXIDStaticsDocument { _id = GenerateId(), message_type = ttt.Key, cnt = ttt.Count(), cnt_total = cnt_t, cnt_percent = 1.0 * ttt.Count() / cnt_t, size = ttt.Sum(e => e.ip_len), size_total = size_t, size_percent = 1.0 * ttt.Sum(e => e.ip_len) / size_t, }; mongo_fcmr.BulkMongo(query.ToList(), true); }
public void CreateCollection() { FlowControlOneMs fcom = new FlowControlOneMs(); var beginframes = fcom.mongo_fcom.QueryMongo().AsParallel().ToLookup(e => e.BeginFrameNum); foreach (var m in beginframes) { var fc = m.Where(e => e.Flow_Control_MsgType.StartsWith(msfc_msg)).OrderBy(e => e.PacketNum).FirstOrDefault(); if (fc != null) { var fcb = m .Where(e => e.Flow_Control_MsgType.StartsWith("GMMSM.")) .Where(e => e.Flow_Control_MsgType.StartsWith("GMMSM.GMM Information") == false) .Where(e => e.PacketNum < fc.PacketNum) .OrderByDescending(e => e.PacketNum).FirstOrDefault(); if (fcb != null) { N201UXIDBeforeMessageDocument fcbm = new N201UXIDBeforeMessageDocument(); fcbm._id = m.Key; fcbm.fc_msg = fc.Flow_Control_MsgType; fcbm.fc_packetnum = fc.PacketNum; fcbm.fc_packettime = fc.Flow_Control_time; fcbm.bssgp_ms_bucket_size = fc.bucket_size; fcbm.bssgp_bucket_leak_rate = fc.leak_rate; fcbm.bssgp_bucket_full_ratio = fc.bucket_ratio; TimeSpan ts = fc.Flow_Control_time - fcb.Flow_Control_time; fcbm.duration = ts.TotalSeconds; fcbm.fcb_msg = fcb.Flow_Control_MsgType; fcbm.fcb_packetnum = fcb.PacketNum; fcbm.fcb_packettime = fcb.Flow_Control_time; mongo_fcbm.MongoCol.Insert(fcbm); } } } }
//FlowControlOneMs private void navBarItem6_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs ee) { FlowControlOneMs fcom = new FlowControlOneMs(); var query = from p in fcom.mongo_fcom.QueryMongo() select new { p._id, p.BeginFrameNum, p.Flow_Control_time, p.PacketNum, p.ip_len, p.Flow_Control_MsgType, p.bssgp_direction, p.bucket_size, p.leak_rate, }; clearColumns(); var dborder = query.OrderBy(e => e._id).Take(100); gridControl1.DataSource = dborder.AsParallel().ToList(); gridView1.OptionsView.ColumnAutoWidth = true; }