Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Timekeeper for Eclipse

This is a simple time-tracking plug-in integrating with Eclipse Mylyn Tasks.


Whenever a task is activated in Mylyn it will automatically show up in the Workweek view with a bold label, and the amount of time the task is active will be tracked. An activity will be added to the task, which is the entity keeping track of the time and a short note. Multiple activities can be added to each task.

When the task is deactivated the end time is registered on the activity and the active time is added to the toal for the task on the particular day. It is also possible to manually edit the start and stop times by clicking into the cell.

The context menu and toolbar buttons can be used to browse back and forward by one week. The current locale is used to determine week numbers. Left of the navigation buttons there is a button for copying and exporting the displayed workweek in various formats. The export definitions can be modified or new ones can be added using Freemarker templates found in the preference settings.

See the wiki for more about usage.

The data is now stored in a H2 SQL database, mapped to POJOs using the Java Persistence API with EclipseLink. Establishing the baseline and migration to a new version of the database is handled using Flyway, and finally; reports are generated using Apache FreeMarker.

Database configuration

The Database configuration page in preferences (Timekeeper > Database) allows you to configure where the database for the running Eclipse instance should be kept. The default is to place it in the shared location, under .timekeeper in your home folder. But you can also use a workspace relative path, or even a H2 server if you have one running.

Multiple instances of the Timekeeper can share the database as it utilizes a H2 feature called mixed mode. This will automatically start a server instance on port 9090 if more connections are needed.

The Export and Import buttons are used for exactly that. CSV files, one for each table, are created once a destination folder has been selected. Note that when importing, the data is merged with what’s already in the database. So if you at some time want to start with a clean sheet, it you will have to delete the database files while no Timekeeper instance is running.


You can install the latest public release from the Eclipse Marketplace or drag into an running Eclipse instance. The latest CI build artifacts can be found under GitHub Actions. In order to install from there you must download the p2-repository zip file and point your Eclipse instance to that.


Clone the project and from the root execute:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent verify

When the build completes successfully there will be a Eclipse p2 repository at net.resheim.eclipse.timekeeper-site/target/repository which you can install from.


This project started out as an experiment, attempting to make use of the Java 8 Date/Time API along with new collection features such as Streams. Hence Java 8 is absolutely required for this feature to work.

This project is using JProfiler for debugging performance issues.


Copyright © 2014-2020 Torkild Ulvøy Resheim. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at


A time-tracking plug-in integrating with Eclipse Mylyn Tasks.







No packages published