elasticsearch_test.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package elasticsearch
  2. import (
  3. "github.com/grafana/grafana/pkg/components/simplejson"
  4. "time"
  5. )
  6. var avgWithMovingAvg = Query{
  7. TimeField: "timestamp",
  8. RawQuery: "(test:query) AND (name:sample)",
  9. Interval: time.Millisecond,
  10. BucketAggs: []*BucketAgg{{
  11. Field: "timestamp",
  12. ID: "2",
  13. Type: "date_histogram",
  14. Settings: simplejson.NewFromAny(map[string]interface{}{
  15. "interval": "auto",
  16. "min_doc_count": 0,
  17. "trimEdges": 0,
  18. }),
  19. }},
  20. Metrics: []*Metric{{
  21. Field: "value",
  22. ID: "1",
  23. Type: "avg",
  24. Settings: simplejson.NewFromAny(map[string]interface{}{
  25. "script": map[string]string{
  26. "inline": "_value * 2",
  27. },
  28. }),
  29. }, {
  30. Field: "1",
  31. ID: "3",
  32. Type: "moving_avg",
  33. PipelineAggregate: "1",
  34. Settings: simplejson.NewFromAny(map[string]interface{}{
  35. "minimize": false,
  36. "model": "simple",
  37. "window": 5,
  38. }),
  39. }},
  40. }
  41. var wildcardsAndQuotes = Query{
  42. TimeField: "timestamp",
  43. RawQuery: "scope:$location.leagueconnect.api AND name:*CreateRegistration AND name:\"*.201-responses.rate\"",
  44. Interval: time.Millisecond,
  45. BucketAggs: []*BucketAgg{{
  46. Field: "timestamp",
  47. ID: "2",
  48. Type: "date_histogram",
  49. Settings: simplejson.NewFromAny(map[string]interface{}{}),
  50. }},
  51. Metrics: []*Metric{{
  52. Field: "value",
  53. ID: "1",
  54. Type: "sum",
  55. Settings: simplejson.NewFromAny(map[string]interface{}{}),
  56. }},
  57. }
  58. var termAggs = Query{
  59. TimeField: "timestamp",
  60. RawQuery: "(scope:*.hmp.metricsd) AND (name_raw:builtin.general.*_instance_count)",
  61. Interval: time.Millisecond,
  62. BucketAggs: []*BucketAgg{{
  63. Field: "name_raw",
  64. ID: "4",
  65. Type: "terms",
  66. Settings: simplejson.NewFromAny(map[string]interface{}{
  67. "order": "desc",
  68. "orderBy": "_term",
  69. "size": "10",
  70. }),
  71. }, {
  72. Field: "timestamp",
  73. ID: "2",
  74. Type: "date_histogram",
  75. Settings: simplejson.NewFromAny(map[string]interface{}{
  76. "interval": "auto",
  77. "min_doc_count": 0,
  78. "trimEdges": 0,
  79. }),
  80. }},
  81. Metrics: []*Metric{{
  82. Field: "value",
  83. ID: "1",
  84. Type: "sum",
  85. Settings: simplejson.NewFromAny(map[string]interface{}{}),
  86. }},
  87. }
  88. var filtersAggs = Query{
  89. TimeField: "time",
  90. RawQuery: "*",
  91. Interval: time.Millisecond,
  92. BucketAggs: []*BucketAgg{{
  93. ID: "3",
  94. Type: "filters",
  95. Settings: simplejson.NewFromAny(map[string]interface{}{
  96. "filters": []interface{}{
  97. map[string]interface{}{"label": "hello", "query": "host:\"67.65.185.232\""},
  98. },
  99. }),
  100. }, {
  101. Field: "timestamp",
  102. ID: "2",
  103. Type: "date_histogram",
  104. Settings: simplejson.NewFromAny(map[string]interface{}{
  105. "interval": "auto",
  106. "min_doc_count": 0,
  107. "trimEdges": 0,
  108. }),
  109. }},
  110. Metrics: []*Metric{{
  111. Field: "bytesSent",
  112. ID: "1",
  113. Type: "count",
  114. PipelineAggregate: "select metric",
  115. Settings: simplejson.NewFromAny(map[string]interface{}{}),
  116. }},
  117. }