Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney



Similar documents
Red Hat Linux Internals

Red Hat Developer Toolset 1.1

Example of Standard API

Java Troubleshooting and Performance

Operating System Structures

RED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux

OS Observability Tools

What s Cool in the SAP JVM (CON3243)

Monitoring, Tracing, Debugging (Under Construction)

10 Things Every Linux Programmer Should Know Linux Misconceptions in 30 Minutes

General Introduction

Linux Tools for Monitoring and Performance. Khalid Baheyeldin November 2009 KWLUG

Open Source Software Project Management A Case Study Red Hat Enterprise Linux. Bob Johnson, Red Hat

Valgrind BoF Ideas, new features and directions

Instrumentation Software Profiling

<Insert Picture Here> Tracing on Linux

ovirt Introduction James Rankin Product Manager Red Hat Virtualization Management the ovirt way

The red hat enterprise linux developer program

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation

Virtualizare sub Linux: avantaje si pericole. Dragos Manac

Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus

Testing for Security

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Operating Systems and Networks

STLinux Software development environment

Why Threads Are A Bad Idea (for most purposes)

Effective Java Programming. efficient software development

RTI Routing Service. Release Notes

A Look through the Android Stack

Red Hat Enterprise Linux 6 Server:

Red Hat System Administration 1(RH124) is Designed for IT Professionals who are new to Linux.

Server Monitoring. AppDynamics Pro Documentation. Version Page 1

Chapter 10 Case Study 1: LINUX

RTI Quick Start Guide

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer

ELEC 377. Operating Systems. Week 1 Class 3

RISC-V Software Ecosystem. Andrew Waterman UC Berkeley

Java Debugging Ľuboš Koščo

Altiris Monitor Pack for Servers 7.1 SP2 from Symantec Release Notes

Realtime Linux Kernel Features

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

Petascale Software Challenges. Piyush Chaudhary High Performance Computing

Memory Debugging with TotalView on AIX and Linux/Power

Streamline Computing Linux Cluster User Training. ( Nottingham University)

Get the Better of Memory Leaks with Valgrind Whitepaper

High Availability Solutions for the MariaDB and MySQL Database

This presentation will discuss how to troubleshoot different types of project creation issues with Information Server DataStage version 8.

CSE 265: System and Network Administration

Embedded Systems. 6. Real-Time Operating Systems

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Leak Check Version 2.1 for Linux TM

Virtualization Management the ovirt way

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Multi-threaded Debugging Using the GNU Project Debugger

Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015

Java Application Development using Eclipse. Jezz Kelway Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook

Operating System for the K computer

Red Hat Network Satellite (On System z) 18-JUNE CAVMEN Meeting

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Intro to Docker and Containers

CS3600 SYSTEMS AND NETWORKS

Real-time Debugging using GDB Tracepoints and other Eclipse features

System Structures. Services Interface Structure

CS420: Operating Systems OS Services & System Calls

Debugging with TotalView

REDEFINING THE ENTERPRISE OS RED HAT ENTERPRISE LINUX 7

End-user Tools for Application Performance Analysis Using Hardware Counters

Chapter 14 Analyzing Network Traffic. Ed Crowley

SCSI support on Xen. MATSUMOTO Hitoshi Fujitsu Ltd.

Modern Software Development Tools on OpenVMS

Overview of CS 282 & Android

Mission-Critical Java. An Oracle White Paper Updated October 2008

Instrumentation for Linux Event Log Analysis

Resource Utilization of Middleware Components in Embedded Systems

Replication on Virtual Machines

OnCommand Performance Manager 1.1

Easing embedded Linux software development for SBCs

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Introduction to ovirt

WIND RIVER DIAB COMPILER

Introducing the IBM Software Development Kit for PowerLinux

How to use PDFlib products with PHP

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

- An Essential Building Block for Stable and Reliable Compute Clusters

Developing Parallel Applications with the Eclipse Parallel Tools Platform

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

Transcription:

Frysk The Systems Monitoring and Debugging Tool Andrew Cagney

Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status and Future Road map

What is Frysk Always on system monitoring and debugging tool Lets Users: Observe running threads, processes, and hosts Follow locking and other more complex primitives Debug complete systems Front row seats to system s execution

