public static void InsertData(object param) { string threadId = param.ToString().Split(',')[0]; int batchSize = Convert.ToInt32(param.ToString().Split(',')[1]); int insertTimes = Convert.ToInt32(param.ToString().Split(',')[2]); //Influxdb写入地址 string influxUrl = "http://114.55.6.199:30001/"; string message = string.Empty; message = string.Format("System.Web.HttpRequestValidationException (0x80004005): 从客户端(ajaxEserviceId=\" <? xml version = \"1.0\"...\")中检测到有潜在危险的 Request.QueryString 值。在 System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)在 System.Web.HttpValueCollection.Get(String name)在 Kedao.QianNiuAngular.Controllers.BaseController.OnActionExecuting(ActionExecutingContext filterContext)"); Random randomIndex = new Random(); DateTime start = DateTime.Now; for (int i = 0; i < insertTimes; i++) { StringBuilder log = new StringBuilder(); List <InfluxData.Net.InfluxDb.Models.Point> points = new List <InfluxData.Net.InfluxDb.Models.Point>(); for (int j = 0; j < batchSize; j++) { var pointToWrite = new InfluxData.Net.InfluxDb.Models.Point() { Name = "log", // serie/measurement/table to write into Tags = new Dictionary <string, object>() { { "level", levels[randomIndex.Next(0, 3)] }, { "sellerNick", sellerNicks[randomIndex.Next(0, 58)] }, { "className", className[randomIndex.Next(0, 85)] } }, Fields = new Dictionary <string, object>() { { "createTime", DateTime.Now }, { "message", message }, { "serverIp", "192.168.1.125" } }, Timestamp = DateTime.UtcNow // optional (can be set to any DateTime moment) }; points.Add(pointToWrite); // log.AppendFormat("clx_test,level='{0}',sellerNick='{1}',className='{2}' createTime='{3}',message='{4}',serverIp='{5}'", levels[randomIndex.Next(0, 3)], sellerNicks[randomIndex.Next(0, 58)], className[randomIndex.Next(0, 85)], DateTime.Now, message, "192.168.1.125"); // log.AppendFormat("clx_test,level=ERROR,sellerNick=wdcs,className=contributors createTime='{0}',message=error,serverIp={1} {2}", DateTime.Now, "192.168.1.125", DateTime.Now.Millisecond); // log.Append(System.Environment.NewLine); } InfluxDbClient influxDbClient = new InfluxDbClient(influxUrl, "log", "AsDf123654", InfluxDbVersion.v_1_3); var response = influxDbClient.Client.WriteAsync(points, "clx_test"); #if DEBUG Debug.WriteLine(String.Format("[Error] {0} {1}", 1, 3)); #endif Stopwatch inWatch = new Stopwatch(); inWatch.Start(); //influxUrl = "http://114.55.6.199:30001/query?q=show databases";write?db=clx_test log.Clear(); // string result = httpClient.DoPost(influxUrl, log.ToString()); inWatch.Stop(); long milSeconds = inWatch.ElapsedMilliseconds; DateTime pause = DateTime.Now; double time = (pause - start).TotalMilliseconds; string status = string.Format("进程【{0}】:batch = 【{1}】;current speed = 【{2}】/s;total speed = 【{3}】/s", threadId, batchSize, batchSize * 1000 / milSeconds, batchSize * 1000 * i / time); Console.WriteLine(status); Console.ReadKey(); } }
internal override async Task <RGBWColor[]> GetValueForDates(DateTime start, DateTime end) { var days = (end - start).Days; var result = new RGBWColor[days]; var user = await GetProgressStats(days); lastRefresh = DateTime.UtcNow; int i = days - 1; foreach (var day in user.ProgressStats) { var timeStudiedToday = TimeSpan.FromSeconds((double)day.timeStudied.day); RGBWColor color = mapTimeStudiedToColor(timeStudiedToday); result[i] = color; i--; } if (enable_logging && logThis) { // TODO: Iterate through stats objects to find today. This is naive and will break. var today = user.ProgressStats[days - 1]; var pt = new InfluxData.Net.InfluxDb.Models.Point() { Name = "skritter", Fields = new Dictionary <string, object>() { { "timeStudiedToday", today.timeStudied.day }, { "word.rune.remembered", today.word.rune.remembered.day }, { "word.rune.learned", today.word.rune.learned.day }, { "word.rune.studied", today.word.rune.studied.day }, { "word.rune.learning", today.word.rune.learning.day }, { "word.rdng.remembered", today.word.rdng.remembered.day }, { "word.rdng.learned", today.word.rdng.learned.day }, { "word.rdng.studied", today.word.rdng.studied.day }, { "word.rdng.learning", today.word.rdng.learning.day }, { "word.tone.remembered", today.word.tone.remembered.day }, { "word.tone.learned", today.word.tone.learned.day }, { "word.tone.studied", today.word.tone.studied.day }, { "word.tone.learning", today.word.tone.learning.day }, { "word.defn.remembered", today.word.defn.remembered.day }, { "word.defn.learned", today.word.defn.learned.day }, { "word.defn.studied", today.word.defn.studied.day }, { "word.defn.learning", today.word.defn.learning.day }, { "char.rune.remembered", today["char"].rune.remembered.day }, { "char.rune.learned", today["char"].rune.learned.day }, { "char.rune.studied", today["char"].rune.studied.day }, { "char.rune.learning", today["char"].rune.learning.day }, { "char.rdng.remembered", today["char"].rdng.remembered.day }, { "char.rdng.learned", today["char"].rdng.learned.day }, { "char.rdng.studied", today["char"].rdng.studied.day }, { "char.rdng.learning", today["char"].rdng.learning.day }, { "char.tone.remembered", today["char"].tone.remembered.day }, { "char.tone.learned", today["char"].tone.learned.day }, { "char.tone.studied", today["char"].tone.studied.day }, { "char.tone.learning", today["char"].tone.learning.day }, { "char.defn.remembered", today["char"].defn.remembered.day }, { "char.defn.learned", today["char"].defn.learned.day }, { "char.defn.studied", today["char"].defn.studied.day }, { "char.defn.learning", today["char"].defn.learning.day }, }, Timestamp = lastRefresh }; await Services.InfluxDB.WriteAsync(pt); } return(result); }