ConvDev Index
What does this MR do?
This MR introduces a new page to the admin area that displays statistics how a given GitLab instance compares to other GitLab instances in terms of using the features. See https://gitlab.com/gitlab-org/gitlab-ce/issues/30469 for the complete description and discussion.
Are there points in the code the reviewer needs to double check?
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
[ ] Documentation created/updatedwill be in a separate MR as per https://gitlab.com/gitlab-org/gitlab-ce/issues/30469#note_30545854 [ ] API support added- Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Closes #30469 (closed)
Merge request reports
Activity
added 312 commits
-
d6ba5530...0bce9872 - 311 commits from branch
master
- 903bd4f7 - Add model
-
d6ba5530...0bce9872 - 311 commits from branch
added database label
@yorickpeterse please take a look at the proposed new table. We will add new record to it once a week, because it will only happen after sending usage ping. Hence, the table will be really small. It will be basically append-only and (at least in the current iteration) we will always query for the latest record.
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
@adamniedzielski Some more context would be appreciated. I have no idea what the purpose is of this table, why the columns have the types they have, etc.
@yorickpeterse the whole context is in the linked issue (https://gitlab.com/gitlab-org/gitlab-ce/issues/30469), but a shorter version for you would be:
So to summarise:
- Only use
float
if this is a requirement for CE - Use an enum (either a Rails enum or a native enum) instead of string values
- I don't see a benefit for having
created_at
andupdated_at
, so unless there's a use-case for these columns I advise removing them. - If you want to enforce 1 row per week you'll need some kind of column tracking the year + week, then add a unique index on it. If this doesn't matter then don't bother
- If possible use a more descriptive table name. I know we're trying to coin a fancy new term here, but I prefer for table names to be more descriptive if possible; though perhaps I might be too pedantic here
Edited by yorickpeterse-staging- Only use
-
There's no use case right now, but soon we may start comparing the conversational index across a certain time so I think that leaving these two default fields is fine.
-
It was more for you as an estimate for the size of the table, it's not an official constraint.
Edited by username-removed-378947-
added 151 commits
-
903bd4f7...837bd6a6 - 150 commits from branch
master
- f7362e75 - Add model
-
903bd4f7...837bd6a6 - 150 commits from branch
added 60 commits
-
111c52e5...6cbc69aa - 57 commits from branch
master
- 1a682e07 - Add model
- 4cbe4fcd - Add seed file
- 99a345f6 - Extract SubmitUsagePingService from GitlabUsagePingWorker
Toggle commit list-
111c52e5...6cbc69aa - 57 commits from branch
@dbalexandre can you do the initial review here? It's only the backend part and I'll still have to integrate it with @psimyn's work in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11440, but I want to get some early feedback.
assigned to @dbalexandre
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
assigned to @adamniedzielski
@dbalexandre thanks for the code review!
marked the checklist item Conform by the merge request performance guides as completed
marked the checklist item Conform by the style guides as completed
added Deliverable ~874211 labels
added 156 commits
- 3d7f23c8...7a509c26 - 154 commits from branch
master
- 343f6ad4 - Extract SubmitUsagePingService from GitlabUsagePingWorker
- ffa88b5c - Save data from the response to the database
- 3d7f23c8...7a509c26 - 154 commits from branch
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by Simon Knox
- Resolved by Simon Knox
@psimyn can you pick a frontend reviewer? I think that it's nice to start the discussion as early as possible, because it may take a while to go through all the feedback cycles.
- Resolved by Simon Knox
@psimyn the Idea to Production steps look like this on my local machine:
I have the impression that they're slightly bigger than in the mockups and not aligned.
- Resolved by username-removed-378947
@annabeldunstone can you please review frontend?
@adamniedzielski I've made changes you mentioned, and updated description with screenshots.
assigned to @annabeldunstone
marked the checklist item Changelog entry added, if necessary as completed
@dbalexandre can you please take a look at the backend code again? The new things are:
Admin::ConversationalDevelopmentIndexMetricsController
ConversationalDevelopmentIndexMetricsHelper
ConversationalDevelopmentIndexMetricPresenter
This is looking great!
A few UX things I noticed:
- Each card needs a border-radius (maybe
2px
or3px
?) - the top-border color has some weird angles.
- top border looks a tad too thick
Design Current - The steps need a border radius
- They should also have gray SVGs
- They should have box-shadows
- The SVG vertical alignment is slightly off
Design Current - There should be more space between the index score percentage and the actual text.
- The text and
?
should be gray
Design Current - Each card needs a border-radius (maybe
@tauriedavis is going to push up some CSS tweaks to get all the values correct. This looks super cool @psimyn!
assigned to @tauriedavis
changed milestone to %9.3
assigned to @annabeldunstone
@annabeldunstone I pushed up my style fixes. Can you take a look again?
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by username-removed-443319
@adamniedzielski Thanks
I left some notes/questions.- Resolved by Simon Knox
added 410 commits
- 2c0573bd...c72abcef - 409 commits from branch
master
- 3d052f05 - Add Conversational Development Index page to admin panel
- 2c0573bd...c72abcef - 409 commits from branch
added 1 commit
- 26dde5f5 - Add Conversational Development Index page to admin panel
@dbalexandre thanks for the great review and good suggestions! I'm passing to a maintainer for the final review.
@smcgivern can you take a look at this merge request? (but please don't merge before @annabeldunstone checks again the frontend).
- Resolved by Simon Knox
- Resolved by Simon Knox
- Resolved by Simon Knox
- Resolved by Simon Knox
- Resolved by Simon Knox
- Resolved by Simon Knox
- Resolved by Simon Knox
@psimyn looks awesome! Just a few comments.
assigned to @psimyn
- Resolved by Simon Knox
assigned to @smcgivern
- Resolved by username-removed-378947
- Resolved by username-removed-443319
- Resolved by username-removed-378947
- Resolved by username-removed-378947
- Resolved by Simon Knox
@adamniedzielski thanks, this looks really clean! Extra
for adding the seeder and factories.@victorwu have you had a chance to play around with this? You can try different scenarios just by editing the data in your local DB.
assigned to @victorwu
added 2 commits
added 2 commits
@victorwu if you want to test it out locally then executing:
rake db:seed_fu FILTER=conversational_development_index_metrics
will give you a sample record for it.
@psimyn please take a look at the rest of the discussions.
Thanks @adamniedzielski @psimyn : It looks super awesome. The icons are so fun to play with. Buttery smooth.
Everything looks great when I tried it. Tried it without the seed data to see the calculating screen, and tried it with @adamniedzielski's one liner to get the seed data.
@smcgivern : Is there a simple command to get into the Postgres that gdk is running off of?
@tauriedavis : Just noticed that for merge requests, you left out the word
created
. Is that just to make the words fit on the screen?assigned to @psimyn
@victorwu
gdk psql -d gitlabhq_development
should do it!Yeah, it didn't fit :( Tried to think of alternatives but that was the best I thought of. @victorwu
created per user
is another optionEdited by Taurie DavisThanks @tauriedavis . Let's leave it. Thanks!
Thanks @smcgivern that worked. I have perfect score now!
@annabeldunstone thanks for the comments. I've pushed fixes for your comments, let me know if there's any others
Fixes look good to me! Thanks @psimyn
Thanks @adamniedzielski @psimyn!
assigned to @smcgivern
mentioned in commit 3b39cf4e
mentioned in issue #33479 (moved)
mentioned in issue gitlab#10343