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 missing tags based on MetricData.Name #66

Merged
merged 1 commit into from
Aug 10, 2022
Merged

Conversation

leizor
Copy link
Collaborator

@leizor leizor commented Aug 9, 2022

https://github.com/grafana/transmog/issues/1419

This takes a bit of a conservative approach; it will only fill in the "name" tag if it doesn't already exist, and it will not overwrite any existing tags.

@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 31.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.4%
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 84.0%
github.com/grafana/carbonapi/expr/functions/aliasByBase64/function.go 93.5%
github.com/grafana/carbonapi/expr/functions/aliasByMetric/function.go 93.8%
github.com/grafana/carbonapi/expr/functions/aliasByNode/function.go 86.4%
github.com/grafana/carbonapi/expr/functions/aliasSub/function.go 81.5%
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.8%
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.6%
github.com/grafana/carbonapi/expr/functions/constantLine/function.go 87.5%
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 85.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 87.5%
github.com/grafana/carbonapi/expr/functions/groupByTags/function.go 84.6%
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.3%
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/keepLastValue/function.go 92.5%
github.com/grafana/carbonapi/expr/functions/legendValue/function.go 90.0%
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.6%
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 90.3%
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.7%
github.com/grafana/carbonapi/expr/functions/multiplySeriesWithWildcards/function.go 91.4%
github.com/grafana/carbonapi/expr/functions/nPercentile/function.go 89.7%
github.com/grafana/carbonapi/expr/functions/nonNegativeDerivative/function.go 89.5%
github.com/grafana/carbonapi/expr/functions/offset/function.go 87.5%
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 89.5%
github.com/grafana/carbonapi/expr/functions/percentileOfSeries/function.go 81.8%
github.com/grafana/carbonapi/expr/functions/polyfit/function.go 87.0%
github.com/grafana/carbonapi/expr/functions/pow/function.go 88.5%
github.com/grafana/carbonapi/expr/functions/powSeries/function.go 95.0%
github.com/grafana/carbonapi/expr/functions/rangeOfSeries/function.go 94.4%
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 88.9%
github.com/grafana/carbonapi/expr/functions/scale/function.go 87.9%
github.com/grafana/carbonapi/expr/functions/scaleToSeconds/function.go 88.0%
github.com/grafana/carbonapi/expr/functions/seriesList/function.go 60.4%
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 83.5%
github.com/grafana/carbonapi/expr/functions/slo/helpers.go 72.0%
github.com/grafana/carbonapi/expr/functions/smartSummarize/function.go 90.6%
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.7%
github.com/grafana/carbonapi/expr/functions/sumSeriesWithWildcards/function.go 89.4%
github.com/grafana/carbonapi/expr/functions/summarize/function.go 91.7%
github.com/grafana/carbonapi/expr/functions/timeShift/function.go 77.1%
github.com/grafana/carbonapi/expr/functions/timeShiftByMetric/function.go 89.8%
github.com/grafana/carbonapi/expr/functions/timeShiftByMetric/misc.go 93.8%
github.com/grafana/carbonapi/expr/functions/transformNull/function.go 88.1%
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 86.6%
github.com/grafana/carbonapi/expr/helper/align.go 48.2%
github.com/grafana/carbonapi/expr/helper/helper.go 0.0%
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/list.go 0.0%
github.com/grafana/carbonapi/expr/types/metricheap.go 0.0%
github.com/grafana/carbonapi/expr/types/types.go 40.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.6%
github.com/grafana/carbonapi/zipper/broadcast/broadcast_group.go 38.5%
github.com/grafana/carbonapi/zipper/helper/requests.go 13.3%
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 54.6%

Go lint report:

No issues found. 😎

@npazosmendez
Copy link

I'm not sure if it's better to set the tags (including name tag) in the input MetricData we build on our end. Did you consider that option? These changes will fix the issue for sure, but I'm wondering if it's actually happening because we are misusing the interface

@leizor
Copy link
Collaborator Author

leizor commented Aug 10, 2022

@npazosmendez I was worried about any MetricData being instantiated in functions within carbonapi; those wouldn't necessarily get their "name" tag populated and we'd have to chase them down one by one.

Copy link

@npazosmendez npazosmendez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
For the record, this will probably be tested once we resolve #65

@leizor leizor merged commit 67f0e64 into main Aug 10, 2022
@leizor leizor deleted the leizor/transmog/issue-1419 branch August 10, 2022 17:38
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

3 participants