Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }