LO2v2: An Updated and Improved Microservice Dataset of Logs and Metrics
Authors/Creators
Description
LO2v2: An Updated and Improved Microservice Dataset of Logs and Metrics
This repository hosts the second version of the LO2 dataset created jointly by University of Oulu (M3S) and University of Helsinki (EvoTestOps) during the MuFAno project. LO2 dataset is a data of monitoring data (logs, metrics and traces) of a microservice system implementing the OAuth2.0 protocol. The runtime data is created via execution of Locust tests. The data is gathered from Docker daemon and deployed cAdvisor, NodeExporter and Prometheus containers.
Previous version
For the LO2v1 (referred to like that retrospectively), check our PROMISE2025 paper (see References below) and corresponding Zenodo repositories (see Related Works below).
Improvements
For the thorough discussion of the improvements w.r.t LO2v1, check the IEEE Data Descriptions paper.
The main changes to the data collection and composition of the dataset are:
- Collection of service (container) metrics via cAdvisor
- Random shuffling of tests in each run
- Run log file is introduced to track the order, start, and end times of the tests
- Random duration of each test within a run (between 20 and 180 seconds)
- Random duration of a pause between tests within a run (between 1 and 5 seconds)
Terms used in the dataset description
- Task - a specific operation performed by Locust on a tested API (e.g., perform a GET request that should return a 404 error). In the data collection script, tasks are tagged either "correct" or "error", with correct tasks implementing requests according to documentation (200, 301 responses), and "error" tasks designed to trigger some error response (401, 404 responses).
- Test - an execution of a specific set of tasks. In LO2, we have a correct test executing only "correct" tasks and error tests, that execute all "correct" tasks and an additional task designed to cause a specific error.
- Run - an execution of all possible defined tests. In LO2, a run consists of 54 tests - one correct test and 53 error tests, for each "error" task implemented in Locust.
Structure of the dataset
The LO2v2 dataset consists of 115 runs, each of 54 tests.
Each run is a directory named "LO2_run_UNIX", where UNIX is the Unix timestamp of the beginning of the run.
The subdirectories of each run are tests, named after the specific task that was triggered in them (the correct test executing only correct tasks is called "correct"). Additionally, a run_log.log file is present, which chronicles the execution of tests during the run.
Each test directory contains:
- Log files for each container + locust
- Metrics directory containing:
- JSON file for cAdvisor and NodeExporter metrics collected with Prometheus
- CSV for traces of each container collected by the injected JaegerAgent
- last_fetch_time.txt, containing the end of the interval that the metrics and traces were queried for.
Contents
There are several zip archives in this upload:
LO2v2.zip (62 Gb)
The entire updated LO2v2 dataset in raw form, consisting of 115 data runs. The uncompressed data is about 640 Gb.
LO2v2-metrics.zip (1.2 Gb)
Host- and container-level metrics exported to CSV files from raw JSON files. The uncompressed data is about 6.3 Gb.
light-oauth2.zip (20 Mb)
Replication package - source code of the light-oauth2 system, Locust tests, data collection scripts
light-oauth2-metrics.zip (77.5 Mb)
Repository containing one example run, script to convert JSON metrics into CSV, and a script to perform Principal Component Analysis presented in the paper.
light-oauth2-logs.zip (2.7Gb)
Repository containing scripts and data for the log analysis reported in the paper.
Moreover, we include the index of the dataset in the file:
LO2v2_index.json (31.03Mb)
This index file contains information on all the runs, their start, end, and duration, tests in each run in the order they were executed, their start, end, and duration, the size and number of lines of log and trace files, as well as the number and total size of all metric files in each test
License
The dataset is shared CC-BY-4.0 license. The code (both the original project and our own scripts, including locust tests) is shared under the Apache 2.0 license.
Files
light-oauth2-logs.zip
Files
(70.0 GB)
| Name | Size | |
|---|---|---|
|
md5:0be676a80f33e9a3cd51971a974682e4
|
2.9 GB | Preview Download |
|
md5:2fe6548d1ad9115ad37e7663015b907c
|
77.6 MB | Preview Download |
|
md5:19fd02bd7410759ed8d33ae078cee746
|
19.7 MB | Preview Download |
|
md5:056aeac14eedc2cb67f1b527e1a08512
|
1.3 GB | Preview Download |
|
md5:51f8a675dfd5d174eda20dba5fa21feb
|
65.6 GB | Preview Download |
|
md5:2efcff67820ba1df40fae362919271eb
|
31.0 MB | Preview Download |
Additional details
Related works
- Is new version of
- Dataset: 10.5281/zenodo.14257989 (DOI)
- Software: 10.5281/zenodo.14229369 (DOI)
Funding
Dates
- Collected
-
2025-02Data collection executed
Software
- Repository URL
- https://github.com/M3SOulu/light-oauth2
References
- Bakhtin, Alexander, Jesse Nyyssölä, Yuqing Wang, Noman Ahmad, Ke Ping, Matteo Esposito, Mika Mäntylä, and Davide Taibi. "LO2: Microservice API Anomaly Dataset of Logs and Metrics." In Proceedings of the 21st International Conference on Predictive Models and Data Analytics in Software Engineering, pp. 1-10. 2025.