예제 #1
0
파일: Program.cs 프로젝트: caunt/PromQL.NET
        private static void Main(string[] args)
        {
            // PromQL has two basic types of data on which you can select and aggregate time series data in real time.
            // so you have InstantVector and RangeVector to go, enjoy :)

            // Example #1:
            // Create InstantVector and apply "sum" aggregation operator on it: https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators
            var query = InstantVector
                .WithString("http_requests_total")
                .Sum();

            Console.WriteLine($"sum http_requests_total:\n\t{query}\n");

            // Example #2:
            // For now were using RangeVector instead of InstantVector, selecting http requests count per instance, and sorting it in descending order
            query = RangeVector
                .WithString("http_requests_total", TimeSpan.FromSeconds(15))
                .SumOverTime()  // Same "sum" aggregation operator as in InstantVector, but applies over time on RangeVector and returns as result InstantVector (!) instead of RangeVector
                .SumWithFilter(
                    LabelFilter.Create()
                        .WithType(LabelFilterType.By)
                        .AddField("instance"))
                .SortDescending();

            Console.WriteLine($"sum http_requests_total of 15 seconds:\n\t{query}");
        }
예제 #2
0
 private void VerifyUniqueElementsExist()
 {
     LableShowEntries.Verify();
     DropDownNumberOfEntriesToShow.Verify();
     InputFilter.Verify();
     CheckBoxRemoveRecord.Verify();
     LabelFilter.Verify();
     Column1Header.Verify();
     Column2Header.Verify();
     Column3Header.Verify();
     ShowingEntries.Verify();
     TableIdValueFromFirstRow.Verify();
     Column1Row1FromTable.Verify();
     Column2Row1FromTable.Verify();
     Showing1ToXofYentries.Verify();
 }
 private void VerifyUniqueElementsExist()
 {
     LableShowEntries.Verify();
     DropDownNumberOfEntriesToShow.Verify();
     InputFilter.Verify();
     CheckBoxRemoveRecord.Verify();
     LabelFilter.Verify();
     ColumnHeader1.Verify();
     ColumnHeader2.Verify();
     ColumnHeader3.Verify();
     ColumnHeader4.Verify();
     ShowingEntries.Verify();
     TableIdValueFromFirstRow.Verify();
     Column1Row1FromTable.Verify();
     Column2Row1FromTable.Verify();
     Showing1ToXofYentries.Verify();
     Console.WriteLine("Verified elements show expected content");
 }
예제 #4
0
 /// <summary>
 /// Aggregate over all label dimensions or preserve distinct dimensions by including a without or by clause.
 /// </summary>
 /// <param name="filter"></param>
 /// <returns></returns>
 public InstantVector SumWithFilter(LabelFilter filter)
 {
     return(AddAction(SumOperator.Create().WithFilter(filter)));
 }
예제 #5
0
 public SumOperator WithFilter(LabelFilter filter)
 {
     this.filter = filter;
     return(this);
 }