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

Support Nested Tracks #1086

Closed
gingerwizard opened this issue Oct 9, 2020 · 4 comments · Fixed by #1319
Closed

Support Nested Tracks #1086

gingerwizard opened this issue Oct 9, 2020 · 4 comments · Fixed by #1319
Assignees
Labels
enhancement Improves the status quo
Milestone

Comments

@gingerwizard
Copy link

Currently tracks can be nested and most functions work. This isn't by design e.g.

Consider the folder hierarchy

rally-tracks
  observability
    logging
    metrics
    apm

Most rally commands would work (including the ability to use the track) with the track parameter e.g.

--track="observability/logging"

Some commands such as esrally list tracks will not.

Do we want to support nested tracks? If so, where are the current deficiencies in support?

@gingerwizard gingerwizard added the enhancement Improves the status quo label Oct 9, 2020
@gingerwizard
Copy link
Author

@danielmitterdorfer id like to address this if possible. Happy to take but unclear on the requirements. Do we want to support to just one level i.e. like above or potential infinite hierarchies? The latter seems possible but i'm not sure if its practically worth the potential challenges and something we'd want to encourage.

@danielmitterdorfer
Copy link
Member

I wouldn't necessarily restrict the nesting level. I agree that infinite hierarchies are probably not a good idea but I am not certain whether e.g. two levels would be a good idea or not? But I think we'll see once we get more experience with the feature.

@gingerwizard
Copy link
Author

Maybe we support infinite hierarchies in theory but restrict the recursive depth to a hidden config parameter. We can adjust or remove as we feel confident regards how this feature will be used?

@DJRickyB DJRickyB modified the milestones: 2.0.3, 2.x Jan 11, 2021
@danielmitterdorfer
Copy link
Member

The implementation should actually be rather targeted in scope. It is sufficient to modify GitTrackRepository, as this handles --track. The track resolution logic is implemented in the track_names property. Currently, this logic does not descend recursively. If we change the logic such that it descends until it finds a track file (i.e. track.json) and produces track names where directories are separated by a path separator (/), then everything else should work out of the box.

@DJRickyB DJRickyB assigned DJRickyB and unassigned gingerwizard Jun 22, 2021
DJRickyB pushed a commit that referenced this issue Sep 2, 2021
with this commit we add support for listing nested tracks in git-based track repositories. Previously, esrally list tracks would only list top-level directories in a target track repo which contained a track.json. This change causes full recursive search in the track repository, to better support the idea of "nested" track structures.

Fixes #1086
DJRickyB pushed a commit that referenced this issue Sep 22, 2021
…" (#1343)

This commit was previously reverted, due to a false positive in our testing. See #1086, #1319, and #1320 for full detail.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improves the status quo
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants