Public Usage Dashboard
Every Artemis instance publishes an anonymous summary of how much it is used. The page answers the questions that universities, funding bodies and the open-source community ask most often: how many courses, students and submissions does Artemis serve, and how much of the rest of the platform, such as builds, communication and Iris, is in use.
Open the page at /usage on your instance, for example https://artemis.example.org/usage. It needs no login and is
not linked from the navigation, so link to it from your own website or the course catalogue if you want visitors to find
it.
What the page shows
The page shows the last four semesters. A visitor picks a semester and sees:
| Number | What it counts |
|---|---|
| Courses | The courses of the semester that qualify, see What counts |
| Students | Unique people enrolled as students in these courses |
| Active students | Students with at least one submission in these courses |
| Submissions | All submissions of those students, and of student teams |
| Exercises | All exercises, including exam exercises, and a split by type |
| Lectures | Lectures, without tutorial lectures |
| Tutorial groups | Tutorial groups of these courses |
| Builds and Average build duration | Finished builds and the average duration of the successful ones |
| Posts, Replies, Reactions, FAQs | The communication in these courses |
| Iris messages | Messages that users sent to Iris plus the answers of Iris |
A bar chart compares the Active students of all semesters, and a section at the bottom explains how the numbers are counted, in the language of the visitor (English or German) and in the light or dark theme.
What counts
All numbers are totals over the real courses of a semester. They are counted whenever they happened, so a build in January counts for the course that started in October.
- A semester is derived from the start date of a course, in the time zone of the server. A winter semester runs from October to March, a summer semester from April to September.
- A course is real if it is not a test course and has at least five students. Deleted users and test users never count as students.
- A semester with fewer than three real courses is not shown at all, because its numbers would describe one course.
- A student is active if they made at least one submission themselves. Submissions that instructors or the system create on behalf of a student do not count.
- Posts are all posts in channels, group chats and direct messages of the courses, but only as a number. Posts of plagiarism cases are not counted. Replies that Iris drafted and no tutor has verified yet are not visible to students and are not counted either.
- FAQs are the published (accepted) FAQs.
- Staff and the system are part of the numbers: instructors write posts, and template and solution repositories are built.
Builds
Builds are only published if the instance builds with the integrated code lifecycle (local CI), because only local CI records build jobs. On an instance that builds with Jenkins, the build cards are missing.
Local CI deletes build jobs after a retention period, 365 days by default, which an operator sets with
artemis.continuous-integration.build-job.retention-period. The builds of a semester that started before that period
are incomplete, so the page does not publish them instead of showing a number that looks too small. Today this means
that the two oldest semesters show no builds.
Artemis does not record when local CI was switched on. If an instance moved from Jenkins to local CI during a semester, the builds of that semester only cover the part after the switch, and the page shows them as if they were complete. Read the builds of the semester of the switch with that in mind.
Optional modules
The cards of an optional module only appear if the module is enabled. Without Iris there are no Iris messages and the heading reads Communication; without tutorial groups there is no Tutorial groups card. A disabled module is omitted instead of shown as zero.
Freshness and load
The numbers are computed on the server at most once per hour for the whole cluster and cached, because the calculation scans the submissions of two years. The first request after the cache expired therefore takes longer than the others. The response may also be cached by browsers and proxies for up to ten minutes. A visitor sees numbers that are at most about an hour and ten minutes old.
The page is served by the public endpoint GET /api/core/public/usage-statistics. It returns the same totals as JSON, so
that other sites can show them as well.
For the cache and the rules behind it, see the caching guideline. The related Feature Usage page is for administrators and shows which features are used, not how large the instance is.


