private void WriteMetrics(W3CEvent record) { var dbRecord = new DynamicInfluxRow(); dbRecord.Fields.Add("time_taken", double.Parse(record.time_taken)); dbRecord.Tags.Add("cs_uri_stem", record.cs_uri_stem); dbRecord.Tags.Add("cs_method", record.cs_method); dbRecord.Timestamp = record.dateTime; _dbManager.WriteMetrics("page-stat", dbRecord); }
public static IEnumerable <W3CEvent> FromFile(string filePath) { Expression <Func <string[], W3CEvent> > transformExpression; Func <string[], W3CEvent> transform = null; var result = new List <W3CEvent>(); using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var sr = new StreamReader(fs)) { while (!sr.EndOfStream) { var line = sr.ReadLine(); if (string.IsNullOrEmpty(line)) { continue; } if (line.StartsWith("#Fields:")) { transformExpression = GetTransformExpression(line); transform = transformExpression.Compile(); continue; } if (line.StartsWith("#")) { continue; } string[] tokens = line.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < tokens.Length; i++) { if (tokens[i] == "-") { tokens[i] = null; } } W3CEvent e = transform(tokens); result.Add(e); } } return(result); }