Dominique Toupin, Ericsson

Similar documents
Real-time Debugging using GDB Tracepoints and other Eclipse features

Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB

Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing

LinuxCon Europe Cloud Monitoring and Distribution Bug Reporting with Live Streaming and Snapshots.

Instrumentation Software Profiling

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

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

Virtualization for Cloud Computing

dominique <dot> toupin <at> ericsson <dot> com GYORGY <dot> RETHY <at> ericsson <dot> com

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

ODP Application proof point: OpenFastPath. ODP mini-summit

Monitoring, Tracing, Debugging (Under Construction)

PANDORA FMS NETWORK DEVICES MONITORING

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda

Efficient and Large-Scale Infrastructure Monitoring with Tracing

Virtual machine CPU monitoring with Kernel Tracing

Example of Standard API

PANDORA FMS NETWORK DEVICE MONITORING

Manjrasoft Market Oriented Cloud Computing Platform

Going Linux on Massive Multicore

Monitoring high-speed networks using ntop. Luca Deri

Open Source in Network Administration: the ntop Project

Improved metrics collection and correlation for the CERN cloud storage test framework

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Getting Started with CodeXL

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Overview of CS 282 & Android

Enterprise and Standard Feature Compare

Datacenter Operating Systems

A QUICK OVERVIEW OF THE OMNeT++ IDE

Topics in basic DBMS course

Enhanced Project Management for Embedded C/C++ Programming using Software Components

Programmable Networking with Open vswitch

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Solaris For The Modern Data Center. Taking Advantage of Solaris 11 Features

How To Write A Trusted Analytics Platform (Tap)

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

ServerPronto Cloud User Guide

Virtualization Technologies (ENCS 691K Chapter 3)

Network Probe User Guide

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Chapter 2 System Structures

SOFTWARE TESTING TRAINING COURSES CONTENTS

Product Guide. Sawmill Analytics, Swindon SN4 9LZ UK tel:

Juniper Networks Management Pack Documentation

How To Visualize Performance Data In A Computer Program

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

How To Use Java On An Ipa (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad And A Microos 2.5 (Microos)

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Distributed and Cloud Computing

Building Docker Cloud Services with Virtuozzo

An Easier Way for Cross-Platform Data Acquisition Application Development

DS-5 ARM. Using the Debugger. Version Copyright ARM. All rights reserved. ARM DUI 0446M (ID120712)

Next Generation Operating Systems

Chapter 3 Operating-System Structures

In: Proceedings of RECPAD th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

Unified Batch & Stream Processing Platform

Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005

Resource Utilization of Middleware Components in Embedded Systems

The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.

<Insert Picture Here> Tracing on Linux

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Network Traffic Analysis

Complete Integrated Development Platform Copyright Atmel Corporation

COM 444 Cloud Computing

Data Centric Systems (DCS)

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater

IO Visor: Programmable and Flexible Data Plane for Datacenter s I/O

JProfiler: Code Coverage Analysis Tool for OMP Project

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Principles and characteristics of distributed systems and environments

Enabling Technologies for Distributed Computing

Deploy the ExtraHop Discover Appliance with Hyper-V

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

A Generic Network Interface Architecture for a Networked Processor Array (NePA)

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

How Solace Message Routers Reduce the Cost of IT Infrastructure

Chapter 11 I/O Management and Disk Scheduling

UNISOL SysAdmin. SysAdmin helps systems administrators manage their UNIX systems and networks more effectively.

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

D5.6 Prototype demonstration of performance monitoring tools on a system with multiple ARM boards Version 1.0

Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ARM R&D December 2012

Compromise-as-a-Service

Modeling a GPS Receiver Using SystemC

Network Traffic Analysis using HADOOP Architecture. Zeng Shan ISGC2013, Taibei

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage

Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking

Transcription:

Dominique Toupin, Ericsson

About me Tool Manager at Ericsson, helping Ericsson sites to develop better software efficiently Telecommunication systems Open, standards-based common platform High availability, 99.999 % Broad range of support for both infrastructure and value-added applications Multimedia, network and application processing capabilities I do not sell processors or tools Ericsson AB 2014 2014-09-29 Page 2

difficult-to-find bugs Single core to multicore makes it harder: Race conditions, Deadlocks, Non-deterministic behavior Many layers makes it worst: Middleware, VM, OS, hypervisor, sometimes across nodes or clusters Debuggers are invaluable for algorithm issues but they fall short for the above category of problems, not to mention that some problems are not reproducible in the developer s environment! Ericsson AB 2014 2014-09-29 Page 3

Heterogeneous Trace Correlation Linux on RISC high-level scheduling info: instrumented to collect kernel-level and user space level trace data Function call-level detail: HW trace probe collects low-level instruction and data trace on the same RISC processor Bare metal DSP events: SW trace instrumentation Network accelerator hardware block events: HW trace probe Correlation of traces from different context with IPC between the cores Ericsson AB 2014 2014-09-29 Page 4

Tracing Usefulness Tracing instead of logging to minimize impact on system behaviour Performance tuning Monitoring of live systems Extreme cases and simple one: Linux Kernel, ust database Ericsson AB 2014 2014-09-29 Page 5

A Trace use case Log Levels Assigned to static tracepoints, with a verbosity level: 0 less verbose to 14, most verbose Wildcards Enable all events under certain hierarchy level: * for all events, libc_* for all events within libc, etc. The combination of wildcards and loglevels allow users to gradually enable more specific instrumentation, and increase the verbosity level, as they narrow-down the source of their problem. Filtering Filtering on specific event fields allow use-cases such as following a call-id Ericsson AB 2014 2014-09-29 Page 6

Started as Tracing and Monitoring Framework (TMF) Initially for LTTng traces Used to be under Eclipse Linux Tools Project New project Trace Compass at Eclipse Foundation To increase community and collaboration in open-source Keep the momentum going! Ericsson AB 2014 2014-09-29 Page 7

Framework to build trace visualization and analysis tools Scalability allows to handle traces exceeding memory Enables trace analysis and correlation from different sources Extensible for any trace or log format Binary, text, XML etc. Ericsson AB 2014 2014-09-29 Page 8

Built-in trace parsers Common Trace Format (CTF) Multi-Core Association Tool Infrastructure Workgroup Used by LTTng Tracer for Linux Kernel and UST Reviewed by Linux kernel developers Packet Capture (libpcap) Used for IP network tracing Best Trace Format (BTF) Available as standalone application or set of plug-ins Ericsson AB 2014 2014-09-29 Page 9

What Trace Compass provides (for plug-in developers) A trace and event data model Event request handling with coalescing Extension point to add new trace types Reusable views and widgets E.g Time Graphs (Gantt-charts), X-Y-plots Integration into common navigator framework (e.g. project explorer) An event filter model Signal broadcasting between components Time window and event synchronization Generic state system Sequence diagram framework Ericsson AB 2014 2014-09-29 Page 10

Ericsson AB 2014 2014-09-29 Page 11

Common Features Management of traces, trace formats and experiments Trace file handling Experiment handling Importing/Exporting Automatic Type Detection Ericsson AB 2014 2014-09-29 Page 12

Common Features Events Table Opens and closes with trace or experiment Columns are configurable per trace type All views synchronized to the currently selected trace Export table to text (columns tab-separated, with filter) Ericsson AB 2014 2014-09-29 Page 13

Common Features Searching - by text or regex on any field(s) - highlighting of matching events - navigation to next/previous match Filtering - by text or regex on any field(s) - incremental view of filter results - filtered event count Highlighting - user customizable color settings - settings are applied by priority - persistent and import/exportable Ericsson AB 2014 2014-09-29 Page 14

Common Features Complex Filter Filter model allowing multiple nested conditions of different type Persistent and import/exportable Can be applied on any trace Ericsson AB 2014 2014-09-29 Page 15

Common Features Bookmarks Store bookmarks to events of interest on a given trace Attach detailed text to a bookmark Quickly open trace and navigate to bookmarked event Ericsson AB 2014 2014-09-29 Page 16

Common Features Package export and import For sharing of Traces Computed analyses results Bookmarks Field engineer do some work and then send it to the design team for further analysis. Ericsson AB 2014 2014-09-29 Page 17

State System Support State system abstracts events, analyses traces and creates models to be displayed Persistent on disk, does not need to be rebuilt between runs Allows fast (O(log n)) queries of state attributes by time or type Support for several state systems in parallel events: sched_switch(process) irq_entry irq_exit sched_switch(swapper) states: WAIT IDLE USERMODE INTERRUPTED USERMODE WAIT IDLE Ericsson AB 2014 2014-09-29 Page 18

Common Features Data-driven state system and views XML description of state changes to convert trace events to states XML description of view representation of the computed state system Gantt-chart or X-Y-Graphs Can be created without changing source code or recompiling For example: 50 lines of XML created the view below Ericsson AB 2014 2014-09-29 Page 19

Common Features Custom Text Parsers line based parser with regex allows user to define own parser with extracted data and output fields parser definition created and edited with a wizard parser definitions can be shared by importing / exporting to file Custom XML Parsers XML based extracting data from XML elements and their attributes Ericsson AB 2014 2014-09-29 Page 20

Common Features Histogram Shows event density vs. time Can optionally color events per trace, show lost events Can be used to navigate the trace Select time range and window span with mouse or text Ericsson AB 2014 2014-09-29 Page 21

Common Features Sequence Diagrams Works with any trace type Extensions can specify how to translate events to sequence diagram transaction Reference view provided that will work with supplied model Ericsson AB 2014 2014-09-29 Page 22

LTTNG Integration Reference implementations for a plug-in extension to Trace Compass various trace analyses several visualization views Analysis of LTTng Kernel and UST Traces Linux Tracing Toolkit next generation Traces in Common Trace Format (CTF) Support of Live Trace Reading LTTng Remote Tracer Control Ericsson AB 2014 2014-09-29 Page 23

Control flow view Displays processes state changes (color-coded) over time State 'tooltips Can display arrows to follow CPU execution Zooming and filtering Ericsson AB 2014 2014-09-29 Page 24

Resources view Displays system resource states (color-coded) over time State 'tooltips' Zooming and filtering Quick navigation between resources, states Ericsson AB 2014 2014-09-29 Page 25

CPU USAGE View Display of total CPU usage and selected process Derived from Linux Kernel sched_switch events Ericsson AB 2014 2014-09-29 Page 26

Call Stack View Shows the stack trace at any point during execution Can be generated automatically from LTTng UST traces Name mapping can be fetched from binary debug symbols View can be re-used for other data sources Ericsson AB 2014 2014-09-29 Page 27

SYSTEM-WIDE Tracing Correlation of events within a cluster across Nodes, CPUs, ASICs, GPUs, Hypervisor, Kernel, User-space, Virtual Machines, Libraries, 3PP, Applications Time synchronization of traces from multiple sources Based on synchronization information sources Message exchanges, Time-stamps Complex timestamp transformation algorithm part of Trace Compass Complete reference implementation for LTTng Kernel traces Ericsson AB 2014 2014-09-29 Page 28

PCAP Network Trace ANALYSIS Custom Table Packet Details: Ethernet, IPv4, TCP, UDP Stream List view Ericsson AB 2014 2014-09-29 Page 29

Ericsson AB 2014 2014-09-29 Page 30

BTF Integration BTF Parser Gantt-Chart based on Generic Static System Custom Table Trace and Event Details Ericsson AB 2014 2014-09-29 Page 31

GDB TracePoint ANALYSIS Plug-in extension to Trace Compass Dynamic Tracepoints with GDB Integrated with Eclipse CDT Debug For creating of GDB tracepoints For collection of tracepoint information Synchronization of Trace Compass with CDT Debug Visualization of GDB Trace Log using Trace Compass Ericsson AB 2014 2014-09-29 Page 32

GDB TracePoint ANALYSIS Ericsson AB 2014 2014-09-29 Page 33

Upcoming FEATURES More LTTng live trace reading support (monitoring) Common time axis across all time-based views User-customizable columns in table Enhanced filtering on state system values Sequence diagrams from network traces (libpcap) Correlation of core dumps with application traces Critical path analysis Analysis of traces from virtualized environments Ericsson AB 2014 2014-09-29 Page 34

Ericsson AB 2014 2014-09-29 Page 35

FEATURE Wishlist Tracing in heterogeneous cloud environments at many different levels Perf support Support for system-wide performance data Epiphany specific support Native support for coprocessors Monitor chip network traffic using Epiphany network monitor Practical support for thousands of traces Papyrus integration Revert a trace into a UML sequence diagram using Papyrus Live Mode Stack trace on selected events Ericsson AB 2014 2014-09-29 Page 36

REFERENCES Project pages Trace Compass Proposal Eclipse Trace Compass Project Is Trace Compass Fast Yet Eclipse Linux Tools Project - LTTng Integration User and Developer Guides Trace Compass User Guide PCAP - Network Analysis User Guide GDB Tracepoint Analysis User Guide Trace Compass Developer Guide Ericsson AB 2014 2014-09-29 Page 37

REFERENCES Working Groups Multicore Association Tool Infrastructure Working Groups PolarSys Diagnositic and Monitoring Working Group Others CTF Requirements, specification, reference implementation Best Trace Format (BTF) libpcap (PAcket CAPture) Ericsson AB 2014 2014-09-29 Page 38

Contacts Product Manager Dominique.Toupin@ericsson.com Trace Compass Committers Bernd.Hufmann@ericsson.com Alexandre.Montplaisir-gon.alves@ericsson.com Marc-Andre.Laperle@ericsson.com Matthew.Khouzam@ericsson.com Patrick.Tasse@ericsson.com Genevieve.Bastien@polymtl.ca Trace Compass Mailing List Ericsson AB 2014 2014-09-29 Page 39

Ericsson AB 2014 2014-09-29 Page 40 Questions

Is Trace Compass Fast Yet? Performance Tracking Infrastructure Ericsson AB 2014 2014-09-29 Page 41