Use Case #1, K. K. is a compiler developer Spends a lot of time running the test suite, constantly monitoring for compiler crashes For each crash, K. has to go back and reproduce the failing scenario under the debugger so that it is possible to diagnose what is going wrong

K. Uses Frysk K. starts Frysk Sets up a monitored environment Establishes observers for a terminating program

K. runs tests under Frysk K. runs the test suite Entire test run monitored Frysk detects crashing programs K. notified

K. examines crash K. can examine the crashing code

Use Case #2, S. S. is a System Adminstrator Having trouble with the web server Occasionally, but always at 2am, the shopping cart daemon dies S. is not getting much sleep

S. uses Frysk Implements a custom observer to take the following actions when the shopping cart dies: Sends a page to S. Saves the log information Disables the shopping cart

Motivation Customer Driven Need to Leap Frogs 20 year old technology Red Hat Initiative

Project Goals Graphical, fast startup, low overhead Always On Non stop C++ just works Also native and interpreted Java Scalable: O(1) or O(log(N)) algorithms

Project Goals, continued Powerful and complete Thread Model Thread groups, OpenMP and MPI Programmable Core Java, C++ Scriptable Python/Jython Integration with user level SystemTAP

Underlying Technologies Linux 2.6 Kernel Native POSIX Thread Library (NPTL) ELF (libelf) and DWARF (libdwfl) libunwind Implement in C++, Native Java GUI driven design Java GNOME

System Analysis Tools Oprofile SystemTap Frysk Statistical System Sampling Access to Full Model of System

Frysk vs Traditional Debugger Non stop All threads, processes, and hosts Auto attach Assume optimized Debug info on demand; on disk Implement in C++ and Java; Object Oriented; Event Driven; Observer Based Stop Start Single Thread and Process Explicit Attach Assume O0 Debug info loaded immediately; in memory Implemented in C; Procedural; Blocking; Polling

Frysk GUI vs Eclipse CDT Light Weight Integrated Wide band direct memory Java GNOME Code Display based on Text and Debug info Can be built as Eclipse Plug in Heavy Weight Framework Separate debug process Narrow band socket SWT Code Display based on Text files

The Frysk Architecture Common ABI GUI fstack ftrace Eclipse Frysk's Core CLI Code Model Lang Model Process Model Kernel

Frysk's Core Provides Object Models, or Views of System Process Model: Task, Process, and Host Language Model: Method, Stack, Variable Code Model: File, Line, Source code Strictly Event Driven: never blocks on kernel Asynchronous: separate dedicated thread CLI library based on HPDF Specification

Process Model Host tower.redhat.com Proc firefox Proc httpd Proc gnome terminal Task PR_Select Task PR_Select Task main Proc bash Proc bash Proc grep

GUI View

Monitoring, Multiple Observers

Opening Source Window...

... Source View

Language Model Frame Method Frame Method void b() Method void do_something() Method int c() Frame Method Variables

Code Model Implemented with CDTParser Provides Static Information: File and Line Source Code, including variables and functions Combined with Language Model by GUI

Example: In line Code 1

Example: In line Code 3

Example: In line Code 2

Stand Alone Utilities Implemented as Wrappers around Fryk's Core Fstack Works on one or more processes Symbolic back trace produced off line Ftrace Similar to strace Correctly tracks clone and fork

Current Status Tracks threads, and processes Monitors System Calls Command Line Interpreter C++ parser; thread group parser; tab completion Terminal Window Minimal Program Control stop on event, resume

Current Status, continued Running on FC 5, and RHEL4 U4 Using GCC 4.1 Tech preview in RHEL4 U4 Using GNOME 2.8 back ported to RHEL4 RPMs available for: X86 on RHEL4; X86 and x86 64 on FC 5

Road Map PowerPC 64 support Xen Integration Debugging Optimized Code Address Map and Heap view Ongoing C++ Corefile Debugging Watching Variables Distributed Debugging Interaction View Eclipse Integration

Road Map, example

Further Information Project Page: http://sources.redhat.com/frysk/ IRC: irc://gimp.net/frysk Mailing list: frysk@sources.redhat.com

Questions?