[#4337] Always create an invocation_id, even when not tracking #4340
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
resolves #4337
Description
For logging purposes we always want an invocation_id, even when we're not tracking. This pull request decouples the invocation_id from dbt.tracking.active_user.
I've added a 'get_invocation_id' class method to the base Event class, but I put the generic 'get_invocation_id' and the global variable invocation_id in dbt.events.functions, because that felt more appropriate and I don't think we want to import the base_types file everywhere that we're setting the invocation_id. That meant that I had to do the import of get_invocation_id in the Event.get_invocation_id function to avoid circular imports. Let me know if you see a better way of doing that.
Checklist
CHANGELOG.md
and added information about my change