Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add backend protocol for Mimir #82

Closed
wants to merge 1 commit into from
Closed

Conversation

leizor
Copy link
Collaborator

@leizor leizor commented Aug 26, 2022

https://github.com/grafana/query-squad/issues/186

This PR adds Mimir as a backend protocol as well as changing the ProbeTLDs method for PrometheusGroup.

As far as I can tell, the ProbeTLDs method runs a very expensive query against Prometheus (and also Mimir) and then does nothing with the results so I went ahead and just had it return []string{} instead.

@grafanabot
Copy link

Go coverage report:

Click to expand.
File %
github.com/grafana/carbonapi/cmd/carbonapi/http/capability.go 0.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/enrichcontext.go 6.7%
github.com/grafana/carbonapi/cmd/carbonapi/http/find_handlers.go 33.5%
github.com/grafana/carbonapi/cmd/carbonapi/http/functions_handler.go 0.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/helper.go 27.3%
github.com/grafana/carbonapi/cmd/carbonapi/http/info_handlers.go 53.8%
github.com/grafana/carbonapi/cmd/carbonapi/http/init.go 84.6%
github.com/grafana/carbonapi/cmd/carbonapi/http/lbcheck_handler.go 0.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/metrics.go 0.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/render_handler.go 50.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/tags_handler.go 0.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/usage_handler.go 0.0%
github.com/grafana/carbonapi/cmd/carbonapi/http/version_handler.go 0.0%
github.com/grafana/carbonapi/date/date.go 78.9%
github.com/grafana/carbonapi/expr/consolidations/consolidations.go 44.5%
github.com/grafana/carbonapi/expr/expr.go 30.0%
github.com/grafana/carbonapi/expr/functions/absolute/function.go 80.0%
github.com/grafana/carbonapi/expr/functions/aggregate/function.go 82.2%
github.com/grafana/carbonapi/expr/functions/aggregateLine/function.go 81.0%
github.com/grafana/carbonapi/expr/functions/aggregateSeriesLists/function.go 73.5%
github.com/grafana/carbonapi/expr/functions/aggregateWithWildcards/function.go 86.7%
github.com/grafana/carbonapi/expr/functions/alias/function.go 83.3%
github.com/grafana/carbonapi/expr/functions/aliasByBase64/function.go 88.9%
github.com/grafana/carbonapi/expr/functions/aliasByMetric/function.go 92.9%
github.com/grafana/carbonapi/expr/functions/aliasByNode/function.go 83.3%
github.com/grafana/carbonapi/expr/functions/aliasByRedis/function.go 72.1%
github.com/grafana/carbonapi/expr/functions/aliasSub/function.go 77.4%
github.com/grafana/carbonapi/expr/functions/asPercent/function.go 77.6%
github.com/grafana/carbonapi/expr/functions/averageOutsidePercentile/function.go 89.3%
github.com/grafana/carbonapi/expr/functions/averageSeriesWithWildcards/function.go 89.4%
github.com/grafana/carbonapi/expr/functions/below/function.go 91.7%
github.com/grafana/carbonapi/expr/functions/cactiStyle/function.go 88.7%
github.com/grafana/carbonapi/expr/functions/changed/function.go 92.3%
github.com/grafana/carbonapi/expr/functions/constantLine/function.go 88.2%
github.com/grafana/carbonapi/expr/functions/delay/function.go 90.6%
github.com/grafana/carbonapi/expr/functions/derivative/function.go 93.8%
github.com/grafana/carbonapi/expr/functions/divideSeries/function.go 87.7%
github.com/grafana/carbonapi/expr/functions/ewma/function.go 90.0%
github.com/grafana/carbonapi/expr/functions/exclude/function.go 81.8%
github.com/grafana/carbonapi/expr/functions/exp/function.go 90.9%
github.com/grafana/carbonapi/expr/functions/exponentialMovingAverage/function.go 72.2%
github.com/grafana/carbonapi/expr/functions/fallbackSeries/function.go 86.7%
github.com/grafana/carbonapi/expr/functions/filter/function.go 84.4%
github.com/grafana/carbonapi/expr/functions/grep/function.go 81.8%
github.com/grafana/carbonapi/expr/functions/groupByNode/function.go 86.5%
github.com/grafana/carbonapi/expr/functions/groupByTags/function.go 90.0%
github.com/grafana/carbonapi/expr/functions/heatMap/function.go 86.4%
github.com/grafana/carbonapi/expr/functions/heatMap/helpers.go 84.6%
github.com/grafana/carbonapi/expr/functions/highestLowest/function.go 87.1%
github.com/grafana/carbonapi/expr/functions/hitcount/function.go 93.8%
github.com/grafana/carbonapi/expr/functions/identity/function.go 89.5%
github.com/grafana/carbonapi/expr/functions/integral/function.go 94.4%
github.com/grafana/carbonapi/expr/functions/integralByInterval/function.go 85.4%
github.com/grafana/carbonapi/expr/functions/integralWithReset/function.go 86.1%
github.com/grafana/carbonapi/expr/functions/interpolate/function.go 92.1%
github.com/grafana/carbonapi/expr/functions/invert/function.go 93.3%
github.com/grafana/carbonapi/expr/functions/isNotNull/function.go 93.8%
github.com/grafana/carbonapi/expr/functions/join/function.go 89.5%
github.com/grafana/carbonapi/expr/functions/keepLastValue/function.go 92.5%
github.com/grafana/carbonapi/expr/functions/legendValue/function.go 90.9%
github.com/grafana/carbonapi/expr/functions/limit/function.go 82.4%
github.com/grafana/carbonapi/expr/functions/linearRegression/function.go 80.0%
github.com/grafana/carbonapi/expr/functions/logarithm/function.go 90.9%
github.com/grafana/carbonapi/expr/functions/logit/function.go 91.3%
github.com/grafana/carbonapi/expr/functions/lowPass/function.go 89.3%
github.com/grafana/carbonapi/expr/functions/mapSeries/function.go 88.0%
github.com/grafana/carbonapi/expr/functions/minMax/function.go 86.7%
github.com/grafana/carbonapi/expr/functions/mostDeviant/function.go 88.6%
github.com/grafana/carbonapi/expr/functions/moving/function.go 82.3%
github.com/grafana/carbonapi/expr/functions/movingMedian/function.go 86.3%
github.com/grafana/carbonapi/expr/functions/multiplySeriesWithWildcards/function.go 90.2%
github.com/grafana/carbonapi/expr/functions/nPercentile/function.go 90.0%
github.com/grafana/carbonapi/expr/functions/nonNegativeDerivative/function.go 90.5%
github.com/grafana/carbonapi/expr/functions/offset/function.go 88.0%
github.com/grafana/carbonapi/expr/functions/offsetToZero/function.go 94.1%
github.com/grafana/carbonapi/expr/functions/pearson/function.go 86.1%
github.com/grafana/carbonapi/expr/functions/pearsonClosest/function.go 75.0%
github.com/grafana/carbonapi/expr/functions/perSecond/function.go 90.5%
github.com/grafana/carbonapi/expr/functions/percentileOfSeries/function.go 81.8%
github.com/grafana/carbonapi/expr/functions/polyfit/function.go 87.3%
github.com/grafana/carbonapi/expr/functions/pow/function.go 88.9%
github.com/grafana/carbonapi/expr/functions/powSeries/function.go 95.0%
github.com/grafana/carbonapi/expr/functions/rangeOfSeries/function.go 94.3%
github.com/grafana/carbonapi/expr/functions/removeBelowSeries/function.go 92.3%
github.com/grafana/carbonapi/expr/functions/removeBetweenPercentile/function.go 89.2%
github.com/grafana/carbonapi/expr/functions/removeEmptySeries/function.go 90.0%
github.com/grafana/carbonapi/expr/functions/round/function.go 90.0%
github.com/grafana/carbonapi/expr/functions/scale/function.go 88.6%
github.com/grafana/carbonapi/expr/functions/scaleToSeconds/function.go 88.5%
github.com/grafana/carbonapi/expr/functions/seriesList/function.go 65.2%
github.com/grafana/carbonapi/expr/functions/sigmoid/function.go 91.3%
github.com/grafana/carbonapi/expr/functions/sinFunction/function.go 86.2%
github.com/grafana/carbonapi/expr/functions/slo/function.go 84.0%
github.com/grafana/carbonapi/expr/functions/slo/helpers.go 72.0%
github.com/grafana/carbonapi/expr/functions/smartSummarize/function.go 90.8%
github.com/grafana/carbonapi/expr/functions/sortBy/function.go 85.7%
github.com/grafana/carbonapi/expr/functions/sortByName/function.go 85.2%
github.com/grafana/carbonapi/expr/functions/squareRoot/function.go 90.5%
github.com/grafana/carbonapi/expr/functions/substr/function.go 85.4%
github.com/grafana/carbonapi/expr/functions/sumSeriesWithWildcards/function.go 89.1%
github.com/grafana/carbonapi/expr/functions/summarize/function.go 91.7%
github.com/grafana/carbonapi/expr/functions/timeShift/function.go 78.0%
github.com/grafana/carbonapi/expr/functions/timeShiftByMetric/function.go 89.7%
github.com/grafana/carbonapi/expr/functions/timeShiftByMetric/misc.go 93.8%
github.com/grafana/carbonapi/expr/functions/transformNull/function.go 88.7%
github.com/grafana/carbonapi/expr/functions/tukey/function.go 80.8%
github.com/grafana/carbonapi/expr/functions/unique/function.go 88.9%
github.com/grafana/carbonapi/expr/functions/weightedAverage/function.go 85.7%
github.com/grafana/carbonapi/expr/helper/align.go 60.7%
github.com/grafana/carbonapi/expr/helper/helper.go 0.0%
github.com/grafana/carbonapi/expr/helper/metric/extract.go 72.7%
github.com/grafana/carbonapi/expr/helper/sort.go 0.0%
github.com/grafana/carbonapi/expr/rewrite/aboveSeries/function.go 79.3%
github.com/grafana/carbonapi/expr/sort.go 96.1%
github.com/grafana/carbonapi/expr/tags/helper.go 100.0%
github.com/grafana/carbonapi/expr/types/extract.go 82.4%
github.com/grafana/carbonapi/expr/types/list.go 0.0%
github.com/grafana/carbonapi/expr/types/metricheap.go 0.0%
github.com/grafana/carbonapi/expr/types/types.go 33.9%
github.com/grafana/carbonapi/expr/types/windowed.go 0.0%
github.com/grafana/carbonapi/pkg/parser/define.go 76.9%
github.com/grafana/carbonapi/pkg/parser/interface.go 0.0%
github.com/grafana/carbonapi/pkg/parser/internal.go 9.4%
github.com/grafana/carbonapi/pkg/parser/interval.go 83.8%
github.com/grafana/carbonapi/pkg/parser/parser.go 44.3%
github.com/grafana/carbonapi/zipper/broadcast/broadcast_group.go 38.5%
github.com/grafana/carbonapi/zipper/helper/requests.go 12.9%
github.com/grafana/carbonapi/zipper/protocols/graphite/msgpack/type_gen.go 57.2%
github.com/grafana/carbonapi/zipper/protocols/irondb/irondb_group.go 2.5%
github.com/grafana/carbonapi/zipper/protocols/irondb/irondb_helpers.go 81.1%
github.com/grafana/carbonapi/zipper/protocols/prometheus/helpers/helpers.go 17.1%
github.com/grafana/carbonapi/zipper/protocols/victoriametrics/feature_set.go 19.7%
github.com/grafana/carbonapi/zipper/protocols/victoriametrics/fetch.go 0.0%
github.com/grafana/carbonapi/zipper/protocols/victoriametrics/find.go 0.0%
github.com/grafana/carbonapi/zipper/protocols/victoriametrics/tags.go 0.0%
github.com/grafana/carbonapi/zipper/protocols/victoriametrics/victoriametrics_group.go 7.8%
github.com/grafana/carbonapi/zipper/types/backend.go 0.0%
github.com/grafana/carbonapi/zipper/types/errors.go 0.0%
github.com/grafana/carbonapi/zipper/types/lbmethod.go 0.0%
github.com/grafana/carbonapi/zipper/types/requests.go 0.0%
github.com/grafana/carbonapi/zipper/types/response.go 6.4%
github.com/grafana/carbonapi/zipper/types/stats.go 0.0%
github.com/grafana/carbonapi/zipper/zipper.go 0.0%
github.com/grafana/carbonapi/zipper/zipper_pb3.go 0.0%
total 55.5%

Go lint report:

No issues found. 😎

@leizor
Copy link
Collaborator Author

leizor commented Aug 26, 2022

Just realized that we can configure the prometheus protocol to forward the X-Scope-OrgID header using the headersToPass configuration instead. I think that's a more elegant solution for this purpose, so I'm closing this PR.

@leizor leizor closed this Aug 26, 2022
@leizor leizor deleted the leizor/query-squad/issue-186 branch August 26, 2022 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants