Published March 10, 2026 | Version v2

LO2v2: An Updated and Improved Microservice Dataset of Logs and Metrics

  • 1. ROR icon University of Oulu
  • 2. ROR icon University of Helsinki
  • 3. ROR icon University of Southern Denmark

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

Research Council of Finland
Multimodal Fusion based Anomaly Detection for Improving Microservice-based System 359861
Research Council of Finland
Multimodal Fusion based Anomaly Detection for Improving Microservice-based System 349487

Dates

Collected
2025-02
Data collection executed

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.