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

[Enhancement] Metadata selection for dashboard widgets #388

Open
jawatts opened this issue Aug 17, 2022 · 5 comments
Open

[Enhancement] Metadata selection for dashboard widgets #388

jawatts opened this issue Aug 17, 2022 · 5 comments
Labels
enhancement New feature or request frontend

Comments

@jawatts
Copy link

jawatts commented Aug 17, 2022

Allow for customization of dynamic parameters in dashboard widgets. For Satellite, associates will look at results over snaps and not over number of weeks, which is the current implementation.

Examples:
Grouping by Z stream
Pass rate snap over snap, i.e 6.11.1 snap 1 vs 6.11.1 snap 2

Screenshot from 2022-08-17 11-17-30

@rsnyman
Copy link
Contributor

rsnyman commented Aug 17, 2022

Can you explain more about what you want to see? It sounds like you actually want a new widget.

@rsnyman
Copy link
Contributor

rsnyman commented Aug 17, 2022

Also, the additional_filters field allows you to add a number of extra filters to help filter down your data. Did you take a look at the documentation for that?

@rsnyman rsnyman added enhancement New feature or request frontend labels Aug 17, 2022
@mshriver
Copy link
Contributor

@rsnyman I'll chime in here.

Its possible this would be a separate widget definition instead of a change to the existing run aggregation and result aggregation widgets.

With the current widgets, the additional_filters field doesn't provide the desired functionality, and actually nearly makes them useless if we have multiple snaps in a given week. For clarity in the discussion, we have two metadata fields we're looking at here, Version and Snap. Version is going to be in an X.Y.Z format, and indicates the major/minor software version. Snap is going to be in an X.Y format, and indicates weekly (ish) builds of a given version.

Taking run aggregation as an example we can create a widget that filters on a major version of satellite - say metadata.SatelliteVersion=6.11.0 - and we can group that based on component. We now have bars indicating component pass rates for all tests for SatelliteVersion 6.11.0.

But, we will get snap 1.0, and snap 2.0, and all of those results will be included in this, because the widget only allows for changing the number of weeks of runs to include.

image

For our use case, we need a field to be able to provide an additional MetaFilter, instead of only selecting Set weeks to. This would allow the widget described above to be used to select metadata.Snap values instead of selecting 1-6 weeks, showing aggregate results based on the software version available in metadata, instead of the start date.

There are other metadata filtering use cases that would be available if the aggregation widgets had a Group data by field and a Sub Filter: field instead of Set weeks to.

Maybe this is a separate widget, maybe when creating a Run Aggregation (or result aggregation) widget, you can select between time-based dynamic filters, or MetaFilter based, and you'll have one or the other available in the resulting widget.

@john-dupuy
Copy link
Contributor

john-dupuy commented Sep 22, 2022

In the additional_filters text box you should be able to do something like:

metadata.SatelliteVersion=6.11.0,metadata.snap=2.0

And that would show you the data you want at least. This would be limited to show only data from the past 6 weeks, and you would need to have a widget for each snap version. And you'd have to get in the habit of "maintaining" your widgets. So it's not exactly what you want.

Getting exactly what you want will probably require a new widget. _get_recent_run_data's time dependence would need to be replaced with some user generated field (snaps in this case). Maybe there's a generic way to do it in such a way that you wouldn't need to create a new widget, but it'd probably be easier to just make a new widget.

@mshriver
Copy link
Contributor

@john-dupuy hit the nail on the head - possible with the additionalfilters, but then the widget is only relevant for a few weeks while that z-stream is active.

What I heard:

John Dupuy: I'll write a new widget for you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request frontend
Projects
None yet
Development

No branches or pull requests

4 participants