Implement optional url prefix the Django way #15080
Merged
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.
SUMMARY
Performance investigation notes.
As I suspected, an implementation that constructs the urls patterns foreach request is noticeable.
The bottom set of
inclusive
times are when visiting/api/v2/hosts/
vs. the top set are when visiting/awx/v2/<prefix>/hosts/
. Theexclusive
entry is isolated to justget_urlpatterns(prefix=settings.OPTIONAL_API_URLPATTERN_PREFIX)
Done:
get_urlpatterns(prefix=settings.OPTIONAL_API_URLPATTERN_PREFIX)
resultsmaybe calldecided this isn't worth it.get_urlpatterns(prefix=settings.OPTIONAL_API_URLPATTERN_PREFIX)
in some sort of init process so we don't pay the penalty on first request. Realistically though, the penalty here isn't that expensive if we do have to pay it 1 time per new uwsgi process.ISSUE TYPE
COMPONENT NAME
AWX VERSION
ADDITIONAL INFORMATION