Usually, we have bi-weekly developer meetings. The specific dates and instructions on how to join are listed on the Meetings Home page. We recommend subscribing to Kieker's calendar.
Check ticket status before the meeting and add relevant topics
2024-07-03
Switch to github for the ticket system
Reiner Jung has created a backup of the tickets and will send them to Shinhyung.
Cloudprofiler: Shinhyung discusses running it with MooBench
What to do with the content of Confluence?
Passwords got to an encrypted keypass file and then onto a github private repository
Release documentation will be moved to the readthedocs documentation
Meetings minutes will be moved to GitHub wiki
Release preparation 2.0.0
2024-06-05
TeaStore
OpenTelemetry compability
Bachelor thesis (not reusable): Create a TeeTime stage that exports Kieker OperationExecutionRecords to OpenTelemetry span https://github.com/Col20s/kieker/blob/main/OpenTelemetryStage.java
Willli suggest: Use IRL for compatibility DSL / Xtext
Python (Serafims work)
Release
2024-05-29
MooBench: Since results are reasonably stable, no increase of NUM_OF_LOOPS (https://github.com/kieker-monitoring/moobench/issues/9 )
Logging doesn’t work in MooBench: https://github.com/kieker-monitoring/moobench/issues/12
Whats the matter with PutStrategy and InsertBehaviour? (Default value currently makes multiple thread monitoring hard)
2024-05-17
PR Spring Extraction
MooBench: JDK 11 to 21 update -> Examine changes in SSP paper
MooBench Jenkins data: https://maui.se.informatik.uni-kiel.de/repo/moobench/
MooBench Jenkins data analysis: https://github.com/kieker-monitoring/moobench/tree/main/tools/compile-results
MooBench kieker-python (https://build.se.informatik.uni-kiel.de/view/Kieker/job/kieker-moobench/job/main/ fails) => David creates ticket (Created: - KIEKER-1983Getting issue details... STATUS )
Gradle update to 8.7 should happen
2024-04-24
Spring boot: Still in progress (David)
Security problem in documentation: Still in progess ( - KIEKER-1982Getting issue details... STATUS Reiner)
build.gradle publishing: Try to move to parent build.gradle (David)
Spring probe extraction: Wait for build in https://build.se.informatik.uni-kiel.de/view/Kieker/job/kieker-dev/view/change-requests/job/PR-548/, whether
implementation "net.kieker-monitoring:kieker:${kiekerVersion}:spring"
worksgit command not found for main release check (https://build.se.informatik.uni-kiel.de/view/Kieker/job/kieker-release-check/job/main/75/console) → David contacts Matthias
Open tickets for 2.0.0
2024-04-10
Should be ready to merge
Spring: Interceptors still don’t work for spring boot, because they don’t select the methods → Is there something missing?
There is a security vulnerability: - KIEKER-1982Getting issue details... STATUS
Duplicated publishing information necessary? https://kieker-monitoring.atlassian.net/jira/software/c/projects/KIEKER/issues/KIEKER-1979?
2024-03-27
Spring web and Kieker seems to have some problem: - KIEKER-1978Getting issue details... STATUS
Check interceptors
Next meeting: 10. 4. 9:00
2024-02-21
CI / CD: Jenkins is accesible again, move process to GH actions if manpower is available
Instrumentation technologies
Buildtime instrumentation is also implemented currently → Compare performance and probably leave it as option in the code
Meeting for paper at next Kieker dev meeting (either camera ready planning or QRS resubmission)
Disruptor: Not needed for current MooBench measurements, and it would require a bigger refactoring (creation of onXRecord for each record in WriterController); therefore, we don’t do it for now (even if it would reduce GC activity)
1.15.5 release is required to have a stable version of Kieker that is compatible with Java 21 (currently, AspectJ is not compatible to Java 21)
2024-02-14
MooBench memory leak: Based on analysis of heap dumps, it seems like the RotatingLogFilePoolHandler caused the problem: https://github.com/kieker-monitoring/kieker/blob/371a9095a1bc212dbd422afdf831197bd50794cf/monitoring/src/kieker/monitoring/writer/filesystem/RotatingLogFilePoolHandler.java#L85 (We have ~5000 files in the ArrayList)
First solution: increase
kieker.monitoring.writer.filesystem.FileWriter
maxLogSize
,maxEntriesInFile
and decreasemaxLogFiles
for MooBenchLong-term solution: Change default parameters in Kieker (currently, we have only 25 000 entries in one file, resulting in files of ~1.5 MB): https://github.com/kieker-monitoring/kieker/blob/371a9095a1bc212dbd422afdf831197bd50794cf/monitoring/src-resources/META-INF/kieker.monitoring.default.properties#L338
Overall architecture: Have one monitoring module with submodules monitoring-core and one module for each agent: monitoring-aspectj, monitoring-disl, monitoring-javassist, monitoring-bytebuddy
Each agent should be provided as individual jar
Only the required classes should be contained (no analysis classes)
Java 11 PR problem: Was caused by a deprecated test → Removed and try again
DiSL PR problem: Was caused by missing Kieker license header for DiSL → Changed and try again
2024-01-24
MooBench
Is https://github.com/kieker-monitoring/moobench/tree/main/continuous-integration still relevant (or is this replaced by the Jenkinsfile)?
Would it make sense to migrate https://maui.se.informatik.uni-kiel.de/repo/moobench/ to github?
2024-01-10
Java 21 support requires an AspectJ update - KIEKER-1971Getting issue details... STATUS
Hopefully, there is some way changing the classpath in the aspectj gradle plugin:https://github.com/freefair/gradle-plugins/issues/1005
Didn’t work in https://github.com/kieker-monitoring/moobench/actions/runs/7421185662/job/20194020069
Somehow magically worked in https://github.com/kieker-monitoring/moobench/actions/runs/7424136205 - maybe the update to 1.9.20.1 was already sufficient for our featureset? (https://github.com/kieker-monitoring/kieker/pull/480 )
There was still a configuration error in
compileJarIntegrationTestJava
; wait for Jenkins build and than merge
Refactoring MooBench (https://github.com/kieker-monitoring/moobench/issues/9 )
Started and works basically for Kieker (except the Java 21 thing)
Adapted for OpenTelemetry-java (is this good style? https://github.com/kieker-monitoring/moobench/blob/59f09ebecb9d908b7da93613107670dbaa8053e7/frameworks/OpenTelemetry-java/functions.sh#L45
Kieker-python still needs adaption (copy OpenTelemetry-java style?)
Do we want to continue inspectIT regular execution (since the website still has the roadmap for 2022…) → Leave it running, but remove it if problems occur
Website still needs adaption → Currently failure due to unknown error; rerun on Jenkins started
In general: Change to “Kieker-java-aspectj”, “Kieker-java-DiSL”, …? → Yes
Kieker usage for Micro-company (https://github.com/DaGeRe/micro-company/tree/kieker ): How to fix logging issue?
TeeTime does not compile → We need GH actions like for Kieker: https://github.com/teetime-framework/TeeTime/pull/45
Locally, when checking out Kieker, sometimes the error “Could not find teetime-3.1.0-test.jar (de.cau.cs.se.teetime:teetime:3.1.0).” occurs. Is there a solution / workaround for this?
Ask Reiner: What is the rights situation with TeeTime? We need the rights to merge at least
If there is no TeeTime organization anymore, it might make sense to fork the core TeeTime to the kieker organization and consider it as another Kieker project
Next meeting: 24.1. 10:00
2023-12-13
Documentation: Reiner fixed quickstart guide (https://github.com/kieker-monitoring/kieker/blob/main/documentation/quick-start-guide.rst )
Open PR: Reiner has a look at https://github.com/kieker-monitoring/kieker/pull/421
AOPalliance ticket: David finalizes https://kieker-monitoring.atlassian.net/browse/KIEKER-1962https://kieker-monitoring.atlassian.net/browse/KIEKER-1962
Instrumentation research: Besides DiSL, we could try BISM (https://link.springer.com/article/10.1007/s10009-023-00708-z)
2023-11-29
KIEKER-1933: Reiner resolves merge conflicts, afterwards David merges the PR
OPAD, extension-kafka and extension-cassandra: Don’t create bundle for now, if somebody starts using it add it
Reiner will create example bundle
resource-monitor: What is it? → Ask Andre van Hoorn
Current approach with Brunel: Monitor https://github.com/idugalic/micro-company (With spring - we should check the spring example and create a better documentation sometimes)
Research idea: Support DiSL probe and create kieker-disl-jar, and evaluate it on some bigger project
Two requirements on project: Scala / Java or Kotlin / Java mixed, some workload definition for measurement
Adaptive Monitoring (Compare SSP inspectIT Stuttgart?)
2023-11-15
Possible refactoring of MooBench: https://github.com/kieker-monitoring/moobench/issues/9 → How to implement this changes for the UI?
Since inspectIT seems unmaintained, remove it?
OneAgent (Dynatrace) and Datadog agent both allow a 14 day trial; we can test it and compare the overheads
2023-11-06
Fixed - KIEKER-1948Getting issue details... STATUS and - KIEKER-1966Getting issue details... STATUS
Plan: Release the fixes as 1.15.3, but plan for soon 2.0.0 release
2023-10-09
TeaStore debugging
No results so far
eclipse project debugging
Solution is to exclude test jars which are included twice from projects from eclipse dependencies (https://github.com/eclipse/buildship/issues/1266 )
This works fine for Ubuntu; for Fedora, the
testImplementation 'de.cau.cs.se.teetime:teetime:3.1.0:test'
dependency is not recognized correctly
2023-09-22
To discuss:
TeaStore debugging
TrackingFilter seems like TeaStore needs OperationExecutionRecord (kieker.monitoring.probe.aspectj.operationExecution.OperationExecutionAspectFull)
With OperationExecutionRecord: Traces are considered invalid, even though they are valid (
Caused by: kieker.tools.trace.analysis.filter.traceReconstruction.InvalidTraceException: First execution must have ess 0 (found 1)
)Minimal example with only one previously broken trace id works
Ideas:
Combine two traces, including a broken one; Afterwards incrementally increase number of traces
Ask Reiner for results of last debugging session (What was wrong in Filter?)
2023-09-12
To discuss:
Why does MooBenchs default instrumentation create different record types (OperationExecutionRecord, ApplicationTraceMetadata, BeforeOperationEvent and AfterOperationEvent)? Shouldn’t Before/AfterOperationEvent be sufficient? Instrumentation is kieker.monitoring.probe.aspectj.flow.operationExecution.FullInstrumentation
Is it right that MooBenchs default instrumentation does not create empty constructor call data?
→ Yes, its intended; flow.operationExecution does not work in Java 17+ (https://stackoverflow.com/questions/70411097/instrument-java-17-with-aspectj ); therefore, we need to restructure all the records
Separation of Before/After Records -> David creates ticket
MooBench generally works again after fix, inspectIT needs fix → David Georg Reichelt contacts Novatec
Thesis -> Theses -> Andre van Hoorn checks thesis
Logreplyer on TeaStore data still does not work on bigger traces; discuss next time
2023-08-22
Log replayer and analysis for TeaStore still does not work: - KIEKER-1948Getting issue details... STATUS
David identifies the first wrong record and discusses this with André
Kieker setup: eclipse does not recognize package structure
MooBench No Logging / Binary Writer examination paper: Warmup experiments started, waiting for results
2023-07-31
Who will maintain Jenkins builds in future? Matthias was asking and we should find an idea to address this.
Somebody from Kiel? Otherwise Andre and David
MooBench No Logging / Binary Writer examination paper:
Data set does contain not-warmed up data → fix later
DumpQueue solves the problem
2023-07-17
Problems No Logging / Binary Writer Examination
Multithreading or using getCurrentThreadUserTime() hangs (nondeterministically)
Examine later
METHOD_TIME does not solve the problem for many configurations
Try creating a MonitoredClassLoops, or eventually in combination with getCurrentThreadUserTime()
Calibration of METHOD_TIME
Wait for feedback from Reiner
- KIEKER-1948Getting issue details... STATUS → Prepare reproducible next time
How to add documentation to https://kieker-monitoring.readthedocs.io/en/latest/instrumenting-software/java/Instrumentation-with-AspectJ.html ? Edit code:https://github.com/kieker-monitoring/kieker/tree/master/kieker-documentation/instrumenting-software/java
2023-07-04
Open Issues for 2.0.0?
How to add documentation to https://kieker-monitoring.readthedocs.io/en/latest/instrumenting-software/java/Instrumentation-with-AspectJ.html ? (Otherwise, interested people will always have problems getting started)
No Logging / Binary Writer Examination
Experiments are mostly succeeding (Java 11 + 17, i7-4770 and i7-6700), but values are generally not as stable as one could expect → Maybe default $NUM_OF_LOOPS should be higher?
Solution probably: METHOD_TIME should always be above 1000 → Change default parameter and print warning?
Future work: Check different Queue types? Why isn’t the effect increasing with more threads?
Next steps on https://github.com/teetime-framework/TeeTime/issues/31 ?
2023-06-20
OSHI is very outdated and should be updated: - KIEKER-1963Getting issue details... STATUS
DiSL waiting for response
No Logging / Binary Writer Examination
First PDF and experimental results existing: https://gist.github.com/DaGeRe/c7159297bad4bd13fb556dcf696d0699
Check without optimization in JVM
perf → measure context switches
Measure dummy loop (David) and queue (Reiner) separately
Ideas for implications:
Try other queue
Callibration of dummy loops to reduce context switches
Check method time increase
Processor Pinning
Try other JVM
Related work
MooBench + Benchmark Design
Benchmark Callibration
Runtime Environment
i7-6700 → Uni Leipzig
Raspberry Pi?
Java 11 / 17?
2023-06-06
review tickets
switch to Java 11 due to logging framework logback requires at least 11, newer versions of aspectj need it too. There might be other libraries that may hit this version issue.
DiSL implementation started: - KIEKER-1961Getting issue details... STATUS
Old DiSL instrumentation still existing https://github.com/kieker-monitoring/kieker/blob/KIEKER-1961-Support-DiSL/kieker-monitoring/src/kieker/monitoring/probe/disl/flow/operationExecution/FullInstrumentation.java and DiSL jar added manually: https://github.com/kieker-monitoring/kieker/blob/208d996b55661f2d50c8e4661835c0c588af4bc9/kieker-monitoring/build.gradle#L65 - remove? (Will not work at all, no DiSL-classes specified, and its basically 9 years old)
DiSL is currently not in maven central, so everything is experimental (for MooBench evaluation - than let’s see whether this improves performance)
implementation 'aopalliance:aopalliance:1.0' can be removed from kieker-monitoring without side-effects → remove?
MooBench questions
Whats the point of https://github.com/kieker-monitoring/moobench/blob/main/frameworks/Kieker-java/build.gradle ? I do not see any call to it while benchmarking
Whats the advantage of $MOOBENCH_BIN instead of just creating the call with java -jar … (https://github.com/kieker-monitoring/moobench/blob/72ce150aa773fc92b5aa7578781d06185ea6d269/frameworks/Kieker-java/functions.sh#L56 )? It makes different configurations (calling it with perf, starting with DiSL instrumentation) harder
TODOs
aopalliance dependency can be removed
document that CXF, JMS are unmaintained
JMS maybe newer version and better/smaller dependency
2023-05-23
Release 2.0.0
review tickets Reiner Jung
Pull request https://github.com/kieker-monitoring/kieker/pull/383
Pull request https://github.com/kieker-monitoring/kieker/pull/407
MooBench performance tests
Integration of OceanDSL stuff - KIEKER-1959Getting issue details... STATUS
Future proofing Kieker
Build environment
Shall we keep Jenkins?
Who will maintain and support Jenkins pipeline and docker container?
Keys/Credentials
How to store credentials?
TeeTime maintenance
Add teetime credentials to Confluence Reiner Jung
What to do with MooBench?
2023-05-09
Kieker 4 Python on pypi https://pypi.org/project/kiekerforpython/
MooBench has lower execution times for binary file and TCP writer than for DumpWriter; this should be examined: - KIEKER-1958Getting issue details... STATUS
Issue regarding time unit should be checked and closed: - KIEKER-1956Getting issue details... STATUS (David)
Queue handling for log replayer should be fixed: - KIEKER-1948Getting issue details... STATUS
2023-04-26
Reiner und Thomas need to fix their calendar issues
Discussed MooBench results. Question:
Why Binary TCP for Kieker faster than no logging?
Similar inconsistency for inspectIT; David to contact Tobi A.
2023-04-04
2023-03-07
Currently bug in log replayer: - KIEKER-1948Getting issue details... STATUS → How do we want to handle incompatibility with Java 17?
Multiple dirs: David
Java 17: Reiner
A big portion of the trace analysis gui is in the trace-analysis project (https://github.com/kieker-monitoring/kieker/tree/master/kieker-tools/trace-analysis/src/kieker/tools/trace/analysis/gui ) → Is there a reason for this, or could it just be moved?
Move classes: David creates PR
Plan 2.0.0 release cycle (what should go in and what must be done)
How to handle next batch of tools and analyses coming in from OceanDSL?
2023-02-21
Thomas F. Düllmann Kieker → OpenTracing
Thomas F. Düllmann Assumed executions in Kieker4Python
Started slides for CLT: https://github.com/kieker-monitoring/resources/tree/master/talks/20230311-CLT
2023-02-07
David Georg Reichelt’s Kieker talk at Chemnitz Linuxtage accepted. Event will be on March 11, 2023. 45 minutes talk.
Reiner Jung to provide input from OceanDSL tools, e.g., visualization of the architecture model
David Georg Reichelt provides TeaStore logs to Reiner Jung
David Georg Reichelt presents updates to MooBench
To keep on the Kieker (radar): tutorial, e.g., ECSA 2023.
2023-01-25
General idea: Probably in the future rebase and merge instead regular merge? (from the last 1000 commits, 149 are merge commits: git log --oneline | head -n 1000 | grep "Merge pull" | wc -l)
For a set of commits with smaller changes: rebase or squash
For merging back release branches, merge request
FullInstrumentation does not work with Java 17: - KIEKER-1947Getting issue details... STATUS we either should to refactor it or to remove it
Possible replacemenet: https://bytebuddy.net
Pending TODOs
Merge RC back to master David Georg Reichelt
Java records for monitoring records Holger Knoche
2023-1-10
Release 2.0.0 ticket selection and todo list
Holger Knoche suggested new record solution - KIEKER-1935Getting issue details... STATUS
We need an architecture/API description for this in the documentation.
We need a generator for records and factory for this new type of records.
Summary:
Nice idea
Record keyword supported >= Java 14 but not an issue as the generic factory has no dependency to record.
Holger Knoche to check whether there are features for reflection that do need Java >8.
Would be nice to get into the Kieker core as an alternative to define records.
Holger Knoche Prepares a new pull request.
Perspective: rename master branch into main branch. - KIEKER-1942Getting issue details... STATUS
In progress by David and Reiner. Pending issue
TeaStore: Monitoring basically works (requires setting IP and deactivating firewall): https://github.com/DescartesResearch/TeaStore/issues/236
David to merge multiple directories distributed traces (folders) and report in the next meeting.
2022-12-20
Perspective: rename master branch into main branch. - KIEKER-1942Getting issue details... STATUS
Merge back 1.15.2 to master. PR created, David Georg Reichelt checks the conflicts,Reiner Jung Could you check and eventually merge the PR?
There seems an issue with signing tasks
TeaStore: Still technical problems: https://github.com/DescartesResearch/TeaStore/issues/236
DFG proposal
2022-11-29
Andre van Hoorn will move the Kieker/resources repo from Kiel to GitHub (as a private repo)
Tutorial: Create a folder in the repository for the tutorial; we’ll create the proposal document in there.
Perspective: rename master branch into main branch. - KIEKER-1942Getting issue details... STATUS
Merge back 1.15.2 to master. In progress by David Georg Reichelt
2022-11-04
Kieker SSP meeting 7.11. 16:00-18:00 (get-together 15:30!) hybrid at Vector Informatik GmbH in Stuttgart Weilimdorf, Holderäckerstraße 36, 70499 Stuttgart.
Kieker developer meeting agenda
ICPE tutorial:
Proposal deadline: Jan 22, 2023
Existing materials:
Proposal template from Kieker tutorial at ICPE 2014
Tutorial slides from Kieker tutorial at ICPE 2014 (2 hours)
Did not find the folder with the original resources. It used to be in a separate Kieker Git: https://git.se.informatik.uni-kiel.de/kieker/resources (but cannot be accessed by non members, but by Andre van Hoorn ) Andre van Hoorn suggests to move the repo to GitHub as a private repo.
Slides from a guest lecture at U Pavia that was after the tutorial: https://kieker-monitoring.atlassian.net/wiki/download/attachments/5865548/20140521-KiekerLectureUPavia-slides.pdf?api=v2
Contents
Motivation for monitoring
Kieker basics
Hands-on instrumentation + monitoring
Selected Use Cases
Monitoring distributed Java applications
Dynamic analysis of legacy systems (VB, .NET, COBOL, Fortran, Perl, C/C++)
…
Chemnitzer Linuxtage (David): 1 hour talk
Items for report at SSP Reiner Jung Wilhelm Hasselbring David Georg Reichelt Thomas F. Düllmann: Please complete
Research activities/projects in the (wider) Kieker scope:
Performance monitoring and analysis of data-intensive systems, particularly based on Python+TensorFlow
SPEC RG: local performance models (working with some benchmark systems and extracted architectures)
dqualizer: domain-based analysis of runtime quality attributes, e.g., including domain-based monitoring / Dispel
Kiel: Dynamic analysis of ocean models? Refer to presentation
Peass: Usage of Kieker for architecture recovery and root cause analysis → GeoMap industry case study will be presented in this SSP, which uses Kieker
Technologies/Features:
Kieker for Python: Refer to presentation and paper (presentation by Serafim, Instrumenting Python with Kieker)
Kieker for Fortran: Refer to presentation and paper (presentation by Reiner, Architecture Recovery from Fortran Code with Kieker)
Development process and environment:
Accelerated release process with minor versions (semantic versioning)
MooBench updates: https://kieker-monitoring.net/performance-benchmarks/
Performance benchmarks were updated to the current Kieker version and OpenTelemetry and inspectIT (last year)
Continuous execution of benchmarks has been automated (again) (This year)
Also for Python
Planned for C/Fortran/C++
Releases:
Kieker 1.15.2?
Change in release cycle: Bugfix releases and releases fixing security problems in dependencies will be published more often in the future
Requires automated release process (instead manual upload to sonatype)
Currently, finalizing of release process adaption happens
Build process uses only maven/gradle dependencies
Kieker 2.0.0
Finalized integration of TeeTime-based stages
Naming conventions for stages
Stage processing, data manipulation
Filter filters events (Kieker events or any other data object passed between stages)
Sink for stages that store data
Source for stages that read, load or receive data
Refactoring to support a topic-based package structure instead of a technical motivated structure, i.e,
architecture
adaptation
dependency
metrics (metrics for architecture evaluation)
recovery (architecture recovery)
repository (architecture model repository)
trace (architecture based trace analysis)
behavior (user behavior analysis)
generic
statistics
New facilities to observe and analyze user behavior based on graph clustering algorithms
Architecture model comes now with a model repository and stages processing these repositories
Architecture model supports interfaces and dataflow (beta)
As many classes have been moved, we provide a complete list of moved classes for migration to the new version
2022-10-14
TODO: What happened with release wiki page: Release Dates and Schedule
David Georg Reichelt is debugging the publish and sign process locally to indentify the issues with our current setup
Use modified Jenkinsfile in case the issue is only on Jenkins
How about a 2.0.0 release?
3.11.2022 10:00 next online Kieker meeting
2022-10-07
Submit a tutorial to ICPE 2023 - deadline Jan 22, 2023
Next meeting 14.10. 8:30
Issues with release publishing due to missing keys
2022-09-23
Make release process transferable to other people to eliminate bottleneck
Make 1.15.2 release (release date 30.9.2022)
Set a date for the 2.0.0 release (release date 20.10.2022)
We need a concept for dependency updates, currently we have a none
Use dependabot
2022-09-02
New MooBench page and benchmark setup
Change file names to be more verbose (done)
First description for Kieker Java and Python Reiner Jung (done)
Then David Georg Reichelt for Telemetry and inspectIT
1.15.2 Release ready, must be release Andre van Hoorn
Kieker 4 Python development / paper
Activate Dependabot for Kieker
Live Demo should move to Kiel or HH Reiner Jung will try to set this up, support Thomas F. Düllmann
2022-07-29
Kieker 4 python: Development ongoing
Kieker 1.15.2 Release Candidate: Waiting for release → Mail to Reiner
MooBench: Reiner is updating everything for visualization update
André and Reiner fix all the bugs
Thomas is available on August 11. and 12, David is only available on August 11 → Move meeting to 11th? Reiner Jung
2022-07-15
Please review the package structure layed out in branch and the corresponding ticket - KIEKER-1903Getting issue details... STATUS
The revision must check whether the location of the classes make sense and which classes must be moved (again)
We need someone to look at the structure and it cannot be Reiner Jung who created the current package structure
We need a definite date to when this review must be finished. There are quite some depending tickets that require this to be solved.
We lack a lot of tests. We should address this.
We should check which tickets should go into the 2.0.0 release.
iObserve stages integration for 2.1.0
SSP
paper Kieker 4 Python, lesson learned (based on slides von Serafim)
abstract, Kieker 4 Python + Open Telemetry to monitor landscapes, conversion and integration
2022-07-01
Kieker 4 Python
Traces when complete, should trigger a new TraceMetadata events before the next BeforeOperationEvent.
Package reworked. Maybe someone can have a look at it so we can finalize this. - KIEKER-1903Getting issue details... STATUS
It is advised to update all open ticket branches to work with the current master/stable
Deadline Kieker 2.0.0 September
MooBench
compile-results → summarize
merge branch of David (Reiner Jung)
2022-06-15
What to do with MooBench? Extend it? If so how? Where to run it?
Add all MooBenchmarks (including OpenTelemetry)
There will be a Forscher Club presentation on (most likely, 7.7.2022 at 10:15) Kieker 4 Python, current affairs, issues, techniques
2022-06-03
Started moved packages ans classes, discuss current state - KIEKER-1903Getting issue details... STATUS
It is advised to update all open ticket branches to work with the current master/stable
Python 4 Kieker, current state?
Remove maybe release-check-extended from normal master build? (stays)
Not many powermock tests. Removed them. Partially, they tested deprecated code. - KIEKER-1922Getting issue details... STATUS
We have an odd package structure for our tests - KIEKER-1923Getting issue details... STATUS
2022-05-20
Maybe issue with powermock. Shall we remove powermock tests? - KIEKER-1922Getting issue details... STATUS
Check if they can be ported to mockito
Links to kieker 1.15.1 missing, switched now to latest link on github: https://github.com/kieker-monitoring/kieker/releases/latest
Python 4 Kieker, some issues
2022-04-22
State of Kieker 4 Python, example runs now based on latest spider and with pip installation
Merge release branch back to master David Georg Reichelt ?
Revisited tickets to discussed in meetings
Possible next steps:
2022-04-08
Kieker Python:
Thomas was working on running Kieker’s Python library based on the existing docs
1.15.1 released, but only on Maven Central and GitHub. Need to identify and conduct cleanup steps
Went through Release Creation to check what needs to be done for minor releases
…
Master should have the version 1.16.0 --- or 2.0.0 once we remove deprecated (or implement the agreed package changes)
2022-03-31
1.15.1 released, but only on Maven Central and GitHub. Need to identify and conduct cleanup steps
web site updates
size of bin release causes trouble with GitHub release upload
…
Kieker Python: Serafim presented
2022-03-17
Fixed broken build in the release check pipeline due to reverted workspaces for the check stages.
2022-02-24
- KIEKER-1903Getting issue details... STATUS without it we cannot include iObserve and OceanDSL features, metrics, etc.
2022-02-17
RC-1.15.1
Document design decision ADR Andre van Hoorn
Example tests
Create TeeTime release Reiner Jung
Automation of release creation: - KIEKER-1918Getting issue details... STATUS
2022-02-10
1.15.1 release train
- KIEKER-1809Getting issue details... STATUS works in principle. Jenkins job needs to be configured with moved Jenkinsfile.
Build results using the current Jenkins job: https://build.se.informatik.uni-kiel.de/job/kieker-dev/job/KIEKER-1809-test-for-version-change/
- KIEKER-1903Getting issue details... STATUS without it we cannot include iObserve and OceanDSL features, metrics, etc.
2022-01-13
Scripts: awaiting fix by Reiner Jung in TraceAnalysis
Next meeting: Jan 27, 2022
2021-12-16
Topics
Failing GitLab tests on Windows: https://github.com/kieker-monitoring/kieker/actions/runs/1582270428
David Georg Reichelt Skip the two tests (TCP, Influx) via assume windows → SKIP
2021-12-02
Topics
Kieker examples
Discussed TeeTime dependency issue identified by David
Reiner Jung Fix it in TeeTime and create a release
David has 2 out of 3 scripts ready for - KIEKER-1908Getting issue details... STATUS
2021-11-25
Topics
Backlog:
Revisit what has (not) been discussed during our SSP meeting
Feedback from Nils Christian Ehmke on the current test setup: - KIEKER-1909Getting issue details... STATUS
SSP Dev Meeting 2021 @ Leipzig
Participants:
Marcus Hilbrich
Nils Christian Ehmke (virtual)
Wilhelm Hasselbring (only dinner)
Location: A120, Neues Augusteum, Augustusplatz 10,04109 Leipzig
Quick lunch gathering: 13:15 (David Georg Reichelt Döner Hauptbahnhof)
Agenda:
14:00 - Welcome and agenda revisited
14:15-14:30 - Coffee break
14:30-14:45 - Buffer
14:45 -15:30 - Session 1 - New Contributions
David misc (30 Min)
David: Duration Record (https://github.com/DaGeRe/KoPeMe/blob/master/kopeme-core/src/main/java/de/dagere/kopeme/kieker/probe/AbstractDurationAspect.java )
David has a Duration Record that captures a signature with a single duration measurement. Goal to represent individual measurements and aggregated ones, e.g., mean, median.
Currently interested to have aggregated measures
Perspective: sampled probes
Discussion:
The current implementation not really timeseries because grouping by measurement index rather than time
IRL supports to model how measurements are obtained, e.g., getTime()
It could make sense to have reusable parent classes for timeseries measurements; possibly use enums for the statistic, e.g., mean, max, …
https://github.com/kieker-monitoring/kieker/blob/master/kieker-common/model/records/controlflow/ControlFlow.irl (template for irl)
Eclipse extension for Kieker IRL https://maui.se.informatik.uni-kiel.de/repo/kdt/ (releases and snapshot)
AI Reiner Jung Add documentation on how to use the IRL to Kieker ReadTheDocs
Idea to have a reusable class for the sampling / aggregation
David: moobench-fork (https://github.com/DaGeRe/moobench-fork/ )
David demonstrates his fork
Goal to have his changes in the MooBench master
Decided to move MooBench from Kiel’s GitLab to GitHub
David: kieker-source-instrumentation https://github.com/kieker-monitoring/kieker-source-instrumentation/
Reiner: OceanDSL tooling for dynamic and static architecture recovery, model merge and model visualization
Release retro, Andre (15 Min)
Cumbersome hard-code versions
AI: create a test
Cumbersome testing of examples (at least we should compile+run test of all examples)
AIs: Dedicated meeting to discuss
Which examples are relevant?
What is the purpose of the examples? Examples of use vs. tests
Make sure that the examples compile?
Current issue in importing sources into Eclipse.
15:30-16:20 - Session 2
Update and demo on Kieker Trace Diagnosis Tool Nils Christian Ehmke
Breaking changes / migration notes
Request by Nils to have Nils Christian Ehmke
migration notes with each release --- idea to populate the field migration note with each Jira ticket and consolidate them for the release.
pay attention to API-incompatible changes. Wish to have semantic versioning also for Kieker.
AI: Add Jira field for release notes
We already had at some point an API check implemented, maybe we can reuse this tool?
AI: reduce the size of the releases!
AI: decouple the examples from the core build
Issue: no anonymous ticket creation possible.
AI: check transformation of tickets to Jira?
AI: open issue tracking in Jira for externals
Solidify package structure in analysis (mitigate future refactoring issues) Reiner Jung
TeeTime filters to be migrated or moved
Contribution from other projects
AI: need a top-down approach to structure the analysis package; several classes are misplaced etc.
16:20- 16:30 - Coffee break
16:30-18:00 - Session 3
Andre/Thomas + Reiner/Serafim: Python instrumentation
Reiner: C and Fortran instrumentation
Andre: Idea: PlantUML export of sequence, component, and deployment diagrams.
Could be done based on the new architecture or graph stages (Reiner)
Planning of action items, next features
Release creation: examples and version changes
Branches (pending e-mail thread by Reiner, David)
Sync on Kieker update to be presented during the SSP welcome
Kieker release 1.15
Features: TeeTime-based analysis stages, …
Java 11, particularly for AspectJ-based monitoring
Maintenance, CI/CD (e.g., Github actions), …
User guide from LaTeX to ReadTheDocs
Kieker Trace Diagnosis release
Current research topics
c, fortran and python instrumentation (talk)
moobench update (talk)
regression test analysis → monitoring overhead reduction, source instrumentation
Developer meeting with Corona distance
New/completed projects?
AI / Python project teaser
Other news?
Kieker now co-maintained by U Hamburg
End: 18:00
Dinner: 19:00 Dinner at Brauhaus Thomaskirche
Please register using the form on https://www.performance-symposium.org/2021/program/
2021-06-30
David worked on the AspectJ probes. Most probes transformed. Issues: constructorCall, constructorCallObject
David updated versions of JUnit, SL4J, …
Oshi should be updated; also applies to others. ← Seem to have API changes; postpone those for next release; David creates a ticket.
2021-06-04
Cancel draw.io trial
Open tickets
2021-05-06
Checkout list of discussInMeeting tickets
Check general all open tickets
2021-04-22
Select tickets for next release (which bugs must be fixed) - KIEKER-1877Getting issue details... STATUS
Release date in June
2021-04-08
Fix also filters marked as deprecated with reader / writer issues. Reiner Jung
Fix teetime build Reiner Jung
Python Kieker support should be implemented
2021-04-01
Handle teetime pull request https://github.com/teetime-framework/TeeTime/pull/10 Reiner Jung
Remove .project and .settings file David Georg Reichelt
Build test issue with github build David Georg Reichelt
Remove sigar tests Reiner Jung (done)
Check whether files are closed at the end of the execution (reader and writer) Reiner Jung
Drawio plugin no longer available for free, this affects some graphics in confluence
Merge branch of David Georg Reichelt with new github build Reiner Jung (done)
2021-03-11
Fix link to api.kieker-monitoring.net on www.kieker-monitoring.net
Check Pull-Request 277 Reiner Jung (done)
Create short documentation for trace analysis with TeeTime Reiner Jung (done)
David Georg Reichelt created a new build for Kieker on github
Some issues with SSL and the kieker-monitoring.net website (fixed)
2021-02-25
- KIEKER-1817Getting issue details... STATUS
Add integration test task in Kieker build
Create ticket for around advice trace issue
2021-02-11
Creating AspectJ probes using before and after advices
Added project kieker-source-instrumentation
needs a Jenkins project
Reduce stale branches https://github.com/kieker-monitoring/kieker/branches/stale?page=1
Domain migration: transition to happen on Feb 14 - KIEKER-1861Getting issue details... STATUS
Moobench scripts need documentation
2021-01-28
Cleanup und Porting (esp. - KIEKER-1841Getting issue details... STATUS )
Architecture
New TeeTime-based stages have dual constructors for Kieker Configuration class and specific parameters. The latter allows to move the parameter checks out of the filters and check parameters at setup time.
Domain
Dependencies
Update Oshi from 3.12.2 to 5.3.7, try to update.
2021-01-14
Instrumenting code with Kieker
Review and merge new get/put strategy feature Reiner Jung
2020-12-17
Domain transition of kieker-monitoring.net
Use spaces instead of tab
2020-11-26
GraphDB with Neo4J
The gradle integration of OpenClover lost its maintainer. Thus, we need to switch to another test coverage tool.
Moobench is coming back (added graph to webpage, will be automatically updated in future)
AspectJ
Weitere Punkte
2020-11-05
Possible use of Code Ocean for Kieker - KIEKER-1851Getting issue details... STATUS
Selecting tutorial and userguide examples to keep, to port, to replace and to remove - KIEKER-1841Getting issue details... STATUS
Improve release process
Remove source release package check in build (done) - KIEKER-1800Getting issue details... STATUS
Build script cleanups - KIEKER-1839Getting issue details... STATUS and update - KIEKER-1806Getting issue details... STATUS
Building and checking examples should be a separate stage
Bundling should and publishing are two separate tasks
20200709
- KIEKER-1831Getting issue details... STATUS ‘Read the Docs’ conversion is in progress
Open points theme selection/adaption
Long list of todos (should be converted to tickets)
20200528
Strategy, upcoming release, etc.
Research
Kiel
ExplorViz
Monitoring via Kieker
VR/AR (Zirkelbach)
ExplorViz as a service (Krause)
Coupling analyses
Stuttgart
Resilience visualization (VR/AR)
Trace analysis
CI/CD
Overlap
VR/AR
Modularization of Kieker
Ideas:
Use OpenAPM as a roadmap (URL with configuration)
Embed Kieker in the OpenAPM space
Influx, Neo4j
Together with Novatec
Dashboard attaching research papers
Involve Richard Müller?
Talked about ReadTheDocs and restructured text
Modularized analyses
Release "retrospective"
Request by Nils Ehmke
Request by Bernardo Andrade
20200507
Is there a proper way to assign tickets to releases, milestones? Currently, we somehow use "Fixed Versions" for this, but that seems to me to be a misuse. As theoretically, bugs can be fixed in different versions.
20200424
Release creation 1.14
Finally pushed the C language pack for Kieker. It does currently not build an Jenkins. And it does not contain all parts of Sörens work yet.
20200416
Release creation 1.14
Jenkins
Kieker migration to new Jenkins is under way, the kieker-testing branch builds on the new infrastructure.
Decided to use the workers in Kiel and no longer the workers in the BW Cloud
Need to add webhooks to Kieker project (URL will be send by mail)
20200402
Release creation 1.14
Kieker tools:
is it possible to have a ZIP with all tools?
Do we need the .tar archives?
Jenkins
20200305
Release creation 1.14:
Ticket to track progress: - KIEKER-1730Getting issue details... STATUS
RC branch: https://build.se.informatik.uni-kiel.de/jenkins/job/kieker-monitoring/job/kieker/job/1.14-RC/
Current issue: Clover error in https://build.se.informatik.uni-kiel.de/jenkins/job/kieker-monitoring/job/kieker/job/1.14-RC/17/consoleFull
Would it make sense to create a release based on the current master?
Jenkins
To setup Kieker project on new Jenkins (Reiner?)
To connect the agents
20200213
Reiner fixed web site issues
SSP tweets sent
Jenkins ongoing
20200130
SSP 2019 article online: http://kieker-monitoring.net/news/report-from-the-10th-symposium-on-software-performance/; will send a tweet
New Jenkins in a test phase
Andre fixes web site issues
Interest in writer for InfluxDB; possible pointer: https://github.com/kieker-monitoring-docker/kieker-logging-server/blob/master/src/main/java/kieker/analysis/plugin/filter/sink/InfluxDBWriterFilter.java
20200116
Jenkins
Matthias will provide logins
Now all (three) workers on BW Cloud (VMs); physical node removed
Web site
Andre: Fill SSP 2019 article
20191205
Jenkins
"execution issues" resolved
builds take very long
idea for new Jenkins: feature to log timings of builds
Increase build timeouts
Web site
Reiner: blog, something for the Kieker website (new reader, writer etc.)
Andre:
SSP 2019/20
Fixes of broken pages
20191121
Recap SSP
Traces in Neo4J
Additional users
Jenkins issue
Old SE Jenkins has issues
A new setup is currently set up
Web site issues
Build issues
20190926
Jenkinsumzug (irgendwann)
New structure for Confluence documentation - KIEKER-1799Getting issue details... STATUS
Rework release process: Proposal simpler checks, no manual checks. In case of errors, use revisions. Example 1.15.0 release → 1.15.1, 1.15.2 etc. for minor fixes.
This is the procedure: Release Creation
This is the current state for 1.14: - KIEKER-1756Getting issue details... STATUS
20190704
Reiner fixed some minor issues while working on remote control
Ticket on Cite As
20190509
Jenkins still has its URL problem, but we have a running test installation without the URL problem. Next steps are testing it with an apache proxa and cleaning up the proxy in Kiel.
20190425
Upgrade Confluence/GitHub Connector (Andre van Hoorn)
CHW's PMD rule UnitTestMustNotExtendAnything leads to numerous violations.
Thomas F. Düllmann will disable because conflict with the convention to extend AbstractKiekerTest. - KIEKER-1787Getting issue details... STATUS
Revisit the remaining PMD rules from CHQ as 50% are excluded already. - KIEKER-1788Getting issue details... STATUS
20190219 (SE on-site)
HiWi-Tags → KiekerHiwi
Jenkins issues with Docker - KIEKER-1779Getting issue details... STATUS
Jenkins redirection issues - KIEKER-1780Getting issue details... STATUS (Waiting for Admin reply)
GitHub/Jenkins integration - KIEKER-1781Getting issue details... STATUS Reiner Jung
- KIEKER-1778Getting issue details... STATUS → Check branches/tickets and clean up accordingly (everybody)
Presentation: Mapping between Sigar and Oshi as Resource Monitoring Solution (Matteo) - KIEKER-1768Getting issue details... STATUS → Check if CPU properties can be retrieved/converted & create sigar-compatible records and "native" records (check effort).
20190124
We have in some (not all) sub-projects Eclipse project configurations checked in. As they depend on a specific development environment and have no use in the build process, it might be more useful to remove them. Since we have a tutorial how to set up Eclipse, setup files are not needed. To reduce the time to configure Eclipse we should switch from a project-based configuration to a workspace-based configuration. - KIEKER-1772Getting issue details... STATUS
Should we migrate from SIGAR (to "oshi"?) and if yes, how? - KIEKER-1768Getting issue details... STATUS
Conventions for commit messages ← - KIEKER-1773Getting issue details... STATUS
We should triage the following tickets. Otherwise they are piling up.
Future plans for Java version compatibility - KIEKER-1774Getting issue details... STATUS
HiWi tasks (use "KiekerHiwi" label for tasks that could be done by HiWis)
20181218
Gradle task dependencies
should all tasks depend on all previous tasks?
possible approaches for parallelizing stages in the Jenkins build
Build notifications
Who should be notified (if at all) in case a build fails?
Gradle library dependencies
Managed in every subproject 'build.gradle' or rather in main 'build.gradle'?
Release 1.14
Release check in progress
20181206
Make use of gradle application
Moved Moobench to Belana
Jenkins caches too many branches
What can we do to push 1.14 out?
Follow Release Creation based on artifacts in https://build.se.informatik.uni-kiel.de/jenkins/job/kieker-monitoring/job/kieker/job/1.14-RC/
Start from Section "1. Test the source release"
Move to 1.15 SNAPSHOT
Integrate 1.14 rc into 1.15 snapshot
Started migration of user guide to confluence:
Thomas: refined declarative pipeline version
20181011
Reiner Jung Strange merge issue in master
BUILD SUCCESSFUL in 9m 14s 120 actionable tasks: 112 executed, 8 up-to-date Asserting 'build/libs/' is a directory ...OK Asserting 'build/distributions/' is a directory ...OK Asserting 'build/libs//kieker-1.14-SNAPSHOT-javadoc.jar' is a regular file ...OK Asserting 'build/libs//kieker-1.14-SNAPSHOT-aspectj.jar' is a regular file ...OK Asserting 'build/libs//kieker-1.14-SNAPSHOT-emf.jar' is a regular file ...OK Asserting file 'build/libs//kieker-monitoring-servlet-*.war' does not exist ...OK Making sure that bytecode version of class in jar is major version: 51 Asserting 'build/libs//kieker-1.14-SNAPSHOT.jar' is a regular file ...OK Asserting 'kieker-common/build/classes/java/main/kieker/common/util/Version.class' is a regular file ...OK Found OK rm: cannot remove '/opt/kieker/build/tmp.dDHAanHQzJ/kieker-1.14-SNAPSHOT': Directory not empty :checkReleaseArchives FAILED
Liste anlegen für Hildesheim-Meeting
20180913
Build broken due to CPD dependency that is not available any more. Thomas F. Düllmann tries to use the old mechanism for inclusion from Maven Central.
MooBench: Reiner Jung fixed the build. It works on Raspberry Pi; will check on blade now and reactivate.
Holger Knoche fixed the release 1.14 branch.
Kieker meeting in Hildesheim (Wed afternoon): Reiner Jung, Alexander Krause, Christian Zirkelbach Zirkelbach, Thomas F. Düllmann, Andre van Hoorn, Holger Knoche, Dušan Okanović?
Reiner Jung can give a TeeTime demo
TeeTime package names. Long-term goal to move them because currently in separate name space
Report about student project: splitting unit and integration tests; Docker-based examples
Sync on current research projects with Kieker relation
Cleanup Gradle build
Executables via Gradle application plugin
Kieker 1.15/2.0
Exchange about Kubernetes, istio, Docker, ...
...
20180621
No progress with IRL, IAL automatic export of a headless compiler
Stuttgart is working on a set of new resilience checks for Kieker (student project)
Code merging for 1.14 still in progress
20180524
Execute performance tests in the kubernetes cloud (Kiel) parallel to native execution on blade8. Suggested by Wilhelm Hasselbring to evaluate whether the quality of the measurements is lower than on a closer to hardware approach.
Open tickets for 1.14
Draft release notes
Teetime 3.0 released (already included)
Kieker development tools (IRL, IAL) have now a working command line compiler for the IRL. However, currently we have issues with the updatesite and maven build, but afterwards Kieker could retrieve the present compiler for Kieker records/event types automatically.
20180504
Look at open tickets for 1.14
Refine release schedule
20180426
Connection issues between Jenkins and GitHub
Timeouts of git checkout
Pull requests are not detected
20180412
Kieker release 1.14 Andre van Hoorn communicates release date
Package name for teetime in kieker (kieker.analysisteetime is too long)
Name stays in 1.14
Communicate future name change in release notes
teetime incubating feature
JDK uses
Plan a teetime workshop and demo to introduce the new facility
Create a blog post as instant demo
Roadmap
1.15 teetime merge in package structure, remove duplicate classes
1.16 Replicate remaining old fitlers in teetime, move traceanalysis to teetime
1.17 mark old filter as deprecated, remove unused features
1.18 remove old filters when feature complete
Reader infrastructure uses deprecated API and strange API for deprompression
Make master github default branch for merges, add a comment to github explaining master and stable branch in Kieker
We want to try jitsi again, worked fine today
20180329
TeeTime integration done
TeeTime 3.0 integrated
André freezes release after TeeTime dependency from Snapshot to Release.
Target release date ~ Apr 16
20180315
TeeTime migration?
Sören will talk about his adaptations to Kieker - KIEKER-1710Getting issue details... STATUS - KIEKER-1686Getting issue details... STATUS - KIEKER-1631Getting issue details... STATUS
New writer architecture. Discuss names and design - KIEKER-1699Getting issue details... STATUS
New language feature: Enumerations
Deprecation of old API.
IRegistry / string registry (could be done)
Array API, is not marked to be deprecated. However, I recall that it was considered to be deprecated (move deprecation 1.14 and removal to 1.15)
When do we deprecate the API?
We have now support for clover in our gradle build. After building everything, we can run
./gradlew cloverAggregateReports cloverGenerateReport
- KIEKER-1008Getting issue details... STATUS There is a Jenkins Plugin for Clover including a description how to use that in a Jenkinsfile. However, I do not know how to apply this "safely". Maybe someone is more talented in that area.Upcoming Kieker-related theses in Stuttgart
Integration tests in Kieker
Resilience assessment of Kieker
20180215
Should the TcpController have a default port (can lead to conflicts with multiple applications on the same host)?
=> Yes, we will define a default value similar to Tomcat etc.
Sören Henning wants to discuss some PMD/Checkstyle rules: - KIEKER-1694Getting issue details... STATUS - KIEKER-1697Getting issue details... STATUS
=> Added comments to each ticket.
Integration of Cassandra Reader/Writer? - KIEKER-1452Getting issue details... STATUS
=> Must be checked.
20180201
Remote control of Kieker via new TcpController (by mad@informatik.uni-kiel.de)
TeeTime migration stops due to >700 rule violations
Checkstyle's log guard statement rule > 400 rule violations
We propose slf4j
quasi-standard logging API for Java
log.info("x {} y {} zt", arg0, arg1, ...)
if (isErrorEnabled())
provides Markers
Remove JMX reader/writer?
We all agreed on their removal.
20180118
(De)Serializer architecture has still some logical and performance-related issues => Christian Wulf (Unlicensed) will talk with Holger Knoche in the next week
logic: Serializer does more than serializing. It also encapsulates a buffer. So it's actually a SerializableBuffer or SerializableStream
logic: DefaultValueSerializer does not reflect its implementation. Instead, I propose "ByteBufferValueSerializer".
performance: So far, the DefaultValueSerializer is created on each serializing (same for deserializing). Instead, it should be declared as field. A refactoring is, however, not possible until solving the problems from above.
TeeTime not yet integrated into Kieker master
docker image: changed openjdk7-small to openjdk8, ok?
Still failing tests in tools with JMX: I recommend to delete the JmxWriter/Reader. They are unreliable and not made to transfer data, but to remotely control/monitor objects.
Thomas F. Düllmann will have a look at which release steps (from Release Creation) can be automated for the next release 1.14
20171201
Jenkins plugins
Probably needed: - Everything with "Blue Ocean" - Everything with "Pipeline" - LDAP Plugin - Mailer Plugin - Plot plugin - Static Analysis Collector Plug-in - Static Analysis Utilities - SSH * Not sure: Apache HttpComponents Client 4.x API Plugin Authentication Tokens API Plugin Autofavorite for Blue Ocean AutoMicroBenchmark bouncycastle API Plugin Branch API Plugin Buckminster Cobertura Plugin Command Agent Launcher Plugin Config File Provider Plugin Credentials Binding Plugin Credentials Plugin Display URL API Display URL for Blue Ocean Docker Commons Plugin Docker Pipeline DRY Plug-in Durable Task Plugin Events API for Blue Ocean External Monitor Job Type Plugin Favorite Folders Plugin Green Balls Hudson Page Markup Plug-in i18n for Blue Ocean Icon Shim Plugin Jackson 2 API Plugin JaCoCo plugin JavaScript GUI Lib: ACE Editor bundle plugin JavaScript GUI Lib: Handlebars bundle plugin JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin JavaScript GUI Lib: Moment.js bundle plugin JSch dependency plugin JWT for Blue Ocean MapDB API Plugin Matrix Authorization Strategy Plugin Matrix Project Plugin Metrics Plugin OWASP Markup Formatter Plugin PAM Authentication plugin Performance Plugin Personalization for Blue Ocean Pipeline Pipeline Graph Analysis Plugin Pipeline implementation for Blue Ocean Pipeline SCM API for Blue Ocean Pipeline: API Pipeline: Basic Steps Pipeline: Build Step Pipeline: Declarative Pipeline: Declarative Agent API Pipeline: Declarative Extension Points API Pipeline: Groovy Pipeline: Input Step Pipeline: Job Pipeline: Milestone Step Pipeline: Model API Pipeline: Multibranch Pipeline: Nodes and Processes Pipeline: REST API Plugin Pipeline: SCM Step Pipeline: Shared Groovy Libraries Pipeline: Stage Step Pipeline: Stage Tags Metadata Pipeline: Stage View Plugin Pipeline: Step API Pipeline: Supporting APIs Plain Credentials Plugin Plot plugin Pub-Sub "light" Bus REST API for Blue Ocean REST Implementation for Blue Ocean ruby-runtime SCM API Plugin Script Security Plugin Server Sent Events (SSE) Gateway Plugin Slack Notification Plugin SSH Agent Plugin SSH Credentials Plugin SSH Slaves plugin Static Analysis Collector Plug-in Static Analysis Utilities Structs Plugin Token Macro Plugin Translation Assistance plugin Variant Plugin Web for Blue Ocean Windows Slaves Plugin
How to handle code quality thresholds? Should we allow PRs that increase the values?
DECISION:
no "silent" increase of thresholds. If being increased there must be a ticket.
the clone detector seems to be a problem (and a possible exception) here.
Assign 1.14 tickets to next/next next release (target date for the Release Jan 31, 2018)
20171123
Revisit and cleanup meeting minutes from 2017-11-08-SSP-Karlsruhe
Andre van Hoorn did some updates. Is there something missing Reiner Jung?
Assign 1.14 tickets to next/next next release (target date for the Release Jan 31, 2018)
Naming convention for commits containing Ticket ID (e.g., KIEKER-1668) to make branch and commit tracking possible.
So far, we need to be logged in to view branches, commits, and pull requests
We see no reason why this information should be hidden from anonymous users
Andre van Hoorn could you please adapt the corresponding permission?
Update (nightly) release date on the website; provide a link to the nightly build artifacts to show active progress ("Kieker is not dead")
Done. See http://kieker-monitoring.net/, especially see the Download link on page http://kieker-monitoring.net/download/nightly/
Feature request: reconnect for all writers (Holger Knoche Have you implemented such a feature for Kafka?)
20171026
Trace Diagnosis UI - KIEKER-1654Getting issue details... STATUS
Topics/Agenda for SSP 2017 (developer meeting) - KIEKER-1607Getting issue details... STATUS
Defined JIRA workflow a few months ago
Christian Wulf (Unlicensed) checked how to create workflow per issue type
Then has split work for issue types
Alternative to Sigar? No. Use the bin/resourceMonitoring script or the Java API.
Failing nightly benchmark
Armin Möbius Please make a PR to add your Cassandra writer; sent a zip file to André (based on an older Writer API version)
20171004
20170927
Presentation of Kieker Pipeline Fachstudie group (Sebastian Harner, Nakharin Donsuypae, Robin Finkbeiner from Uni Stuttgart)
milestone vs. fix version - KIEKER-1598Getting issue details... STATUS
open ticket for 1.13: https://kieker-monitoring.atlassian.net/projects/KIEKER/versions/10010/tab/release-report-todo
sourceforge mailing list issues - KIEKER-1608Getting issue details... STATUS
PR merging policies: - KIEKER-1604Getting issue details... STATUS
- Andre van Hoorn create ticket to make sure that this feature is documented on the respective developer page
Discuss in Meeting Tickets (with fixVersion = "1.13"):
20170906
Presentation of Kieker Pipeline Fachstudie results
We should merge the two labels "DisscussInMeeting" and "discussInMeeting"(TD: replaced all "DisscussInMeeting" labels with "discussInMeeting")Tickets that need to be discussed:
20170823
We discussed open and unassigned bug tickets and assigned them to developers who might be better suited to decide who can fix the issue or solve the issue.
Additionally, we labeled tickets for further discussion with DisscussInMeeting and discussInMeeting
Fix naming inconsistencies in code/config/documentation - KIEKER-1547Getting issue details... STATUS
Are the ones named in the comment the only one, or are there more changes that have to be made consistent?
Open issues for Kieker 1.13:
key | summary | type | created | updated | due | assignee | reporter | priority | status | resolution | milestone | fixversions |
---|
20170809
Presentation of the Jenkins pipeline (file)
JIRA Workflow
for feature issues/requests: a resolution is required, e.g., done, duplicate, rejected
resolution field
for discussions not available
mandatory when using "edit" for an issue
many closed tickets do not have a resolution
Discussion: Java 8 due to OpenJdk packages, for example
Further JIRA configuration
Use of agile board/sprints features?
Use of epics
Affected vs. fix version?
Meaning? Fix version = milestone?
Can we enforce a version number? (we have many tickets without a version number; however, should be fine if not assigned to a release)
Can sometimes not be edited (e.g., affected version for tasks)
Benchmark in nightly release
Handling of libs in the Git
Jetty update: Jetty of JavaEE..Example used elsewhere? (see: https://build.se.informatik.uni-kiel.de/jenkins/job/kieker-monitoring/job/kieker/job/KIEKER-1561-update-to-jetty-9/ ) → updated to 8.2 - KIEKER-1561Getting issue details... STATUS
Prepare for release:
1. Test the source release (chw)
2. Test binary release (td)
Create release notes (avh)
Release schedule
Targeted release date: Oct 3, 2017
Next release targeted for < 6 months (Teetime included)
Topics for SSP 2017
20170726
Publish the CfP for the SSP 2017 on the Kieker website => André
How to add publications to the Kieker website? => project=Kieker
Prototype for an integration test of (AspectJ) probes (by Christian Wulf (Unlicensed)) => abstract to a utility class
Dazzle: Detects invalid changes from one version to another version of an application (https://github.com/ChristianWulf/dazzle)
Before/After advices instead of around advices to enable cflow pointcuts
Discussion: replace "trace Id" by "thread id" and reconstruct a "trace id" on the analysis side (by Christian Wulf (Unlicensed))
20170705
Status TeeTime integration
Update Pipeline
20170607
Slack Group for Kieker (or sth similar)?
Updates from JIRA to a channel possible (https://slack.com/apps/A0F7YS3MZ-jira-server-alerts) (possibility for e-mail)
Fill "Introduction" section on JIRA start page with content. - KIEKER-1543Getting issue details... STATUS
20170517
Future plans with Jenkins server in Kiel
Status presentation of Fachstudie on Evaluating Solutions for Kieker Continuous Delivery by
Topics:
Discussion of requirements
Discussion of proof-of-concept implementations with selected tools (Jenkins/Blue Ocean, Wercker, concourse CI, ?circle CI)
Deployment (in case of on-premise solutions)
Next steps
20170505
Holger Knoche packaging of reader/writer pairs:
Record extensions (Holger Knoche getSize, Christian Wulf CharBuffer, ...)
20170412 at 1PM!
Agenda for the next meeting
Reason for timeUnit in KiekerMetadataRecord? Everything is encoded in nano seconds.
We need to evaluate whether and for what purpose the time unit is used
Replace hostname in TraceMetadataRecord by link to KiekerMetadataRecord
Trace metadata record should include an agent id (a.k.a. hostname) to link to the Kieker monitoring instance (a.k.a. controllerName)
20170322
Cassandra writer: Sven Ulrich sent a version via mail
New generated records: Reiner Jung wanted to create pull request
Timeout for flush in writers
Revisit tickets tagged as 'discuss in meeting':
Getting issues...
20170308
Tickets to (re-)discuss:
Use default Gradle-Eclipse setup (Kieker root folder w/o src) in order to use Gradle Eclipse Plugin and automatic config generation, e.g., classpath and project file - KIEKER-1533Getting issue details... STATUS
20170208
Monitoring Component: migration completed (additionally: fixed html quality report generation, fixed concurrency bugs in tests, refactored reader/writer tests, reduced execution time of unit tests from 8 to 5 min., fixed QA issues)
Christian Wulf (Unlicensed) reduces the thresholds
Jira: no forced worklow; no resolution to configure (only unresolved)
Stuttgart works on it
Discuss restructuring of writers and readers proposed by Holger (cannot attend; Christian Wulf (Unlicensed) will present his work)
Distributed Jars should be split by (user) components, not by technologies
Integration of the new collector as general component within the monitoring component approved
KiekerMetadataRecord: remove timeUnit; rename timeOffset to timestamp; add attribute 'date' to reconstruct point in time
Not ncessary. Kieker produces date/time-encoded timestamps with its class TimeSource.
Improvement: add method IMonitoringRecord.writeBytes(CharBuffer, Registry) as replacement for toArray()
Christian Wulf (Unlicensed) will adapt the record generator to introduce the new method writeBytes(CharBuffer, ...)
20170125
Review meta-model (only agenda item)
Further trace attributes?
Aggregated traces missing (different types) → Discuss in a later step
Rename TraceRoot to Trace; TypeRoot to TypeModel; DeploymentRoot to DeploymentModel; and so on - ?
Keys are Strings? Can we switch to integers? → String are required for identification
Signatures are just strings; complex type for signatures? → Signature String and Signature type should be stored redundant - KIEKER-1513Getting issue details... STATUS
Constructor flag for operations
Do we need to get back to (Type)Root? → remove getTypeRoot():TypeRoot → - KIEKER-1512Getting issue details... STATUS
Same for getDeploymentRoot():DeploymentRoot → remove → - KIEKER-1512Getting issue details... STATUS
Same for getExecutionRoot(): ExecutionRoot → - KIEKER-1512Getting issue details... STATUS
More explicit modeling of DeploymentContexts? → Future extensions
Execution class diagram: Only call invocations, no other events → Future extensions
Weird attribute names in trace class diagram (durRationToParent, durRatioToRootParent)
stackDepth and orderIndex are derived attributes, right? We do have the parent/child relationships. → we can keep it for efficiency reasons
What is the relation of OperationCall to Invocation? → Invocations are used, e.g., in dependency graphs
durRationToParent, durRatioToRootParent → do no belong into trace model but are decorators - KIEKER-1514Getting issue details... STATUS
Additional metrics such as CPU demand → Future extensions
How are, for instance, SQL parameters represented? → Future extensions
What are the Duration and Instant types? →
Contained in Statistics PackageJava 8 date and time API (article at Heise Developer (german))Data structures in Statistics package "efficient"? Worried about all the objects. → Discuss in a later step
Model for other measures? CPUUtilization, Memory, ... → Future extensions
...
Future extensions:
More complex modeling of DeploymentContexts (specialize to JVM, ...); composite pattern
Support for additional event types
More sophisticated modeling of exceptions
Additional attributes for OperationCall (e.g., CPU time, parameter values)
Specialized calls
SQL
HTTP entry level calls (URLs, ...)
Compressed ASCII log files: ease internal handling by writing one zip file per dat file (not one zip file for all dat files)
20170111
New Kieker.Analysis meta model as Ecore model with (real) Maps
Difference: Kieker's ListCollectionFilter differs from TeeTime's CollectionFilter
result?
TeeTime migration: Current state
Questions concerning distributed traces by Hannes Strubel (currently writing his master's thesis)
20161214
New Kieker.Analysis meta model: current state?
Sören checks whether ecore (de)serializes via interface or via class name
Serialization of extended EMF classes works without any problems
Also deserialization works, but of course the loaded class is just of the type of the base EMF class, not of the extended one
Sören checks how well cache managers work
Sören adds the assembly level to the meta model
We will discuss the meta model terms again
Integration of Javascript monitoring: when and who? (Daniel Schmidts Master's thesis: http://eprints.uni-kiel.de/34856/)
New monitoring component: current state? All writers migrated? → - KIEKER-1478Getting issue details... STATUS
Reiner Jung: please release a new official version of the IRL & Eclipse-Plugin (which generates the method registerStrings(..))
The new release version can be installed from https://build.se.informatik.uni-kiel.de/eus/mdm/release/1.2/ However, there will be no IRL
command line compiler for some time, as this animal must be reconstructed to follow API changes of Eclipse and Xtext.Lars checks in what sense Kieker's ListCollectionFilter differs from TeeTime's CollectionFilter
20161130
TeeTime migration: Current state?
Work packages for the migration of the new monitoring component? → - KIEKER-1483Getting issue details... STATUS
Still issues with SnapCI (hanging infinitely) on pull request: unable to access associated problem information
How is JIRA connected with Github? => Kieker-<issue-nr> as commit messagechanges of
Tests with Cassandra in CI
20161012
StringRegistry issue with AMQP reader.
TCP reader was always designed only for a single writer!
Holger Knoche has a fix for AMQP
For TCP reader there will be a student by Reiner Jung and Christian Wulf (Unlicensed)
TeeTime migration? → Christian Wulf (Unlicensed) asks students and reports in two weeks
Performance of the pipeline (especially first stage takes very long) → - KIEKER-1469Getting issue details... STATUS
Topics to be discussed:
Kieker's current meta-model can be improved by slitting it into separate models. Consider the following example:
public class kieker.tools.traceAnalysis.systemModel.Execution {
private final Operation operation;
private final AllocationComponent allocationComponent;
private final long traceId;
private final String sessionId;
private final int eoi;
private final int ess;
private final long tin;
private final long tout;
private final boolean assumed;
Potential for improvements:
The Javadoc suggests that the model is tailored to the trace analysis tool. This should be changed.
The fields traceId, assumed etc.do not represent a monitored method invocation. We should instead introduce a separate trace model which contains these fields and references to the invocations.
The current filters accept OperationExecutionRecords only and thus do not support flow records.
AssemblyComponent contains only provided, but not required interfaces/operations. Thus, it is not possible to represent the connections between components.
20160803
Attendees
Topics
Presentation and discussion of the new Kieker meta-model (
)
Results of the discussion:Implement the Kieker 1.12 meta-model as ecore model
ecore mode should generate plain java for performance reasons
influx db can be used as timeseries db
statistics model should somehow reference to its associated entity
event sequence -> (equidistant) timeseries (start + delta) => see opad
Teaser for one of our SSP-Paper: new Kieker monitoring component architecture reduces the overhead (response time) by more than 8x and increases the throughput by more than 7x
20160713
Attendees
Topics
Question: semantics of dashed arrow and grey operation call in dependency graphs
See paper: http://eprints.uni-kiel.de/14417/
- Should add a reference to the paper into the user guide because it's just mentioning the assumed transitions/executions
Discussion about draft for trace meta-model and system meta-model, as provided on https://build.se.informatik.uni-kiel.de/teetime/kieker-teetime-stages/wikis/kieker-trace-analysis-tool
Current Kieker meta-models documented in http://eprints.uni-kiel.de/25969/ (Chapter Section 7.2)
Source code provided in https://github.com/kieker-monitoring/kieker/tree/stable/kieker-tools/src/kieker/tools/traceAnalysis/systemModel
20160629
Attendees
Topics
Lars Blümke started to migrate Kieker filters and developed tests
In the migration, code can basically be migrated by copy/paste
Presents CPUUtilizationDisplayFilter and corresponding CPUUtilizationTest
Migration of trace diagnosis tools
Some documentation in the TeeTime GitLab: https://build.se.informatik.uni-kiel.de/teetime/kieker-teetime-stages/wikis/kieker-trace-analysis-tool
2015-02-16
Open Tickets for Kieker 1.11 -> release planning
Frequency of future dev meetings
Gradle for Kieker
between
No notes taken but mainly Gradle
2014-11-20
Gradle for Kieker
TeeTime for Kieker (potential restrictions)
1.10 Tickets?
Discussion of tickets
2014-11-06
Cancel meeting next week
Gradle for Kieker
Wordpress
Discussion of tickets
2014-10-23
Gradle for Kieker
Discussion of tickets
2014-10-09
chw: Presentation of the new record creation concept "Record factory" in Kieker
nie: Presentation of the build tool "Gradle"
Kieker Visitenkarten
Google Summer of Code
Spam tickets
Discussion of tickets
2014-10-02
User guide check
Forbid @Ignore for JUnit tests? + other ignored tests (#1503)
Discussion of tickets
2014-09-25
Remaining branches
Move remaining bugs to 1.11?
Discussion of tickets
2014-09-02
Kieker domains Kiel or Stuttgart?
Dev meetings on Sept 11 and 18
Discussion of tickets
2014-08-21
Kieker architecture diagram on Kieker homepage (incl. how to cite...)
Remove old brnaches after merge
Jenkins: Remove old Jobs (kieker-opad-tslib-integration, kieker-opad-tslib-nightly-release)?
Jenkins: Nightly remote benchmarks
Increased build time
Live Demo Integration
Logging in TeeTime
Discussion of tickets
2014-07-17
Live demo?
Discussion of tickets
2014-07-10
"Hiwi monitoring/standup"
Remaining LiveDemo tickets
Occasionally failing tests
Pushes by Hiwis to protected branches (GitLab roles)
Potential new HiWi for user guide
Discussion of tickets
2014-07-03
"Hiwi monitoring/standup"
Discussion of tickets
2014-06-26
"Hiwi monitoring/standup"
"hiwi" keyword in tickets for tasks appropriate for hiwis?
Discussion of tickets
2014-06-12
"Hiwi monitoring/standup"
Modified Live Demo
Downward compatibility of Kieker for WebGUI?
Discussion of tickets
2014-06-05
"Hiwi monitoring/standup"
"hiwi" keyword in tickets for tasks appropriate for hiwis?
2014-05-22
New Developer (in the near future): Micky Singh Multani
Kieker Journal
"Hiwi monitoring/standup"
Hiwi website
Blog posts
Modified Live Demo
Anfrage von IMPROVE ( ulbrich@kit.edu)
IMPROVE untersucht Java-Code auf semantischer Ebene und versucht semantisch identischen aber syntaktisch verschiedenen Code zu erkennen. Sie benötigen dazu Projekte die länger existieren, sodass sich dort schon Änderungen z.B. Performanceoptimierungen ergeben haben.
Frage: Gibt es Code Teile in Kieker welche semantisch identisch sind (z.B. API) aber intern umgebaut wurden?
Nils und ich haben bereits die Analyse ausgeschlossen. Aber die Writer oder bestimmte Probes könnten ggf. genutzt werden.
Discussion of tickets
2014-05-05
Kieker's WebGUI
Choose features to implement in 1.10
Alternative slot for weekly meeting
Discussion of tickets
2014-04-28
New Developer: Thomas Frederik Düllmann
OPAD/TSLIB
Setup development roughly based on scrum?
Java Version for Kieker (1.5 -> 1.6?)
RG ESPM WG
Discussion of tickets
2014-04-14
Release
Choose features to implement in 1.10 -> after release?
Discussion of tickets
2014-04-07
Change regular date for dev meeting as new semester starts? -> Not necessary
Release creation
Spam in Trac
Discussion of tickets
2014-03-17
Change regular date for dev meeting as new semester starts?
Release creation
Spam (attempts) on Kieker web site
ICPE tutorial
User experience ... (->ticket/protocol)
2014-03-10
Spam (attempts) on Kieker web site
CPD now included (#1134)
ICPE tutorial
User experience ... (->ticket/protocol)
2014-02-24
http://se.informatik.uni-kiel.de/kieker/ (appears in Google results but no content -> forward?)
GSoC '14 ...
Kieker meeting @ SE, Kiel (beer in the evening)?
Poster #1112
ICPE tutorial
Live demo down #1109
User experience ... (->ticket/protocol)
2014-02-17
GSoC '14 ...
Kieker meeting @ SE, Kiel (beer in the evening)?
Kieker/InspectIT meeting
Technical stuff (telco setup set?)
Content
Poster #1112
ICPE tutorial
Live demo down #1109
User experience ... (->ticket/protocol)
2014-02-10
GSoC '14 ...
Kieker meeting @ SE, Kiel (beer in the evening)?
Kieker/InspectIT meeting
Technical stuff (telco setup set?)
Content
Poster #1112
ICPE tutorial
Live demo down #1109
User experience ... (->ticket/protocol)
2014-02-03
Poster #1112
ICPE tutorial
Live demo down #1109
User experience ... (->ticket/protocol)
Discussion of tickets
2014-01-27
ICPE tutorial
Poster #1112
Live demo down #1109
Kieker in five minutes
User experience ... (->ticket/protocol)
2014-01-20
Live demo down #1109
(Kieker in five minutes)
User experience ... (->ticket/protocol)
WebGUI (Road map) -> Visibility pushen (Blog post)
ICPE tutorial -> next Mondays
Poster #1112
2014-01-13
Live demo down #1109
(Kieker in five minutes)
Git rebase vs. pull
ICPE tutorial
Bytecode transformation for analysis #1110
Test coverage tools (#109)
2014-01-06
...
2013-12-16
...
2013-12-09
...
2013-12-02
WebGUI logo
(Kieker in five minutes)
Potential test coverage tools
Emma
EclEmma (45.00% for Kieker)
JaCoCo
Clover (Proprietary)
Bytecode transformation for analysis
2013-11-29 (KPDAYS)
Restructuring analysis
Easier access to analysis and monitoring
2013-11-25
KPDAYS?
Rehearsal talks?
Google Summer of Code http://googleblog.blogspot.de/2013/10/50-million-lines-of-code-and-counting.html
Restructuring analysis
Discussion of tickets
2013-11-18
Possibly need to change date/time of developer meeting?
Rehearsal talks KPDAYS?
Google Summer of Code http://googleblog.blogspot.de/2013/10/50-million-lines-of-code-and-counting.html
Restructuring analysis
Browse through remaining open Tickets
2013-11-11
Note that this meeting takes place at 15:00-16:00
Current documentation on how to setup development envrionment
Eclipse formatter/cleanup rules (current? wiki:KiekerCodingConventionSetup)
Integration of Eclipse static analysis plugins (#884)
Browsed through open Tickets <= 830
2013-11-04
Cancelled due to regular meeting
2013-10-28
Note that this meeting takes place at 15:00-16:00
Browse through open Tickets including > 1050 and <= 999
Discussion of tickets
Discussion of mails:
Anomaly detection
Distributed monitoring (?)
2013-10-21
Browsed through open Tickets including 1050
Discussion of tickets
2013-09-30
Hot deployment alternatives for the WebGUI
2013-09-23
Discussion of tickets
2013-09-16
Future and current state of the WebGUI
Discussion of tickets
2013-09-09
Discussion of tickets
Code Review
<>
2013-09-02
Discussion and categorizing of tickets
Release planning
Kieker.WebGUI - Web cast
Code Review
2013-08-05
2013-07-29
Discussion of tickets
2013-07-22
2013-07-08
Discussion of tickets
2013-07-01
2013-06-24
Note that this meeting takes place at 17:00-18:00
2013-06-17
Discussion of tickets
2013-06-10
Stash Repositories
Displays in analyses
Display in filters or as extra filters?
Displays in the Live Demo
Discussion of tickets
2013-06-03
State of the development
Discussion of tickets
WebGUI
Cockpit Preview
2013-05-27
Kieker Data Bridge
Adaptive monitoring http://www.oiloftrop.de/code-research/proposal-kieker-data-bridge-and-adaptive-monitoring/
Migration and documentation
Web shop (see #805)
Development group constitution (see #805)
User guide (see #560)
Branch management (see #1020)
WebGUI
Current State (Experimental displays, developer guide, user guide)
Potential review?
Livedemo