Example #1
0
        public async Task <IList <Series <TValues, TTags> > > Query <TValues, TTags>(MultiSeriesSelectStatement <TValues, TTags> query, CancellationToken cancellationToken = default(CancellationToken))
        {
            var queryResponse = await Query <TValues>(query.Text, cancellationToken);

            return(queryResponse.Results.Single().Series.Select(serie =>
            {
                TTags tags = (TTags)Activator.CreateInstance(typeof(TTags), query.Tags.Select(t => (object)serie.Tags[t.DotNetAlias]).ToArray());
                var points = serie.Values;
                return new Series <TValues, TTags>(points, tags);
            }).ToList());
        }
Example #2
0
 internal SLimit(MultiSeriesSelectStatement <TValues, TGroupBy> statement, int n)
 {
     Statement = new MultiSeriesSelectStatement <TValues, TGroupBy>(
         statement.Select,
         statement.From,
         statement.Where,
         statement.GroupBy,
         statement.Fill,
         statement.OrderBy,
         statement.Limit,
         statement.Offset,
         new SLimitClause(n)
         );
 }
Example #3
0
 public static IEnumerable <string> TagNames <TValues, TTags>(this MultiSeriesSelectStatement <TValues, TTags> query)
 {
     return(query.Tags.Select(x => x.InfluxTagName));
 }