Tools, probes and libraries used in iObserve to monitor and analyze software, as well as to plan and execute its modification (MAPE-K loop)
Clone or download
rju Merge pull request #113 from research-iobserve/sle-hierarchical-clust…
…ering-approaches

Sle hierarchical clustering approaches
Latest commit a5d0a49 Oct 15, 2018
Permalink
Failed to load latest commit information.
.travis fixed name Feb 25, 2018
adaptation Readded missing files to branch. Oct 15, 2018
adaptationdata fixed QA thresholds for the subprojects Aug 20, 2018
analysis updated code and error ranges. Oct 15, 2018
collector fixed QA thresholds for the subprojects Aug 20, 2018
common Merge branch 'master' into sle-merge2 Sep 28, 2018
deploy work-in-progress: attempt to fix building deployables with goomph Apr 15, 2018
evaluate-user-behaviors fixed QA thresholds for the subprojects Aug 20, 2018
execution updated code and error ranges. Oct 15, 2018
gradle/wrapper Added clover test coverage test. This indicated that some refactoring… Jan 4, 2018
ide-configuration/eclipse fixed reorganization Mar 7, 2018
model updated code and error ranges. Oct 15, 2018
monitoring Readded missing files to branch. Oct 15, 2018
peropteryx.plugin first merge Nov 27, 2017
peropteryx.rcp Merge branch 'master' into fix-master Aug 29, 2018
planning.cloudprofile.edit Added cloudprofile and extended execution scripts May 24, 2017
planning.cloudprofile.editor Added cloudprofile and extended execution scripts May 24, 2017
planning.cloudprofile.tests Added cloudprofile and extended execution scripts May 24, 2017
planning.cloudprofile Bug fixing in order to run experiment Jun 19, 2018
planning.systemadaptation.edit Added old allocation context to deallocate action May 25, 2017
planning.systemadaptation.editor Upgraded build dependencies and regenerated systemadaptation Jun 1, 2017
planning.systemadaptation.tests Added old allocation context to deallocate action May 25, 2017
planning.systemadaptation updated code and error ranges. Oct 15, 2018
planning fixed comments et.c Jul 3, 2018
qa-configurations reworked data storage Jul 6, 2018
rac.creator fixed QA thresholds for the subprojects Aug 20, 2018
reconstructor fixed QA thresholds for the subprojects Aug 20, 2018
replayer fixed QA thresholds for the subprojects Aug 20, 2018
service.new final commit Apr 6, 2018
service.privacy.violation updated code and error ranges. Oct 15, 2018
service fixed QA thresholds for the subprojects Aug 20, 2018
splitter fixed QA thresholds for the subprojects Aug 20, 2018
stages updated code and error ranges. Oct 15, 2018
target.maven added comments to multiple version handling of goomph Jun 14, 2018
target.p2 fixed checkstyle + pmd errors Apr 3, 2018
test.setup ... Mar 13, 2018
tools/eclipse-lib-loader reorganizing file structure Mar 7, 2018
.gitignore Merge branch 'master' into merge Jun 28, 2018
.travis.yml Update .travis.yml Aug 7, 2018
LICENSE added license Mar 14, 2018
README.md Update README.md Apr 10, 2018
build.gradle added and fixed tests for the ModelProbeController Aug 8, 2018
build.gradle.orig Merge remote-tracking branch 'origin/master' into lbl-merge Feb 26, 2018
config.template final commit Apr 6, 2018
gradle.properties.template Merge branch 'master' into fix-master Aug 29, 2018
gradlew New Wrapper Nov 2, 2017
gradlew.bat New Wrapper Nov 2, 2017
log4j.cfg - Added HierarchicalBehaviorCompositeStage and Jun 15, 2018
settings.gradle updated and fixed database use, filters and models. Jul 15, 2018
snapshop code used in the analysis added new files Feb 23, 2018

README.md

iObserve Monitoring and Analysis

Build Status

This repository contains the sources for the iobserve analysis including

  • common for the monitoring records (event types)
  • monitoring for the monitoring probes
  • analysis for the analysis plugins on basis of teetime
  • analysis.cli command line version of the analysis
  • analysis.service the service version of the analysis
  • splitter separates monitoring data streams by host
  • rac.creator this tool allows to create a RAC mapping based on monitoring data, a PCM model and a supplementary mapping file.
  • test.setup test tooling

The code is in a prototype stage and not fully functional, especially, as some parts are still located in other SVN repositories.

Setting up iObserve gradle build

Prerequisites

  • We use Java 8. you need an Java 8 JDK installed on your machine.
  • You need additional packages which are compiled in iobserve-repository. Checkout the iobserve-repository git repository alongside iobserve-analysis git clone git@github.com:research-iobserve/iobserve-repository.git
  • You need Kieker example data, a RAC and a corresponding palladio model

'Note: This is outdated, we switched to gradle'

Setup Build Environment

In the iobserve-analysis directory, create a file gradle.properties. Add the following variable declaration to that file and save it.

api.baseline=PATH_TO_IOBSERVE_REPOSITORY/mvn-repo/

Substitute PATH_TO_IOBSERVE_REPOSITORY with the actual absolute path on your computer to the iobserve-repository directory.

Compile

Depending on your local setup you may use:

  • ./gradlew build (linux, mac, etc.)
  • gradlew.bat build (windows)
  • gradle build (in case you have gradle 3.2.1 installed on your system)

Execution

After compilation, you may find in various folders packages containing executables, including the analysis, the replayer, the session reconstructor, etc. The process to use them is quite similar. In the following we introduce the most common tools.

Alongside all executables we have example configurations placed in the respective sub project folder with the suffix config. All executables support an environment variable project_OPTS where project must be substituted by the executable name. for analysis it is ANALYSIS_OPTS. Through this mechanisms further parameter can be specified which is quite helpful.

To activate logging use: export ANALYSIS_OPTS="-Dlog4j.configuration=file:///full/qualified/pathname/log4j.cfg" Please note that you have to adjust path and file name to your setup.

Analysis

The analysis is located in analysis/build/distributions/ You may find two archives containing executables.

  • analysis-0.0.3-SNAPSHOT.tar
  • analysis-0.0.3-SNAPSHOT.zip Choose your preferred kind of archive and extract it in our analysis directory (preferably outside of the directory of the git repository). After extraction you can start the analysis with:
  • analysis.cli-0.0.3-SNAPSHOT/bin/analysis (linux, mac, etc.)
  • analysis.cli-0.0.3-SNAPSHOT/bin/analysis.bat (windows)

usage: iobserve-analysis -h,--help show usage information -c configuration file

For a minimal analysis, type: analysis-0.0.3-SNAPSHOT/bin/analysis -c analysis.config

Collector

Usage:

[options] Options:

  • -c, --configuration Configuration file.

Log-Replayer

Session Reconstructor

Service Privacy Violation