Open
Bug 1501241
Opened 5 years ago
Updated 4 years ago
[meta] Make states more manageable
Categories
(Tree Management :: Perfherder, enhancement, P3)
Tree Management
Perfherder
Tracking
(Not tracked)
NEW
People
(Reporter: igoldan, Unassigned)
References
(Depends on 1 open bug)
Details
As we're speaking, Perfherder exposes a big amount of alert & alert summary states which tend to be confusing and make the learning curve for beginners more steep. This is the current list we have: * untriaged * downstream * reassign * invalid * improvement * investigating * wontfix * fixed * backedout * confirming The transition between all these states is tricky to follow, so the solution we see is to reduce the number of states to just 3 (say *untriaged/investigating/resolved*) and turn the rest of them into simple and intuitive tags.
Comment 1•5 years ago
|
||
we also want to include the ability to add better tags, specifically I am thinking about reasons: infra tooling test product
Reporter | ||
Comment 2•5 years ago
|
||
(In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #1) > we also want to include the ability to add better tags, specifically I am > thinking about reasons: > infra > tooling > test > product Yes, we can make a custom tag designer feature similar to that from Github. That way, if we discover we need some new tags, we create them from Perfherder and use them directly, without doing any source code commit.
Comment 3•5 years ago
|
||
can we outline what is frontend and backend? will we need to change apis?
Flags: needinfo?(igoldan)
Reporter | ||
Comment 4•5 years ago
|
||
(In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #3) > can we outline what is frontend and backend? Will do. > will we need to change apis? I'm not entirely sure, but I think it's possible to simply use the existing backend APIs unaltered. For the Github-like tag designer, we do need at least one new backend API.
Flags: needinfo?(igoldan)
Comment 5•5 years ago
|
||
maybe the question should be, will removing existing states break any APIs?
Reporter | ||
Comment 6•5 years ago
|
||
(In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #5) > maybe the question should be, will removing existing states break any APIs? I think we are breaking APIs if we don't migrate the rest of states to tags. That's because alerts validate their state when operated upon.
Reporter | ||
Comment 7•5 years ago
|
||
(In reply to Ionuț Goldan [:igoldan], Performance Sheriffing from comment #6) > (In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #5) > > maybe the question should be, will removing existing states break any APIs? > > I think we are breaking APIs if we don't migrate the rest of states to tags. > That's because alerts validate their state when operated upon. There may be other backend places were this may break, though I have to look for them more closely.
Comment 8•5 years ago
|
||
I'm not sure if the downstream/reassigned states map very cleanly to tags, as they also depend on the "related" field. One alternative would be to move a system that's closer to bugzilla, which is the system we are interacting with and thus people would already have a mental model for. In that case, we would have the following fields: * status: untriaged/investigating/resolved * resolution (only if resolved): improvement/wontfix/fixed/... * whiteboard/keywords (could be mapped to tags): infra/tooling/test/confirming I think separating out resolution from other fields might be a good idea, as it will make analysis of the database easier.
Reporter | ||
Comment 9•5 years ago
|
||
(In reply to William Lachance (:wlach) (use needinfo!) from comment #8) > I'm not sure if the downstream/reassigned states map very cleanly to tags, > as they also depend on the "related" field. > > One alternative would be to move a system that's closer to bugzilla, which > is the system we are interacting with and thus people would already have a > mental model for. > > In that case, we would have the following fields: > > * status: untriaged/investigating/resolved > * resolution (only if resolved): improvement/wontfix/fixed/... > * whiteboard/keywords (could be mapped to tags): > infra/tooling/test/confirming > > I think separating out resolution from other fields might be a good idea, as > it will make analysis of the database easier. I think this may be a good alternative. Currently, the resolutions are: * improvement * fixed * wontfix * invalid * downstream * backout * reassign As long as this list doesn't get bigger than that from Bugzilla, I think it is manageable. :jmaher what do you think?
Flags: needinfo?(jmaher)
Comment 10•5 years ago
|
||
:igoldan, how often do we resolve alerts? Are most left in investigating status? As for resolutions, while those are interesting for bugs and would make sense here- I am more concerned with adding generic support for dynamic fields, specifically infra, tooling, test changes so we can filter out issues not related to product changes. I am not sure if this means we would have status/resolution as different hard coded fields, then in addition a set of tags- why not just have tags in general?
Flags: needinfo?(jmaher)
Comment 11•5 years ago
|
||
(In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #10) > I am not sure if this means we would have status/resolution as different > hard coded fields, then in addition a set of tags- why not just have tags in > general? As I said in comment 8, tags don't encapsulate the duplicate/reassigned statuses, which also depend on some "related summary/alert" metadata which we store in the db. So unless you want to just get rid of that metadata (I don't think we do?), we need something that ties the duplicate/reassigned id to a "status". The only other alternative I can think of would be "special case" tags which the UI would key off of, and that sounds like a giant mess. In general I think mirroring what bugzilla does is a good strategy here, it's the system that perfherder needs to interact with in most cases. It also occurs to me that the "notes" field that perfherder already has is pretty similar to bugzilla's whiteboard, which we already use for annotating this kind of information (e.g. `[good first bug]`). We might be able to skip using tags just by just getting the sheriffs to apply some conventions on how they tag things (e.g. "write [infra] in the notes field if the regression was infra-related).
Comment 12•5 years ago
|
||
as long as we can easily query the notes field and show them in the popup. Maybe that is something we can parse from there. Maybe there are 3 states- new, investigating, resolved and when resolved is hit, it requires a different state (i.e. downstream, reassigned) - but this isn't available by default, nor is it in the normal filters, etc. any way to reduce our states/actions would be a win over today.
Reporter | ||
Comment 13•5 years ago
|
||
(In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #10) > :igoldan, how often do we resolve alerts? Well, most of the alerts we have are the resolved ones: majority are wontfixes, then we have fixes & improvements, backouts, invalids. > Are most left in investigating status? Not really. They stay so only for a while, until there's a resolution on Bugzilla. Basically, if we consider the average fix time for filed perf bugs, then that's the lifespan of an summary in investigating state.
Comment 14•5 years ago
|
||
ok, I see a lot of the alerts adjusted in state- but there are many in investigation state which do not have bugs- in fact there are more in investigation state than fixed or wontfix- this is why I asked the question. If we can make a solution easier to ensure all alerts get a final state, I would be happier
Reporter | ||
Comment 15•5 years ago
|
||
Summaries with investigating state but with missing bugs are accumulated leftovers: either their alerts were acknowledged because they weren't investigated for a long time OR there was way too much noise to look in OR they were simply forgotten when bulks of rest of alerts were reassigned/downstreamed/marked otherwise.
Reporter | ||
Comment 16•5 years ago
|
||
"investigating" state is a misnomer in our case. Most of the accumulated leftovers aren't investigated by neither Perf sheriffs nor regression authors. We could actually use a new tag like "forgotten" OR "inactive" OR "archived" or something appropriate in this regard, to make a clear distinction.
Reporter | ||
Comment 17•5 years ago
|
||
(In reply to William Lachance (:wlach) (use needinfo!) from comment #11) > It also occurs to me that the "notes" field that perfherder already has is > pretty similar to bugzilla's whiteboard, which we already use for annotating > this kind of information (e.g. `[good first bug]`). We might be able to skip > using tags just by just getting the sheriffs to apply some conventions on > how they tag things (e.g. "write [infra] in the notes field if the > regression was infra-related). I would like to also tag at alert scope, not just at summary scope. I especially require the confirming/confirmed set of tags here.
Reporter | ||
Updated•5 years ago
|
Assignee: igoldan → nobody
You need to log in
before you can comment on or make changes to this bug.
Description
•