Skip to main content

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.

Usage dashboard showing the numbers of the current semester
The usage dashboard shows the numbers of one semester and lets visitors switch between the last four

What the page shows​

The page shows the last four semesters. A visitor picks a semester and sees:

NumberWhat it counts
CoursesThe courses of the semester that qualify, see What counts
StudentsUnique people enrolled as students in these courses
Active studentsStudents with at least one submission in these courses
SubmissionsAll submissions of those students, and of student teams
ExercisesAll exercises, including exam exercises, and a split by type
LecturesLectures, without tutorial lectures
Tutorial groupsTutorial groups of these courses
Builds and Average build durationFinished builds and the average duration of the successful ones
Posts, Replies, Reactions, FAQsThe communication in these courses
Iris messagesMessages 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.

Usage dashboard in German with the dark theme
The page follows the language and the theme of the visitor

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.

Usage dashboard of an older semester without build numbers
An older semester without build numbers, because the build jobs of that time have been deleted

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.

Search documentation