Dashboard and Metrics¶
This page explains the individual parts of the dashboard and the meaning of the displayed metrics.
Dashboard Overview¶
flowchart TB
subgraph Dashboard["Dashboard"]
A["Navigation"]
B["Course Overview"]
C["Team List"]
D["Team Detail"]
E["Student Detail"]
F["Project Detail"]
end
A --> B
B --> C
C --> D
D --> E
D --> F Navigation¶
Main Sections¶
| Section | Description |
|---|---|
| Courses | List of your courses |
| Teams | Overview of all teams in the course |
| Settings | Course configuration, compliance controls, rubric |
Global Status Bar¶
A global sync status bar appears at the top of every page showing ongoing synchronizations:
- Number of queued, running, and completed jobs
- Auto-updates every 2 seconds
- Disappears after all jobs complete
Filtering and Searching¶
- Search: Find a team or student by name
- Filtering: Display by status (OK, Warning, Critical)
- Sorting: By compliance score, name, activity
Course Overview¶
Summary Metrics¶
On the course page you will see:
- Number of teams, students, and projects
- Average compliance score with trend vs. last week
- Team list with traffic-light status
- Alerts for teams needing attention
Team Statuses¶
| Status | Description | Compliance |
|---|---|---|
| Green | Team is doing well | ≥ green threshold (default 80%) |
| Yellow | Needs attention | Between yellow and green threshold |
| Red | Serious problems | < yellow threshold (default 50%) |
Dynamic Thresholds
Green and yellow thresholds are configurable in course settings. Changes are reflected immediately on the dashboard.
Team List¶
Team Table¶
| Column | Description |
|---|---|
| Team | Team name (clickable) |
| Compliance | Overall compliance score with color indicator |
| Last Activity | Time of last commit/MR |
| Members | Number of students in the team |
| Actions | Buttons for sync, details |
Team Detail¶
Detail Sections¶
1. Compliance Overview¶
Traffic-light status for each of the 13 Built-in Controls (R01-R13) plus custom controls (C01+).
pie title Compliance Breakdown
"Issue (R01)" : 8
"MR (R02-R05, R10-R11)" : 42
"Review (R06-R09)" : 43
"CI (R12)" : 7 2. Rubric¶
Weighted scores by rubric categories. Each category shows:
- Current score (%)
- Color indicator (green / yellow / red)
- List of controls in the category
3. Activity Charts¶
Interactive charts showing team activity over time - commits, MRs, issues.
4. Gaming Flags¶
| Flag | Severity | Description |
|---|---|---|
| Review ring | Medium | Mutual review without diversity |
| Commit spam | High | Large number of insignificant commits |
| LGTM reviews | Medium | Blank approval without comments |
5. Statistics¶
- Number of commits, MRs, issues, comments
- Review coverage (% of MRs with review)
- Pipeline success rate
- Test coverage
Student Detail¶
Individual Metrics¶
| Metric | Description |
|---|---|
| Commits | Total number of commits |
| MRs Created | Number of merge requests |
| Code Review | Number of review comments |
| Issues | Created and closed issues |
All metrics show comparison with team average.
Section Pagination¶
Student detail contains 8 sections with client-side pagination:
- Commits
- Merge Requests
- Issues
- Comments
- Pipeline results
- Review activity
- AI enrichment
Compliance Metrics (R01-R13)¶
Category: Issue¶
| Code | Metric | Weight | Description |
|---|---|---|---|
| R01 | Issue Assigned | 8 % | Student has at least 1 assigned issue |
Category: MR¶
| Code | Metric | Weight | Description |
|---|---|---|---|
| R02 | Branch + MR Created | 6 % | MR source branch follows naming convention |
| R03 | Tests Written | 10 % | At least 1 MR contains test file changes |
| R04 | MR Linked to Issue | 8 % | MR description references an issue |
| R05 | MR Description | 5 % | MR description includes required sections |
| R10 | Merged by Author | 7 % | Author merged their own MR |
| R11 | MR + Issue Closed | 6 % | Both MR and linked issue are closed |
Category: Review¶
Checks R06-R09 support partial scoring - score = weight × fulfillment ratio.
| Code | Metric | Weight | Description |
|---|---|---|---|
| R06 | Code Review Received | 12 % | Student's MR received reviews from ≥ N distinct reviewers |
| R07 | Code Review Given | 12 % | Student meaningfully reviewed ≥ N distinct peer MRs |
| R08 | Review Response | 10 % | Author responded to review threads and referenced commits |
| R09 | MR Approved | 9 % | Student's MR received ≥ N approvals |
Category: CI¶
| Code | Metric | Weight | Description |
|---|---|---|---|
| R12 | Pipeline Green | 7 % | At least 1 pipeline succeeded with a test job |
Configuration Export & Import¶
JSON Export¶
Export the complete course configuration including:
- Course settings
- Compliance controls and thresholds
- Rubric and categories
- Custom controls
JSON Import¶
Import configuration into a new or existing course. Useful for:
- Cloning settings between courses
- Sharing configuration between teachers
- Backup and restore
AI Enrichment¶
GitPulse provides LLM-generated summaries for:
- Team - overall overview of strengths and areas for improvement
- Student - individual contribution analysis
Privacy
AI enrichment processes only aggregated metrics, not code content. Student personal data is automatically redacted.
GitLab Roles and Scoring¶
Role Badges¶
On the team detail page, each member displays a colored badge reflecting their GitLab role:
| Role | Color | Access Level |
|---|---|---|
| Owner | Warning (yellow) | 50 |
| Maintainer | Info (blue) | 40 |
| Developer | Secondary (grey) | 30 |
| Reporter | Grey | 20 |
| Guest | Grey | 10 |
Members with inherited membership (from parent group) have an additional "inherited" badge.
Non-Contributing Members¶
Members excluded from the team score are labeled (not in team score). Exclusion occurs when:
- Low role + zero activity - Guest or Reporter with no commits, MRs, issues, or reviews
- Inherited access + zero activity - inherited group member without any activity, regardless of role
- Teacher - teachers marked as
is_teacher=true
Force Recheck
The "Re-check" button on the team page triggers an immediate metric recomputation - including all checks regardless of weekly filtering.
Further Reading¶
- Result Interpretation - How to read metrics correctly
- FAQ - Frequently asked questions