PADLA: A Dynamic Log Level Adapter Using Online Phase Detection

Slides:



Advertisements
Similar presentations
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Identifying Source.
Advertisements

1 Tornado: An Embedded System Development Tool Maung Wynn Aung Han CIS 642, Spring 2001 Prof. Insup Lee.
Project Proposal Presented by Michael Kazecki. Outline Background –Algorithms Goals Ideas Proposal –Introduction –Motivation –Implementation.
Manage Run Activities Cognos 8 BI. Objectives  At the end of this course, you should be able to:  manage current, upcoming and past activities  manage.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC.
UC Berkeley Monitoring Hadoop through Tracing Andy Konwinski and Matei Zaharia.
Apr 4, 2003Mårten Trolin1 Previous lecture TLS details –Phases Handshake Securing messages –What the messages contain –Authentication.
Knowledge is Power Marketing Information System (MIS) determines what information managers need and then gathers, sorts, analyzes, stores, and distributes.
Bottom-Up Integration Testing After unit testing of individual components the components are combined together into a system. Bottom-Up Integration: each.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Measuring Copying.
SEEM4570: XAMPP, Eclipse, Summary of Html Kangfei Zhao Room 711,ERB
Computer Account Hijacking Detection Using a Neural Network Nick Pongratz Math 340.
Even More SQA: CAPA Corrective and Preventive Actions.
University of Maryland Automatically Adapting Sampling Rates to Minimize Overhead Geoff Stoker.
®® Microsoft Windows 7 for Power Users Tutorial 8 Troubleshooting Windows 7.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
2006/09/19AOAsia 21 Towards Locating a Functional Concern Based on a Program Slicing Technique Takashi Ishio 1,2, Ryusuke Niitani 2 and Katsuro Inoue 2.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Saturday, 19 September 2015 | Slide No. 1 Ideas Can Help :-) Helpful ideas lead to helpful innovations. Concept Name: Individual or Group Name:
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Foundations of Software Testing Chapter 5: Test Selection, Minimization, and Prioritization for Regression Testing Last update: September 3, 2007 These.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
How to Run a Scenario In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An.
Sonic EventMonitor Monitoring your Sonic environment Tako Grijpma Progaia Resource Solutions 09 november 2006.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Retrieving Similar Code Fragments based on Identifier.
Real-Time Systems, 2009 Fall Project 2: Energy-Efficient Scheduling For Android Environment Advised by Prof. Tei-Wei Kuo TA: Po-Chun Huang ( 黃柏鈞 )
CSV 889: Concurrent Software Verification Subodh Sharma Indian Institute of Technology Delhi Symbolic Execution.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
CISC Machine Learning for Solving Systems Problems Presented by: Suman Chander B Dept of Computer & Information Sciences University of Delaware Automatic.
OBSERVING FACTS AND TRACKING ORIGINS CEN PPT8.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
® IBM Software Group © 2006 IBM Corporation How to utilize logging in EGL This Learning Module shows how to utilize the open source log4j project from.
WP1 WP2 WP3 WP4 WP5 COORDINATOR WORK PACKAGE LDR RESEARCHER ACEOLE MID TERM REVIEW CERN 3 RD AUGUST 2010 Magnoni Luca Early Stage Researcher WP5 - ATLAS.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Execution Replay and Debugging. Contents Introduction Parallel program: set of co-operating processes Co-operation using –shared variables –message passing.
Timer Alarm. What Is The Timer Alarm? The Timer Alarm provides a method for triggering time- based alarms during script playback.
Computational Challenges in BIG DATA 28/Apr/2012 China-Korea-Japan Workshop Takeaki Uno National Institute of Informatics & Graduated School for Advanced.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Software Ingredients:
Resource Characterization Rich Wolski, Dan Nurmi, and John Brevik Computer Science Department University of California, Santa Barbara VGrADS Site Visit.
Constraint Framework, page 1 Collaborative learning for security and repair in application communities MIT site visit April 10, 2007 Constraints approach.
Component 1.6.
Testing Tutorial 7.
The Development Process of Web Applications
Dept of Computer Science University of Maryland College Park
Naoya Ujihara1, Ali Ouni2, Takashi Ishio1, Katsuro Inoue1
Designing For Testability
CSC 591/791 Reliable Software Systems
Verification and Testing
Do Developers Focus on Severe Code Smells?
Coding Defensively Coding Defensively
Quicken Tech Support Phone Number One of the top software there is, the quicken software can pose a number of trouble and if you are new.
CONFIGURING HARDWARE DEVICE & START UP PROCESS
Corrective and Preventive Actions
Boris Todorov1, Raula Gaikovina Kula2, Takashi Ishio2, Katsuro Inoue1
Curtis A. Carver Jr., John M.D. Hill, John R. Surdu, and Udo W. Pooch
Tatsuya Miyake Takashi Ishio Katsuro Inoue
Higher physical education
Testing, debugging, and using support libraries
Dongyun Jin, Patrick Meredith, Dennis Griffith, Grigore Rosu
Our Environment We will exercise on Microsoft Visual C++ v.6
Dotri Quoc†, Kazuo Kobori†, Norihiro Yoshida
BATCH ANALYSIS TOOL FOR E4 DATA
Near-Omniscient Debugging for Java Using Size-Limited Execution Trace
Presentation transcript:

PADLA: A Dynamic Log Level Adapter Using Online Phase Detection My name is Tsuyoshi Mizouchi. I am a master course student at Osaka University, Japan. I would like to talk about our tool, named PADLA. It is a dynamic log level adapter. Tsuyoshi Mizouchi Osaka University Kazumasa Shimari Osaka University Takashi Ishio NAIST Katsuro Inoue Osaka University

Logging Logging is a common practice … Logging is a common practice to record run-time information. You can use logging libraries to label each message and control which log should be output. Logging libraries can label each message

Logging Library Logging libraries (Apache Log4j[1], etc) provide log levels to control the amount of logs fatal warn error debug info trace High Level Low Level Important Small amount Detailed Huge amount Logging libraries like apache log4j provide log levels to control the amount of logs In general , a “high level” is labeled with important information like error messages. A “low level” is labeled with detailed information like the value of variables. The amount of log messages of “low level” is huge. When using a logging library, you choose the log level threshold. Then, the specified level and higher ones are outputted. For example, if you choose info level as the threshold, you can get info, warn, error, fatal level log messages. Choose the log threshold Higher levels are still outputted [1] Apache Software Foundation: Apache Logging Services -Log4j, http://logging.apache.org/log4j

Motivation Developers have to choose a single log level threshold for an execution For debugging But Detailed information Huge amount of logs Unfortunately, developers have to choose a single log level for an execution. For debugging, you need detailed log messages of irregular behavior, so you need low level information. But, the performance overhead and huge amount of log messages caused by low level should be avoided. So, our idea is making a tool to record detailed log messages only while irregular behavior is happening. Our idea Recording detailed logs only while irregular behavior is happening

PADLA: Phase-Aware Dynamic Log Level Adapter PADLA dynamically adjusts the log level threshold of a running system Higher Level (Not detailed) Lower Level (Detailed) Logging Phase detection [2] Our tool named PADLA dynamically adjusts the log level threshold of a running system. PADLA represents Phase-Aware Dynamic Log Level Adapter. It monitors behavior of the target system and recognizes whether an execution phase is regular or irregular using “Phase detection”. In the regular behavior, PADLA records logs with a higher level which is not detailed. In the irregular behavior, changes the log level threshold and records logs with a lower level which is detailed. In the next slides, I am going to explain the “Phase detection” Regular behavior Irregular behavior Regular behavior Threshold was changed by PADLA [2] S. P. Reiss, “Dynamic detection and visualization of software phases,” in Proceedings of the Third International Workshop on Dynamic Analysis,2005, pp. 1–6.

Phase Detection (1/2) ① Collect performance vectors of regular behavior   (length of each interval is 0.5s) Known vectors Start up (Interval 0) Vector 0 Vector 1 … Play (Interval 1) [A, B, C] = [0.3, 0.1, 0.1] Phase detection judges previously learned phase as regular behavior and unknown phase as irregular behavior. At first, phase detection collects performance vector of regular behavior as known vectors. In the current implementation, the performance vector is execution time of each method every 0.5s. After this learning, PADLA does not change the log level threshold in the known phases Execution time of each method [A, B, C] = [0.1, 0.0, 0.4]

Phase Detection (2/2) … ② Compare a new vector with known vectors by cosine similarity Interval N Known vectors Vector 0 Vector 1 … Similarity = 0.3 Compare Similarity = 0.0 Second, phase detection compares a vector of a new interval with known vectors using cosine similarity. In this example, cosine similarity is 0.3 and 0 and the threshold is 0.95. So, if the similarity is less than 0.95, this interval is judged as an unknown phase by the phase detection. If the phase is unknown, PADLA starts detailed logging. [A, B, C] = [0.0, 0.5, 0.0] Similarity < 0.95 This interval is an unknown phase PADLA starts detailed logging

Summary PADLA dynamically adjusts the log level threshold of a running system It records detailed logs only while irregular behavior is happening It employs “Phase detection” to detect irregular behavior automatically Demo movie: https://youtu.be/qoqilsbhD38 GitHub: https://github.com/244-penguin/PADLA To summarize: PADLA dynamically adjusts the log level threshold of a running system It records detailed log messages only while irregular behavior is happening It employs “Phase detection” to detect irregular behavior automatically If you want to know more, please come to our poster