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

fix: Redo ingester profile tagging #13239

Merged
merged 2 commits into from
Jun 17, 2024
Merged

Conversation

slim-bean
Copy link
Collaborator

@slim-bean slim-bean commented Jun 17, 2024

What this PR does / why we need it:

This pr reverts 00d3c7a and takes a different approach to adding profile tagging.

Previously we were using the pprof.Do method which internal does this:

func Do(ctx context.Context, labels LabelSet, f func(context.Context)) {
	defer SetGoroutineLabels(ctx)
	ctx = WithLabels(ctx, labels)
	SetGoroutineLabels(ctx)
	f(ctx)
}

To make this pattern work we had to wrap a lot of business logic and change error handling within many of the ingester functions, this unfortunately introduced a few bugs and made the code more brittle.

This PR instead uses the same mechanisms in the Do method directly in the various ingester methods, which should hopefully be a lot less error prone and invasive.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

This PR is two commits, the first is a revert for 00d3c7a and the second is a re-implementation using the new method, it's probably a lot easier to review this PR by looking at just the second commit

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • For Helm chart changes bump the Helm chart version in production/helm/loki/Chart.yaml and update production/helm/loki/CHANGELOG.md and production/helm/loki/README.md. Example PR
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR

@slim-bean slim-bean requested a review from a team as a code owner June 17, 2024 16:46
Signed-off-by: Edward Welch <[email protected]>
@slim-bean slim-bean force-pushed the redo-ingester-profile-tagging branch from 956196c to 34e775a Compare June 17, 2024 18:10
@slim-bean slim-bean merged commit 32097c8 into main Jun 17, 2024
60 checks passed
@slim-bean slim-bean deleted the redo-ingester-profile-tagging branch June 17, 2024 18:16
@slim-bean slim-bean added type/bug Somehing is not working as expected backport k206 backport k207 labels Jun 17, 2024
grafanabot pushed a commit that referenced this pull request Jun 17, 2024
Signed-off-by: Edward Welch <[email protected]>
(cherry picked from commit 32097c8)
grafanabot pushed a commit that referenced this pull request Jun 17, 2024
Signed-off-by: Edward Welch <[email protected]>
(cherry picked from commit 32097c8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport k206 backport k207 size/L type/bug Somehing is not working as expected
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants