The Ins and Outs of Performance Profiling and Debugging

Slides:



Advertisements
Similar presentations
Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Advertisements

® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
DONE02: Where Did You Go Wrong? Diagnostics and Troubleshooting in OpenEdge Kris Murphy Senior Solution Engineer.
DEV-13: You've Got a Problem, Here’s How to Find It
Chapter 14 Chapter 14: Server Monitoring and Optimization.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Care and Feeding of the Pacific Application Server for OpenEdge in Production David Cleary Principal Software Engineer Progress Software.
DEV450 Visual Studio: Best Practices For Debugging Managed Applications Habib Heydarian Scott Nonnenberg Program Managers Microsoft Corporation.
05 | Configuration and Deployment Richard Currey | Senior Technical Trainer–New Horizons United George Squillace | Senior Technical Trainer–New Horizons.
Performance testing of Progress Appservers and a plug-in for Jmeter
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Module 15: Monitoring. Overview Formulate requirements and identify resources to monitor in a database environment Types of monitoring that can be carried.
1 Chapter Overview Monitoring Server Performance Monitoring Shared Resources Microsoft Windows 2000 Auditing.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
- Tausief Shaikh (Senior Server developer). Introduction Covers sense of responsibility towards Project development in IT Focusing on memory and CPU utilizations.
Java Android-8 Imran Shafi. Lecture Contents  Debugging Android Projects  Java/XML Errors  Debugger  Logcat Utility  Android Debug Bridge (adb) 
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
1 ENERGY 211 / CME 211 Lecture 26 November 19, 2008.
Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s.
Workbook and User Settings SAP BusinessObjects Analysis, edition for Microsoft Office v1.0.
Learningcomputer.com SQL Server 2008 – Profiling and Monitoring Tools.
OPS-15: What was Happening with My Database, AppServer ™, OS... Yesterday, Last Month, Last Year? Libor LaubacherRuanne Cluer Principal Tech Support Engineer.
What’s new in OpenEdge 10.2B OpenEdge Management OpenEdge Replication
Debugging and Profiling With some help from Software Carpentry resources.
Z/TPF EE V1.1 z/TPFDF V1.1 TPF Toolkit for WebSphere® Studio V3 TPF Operations Server V1.2 IBM Software Group AIM Enterprise Platform Software IBM z/Transaction.
A New Object Model for WebSpeed and HTTP
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 What we'll cover here l Using the debugger: Starting the debugger Setting.
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
Msdevcon.ru#msdevcon. ИЗ ПЕРВЫХ РУК: ДИАГНОСТИКА ПРИЛОЖЕНИЙ С ПОМОЩЮ ИНСТРУМЕНТОВ VISUAL STUDIO 2012 MAXIM GOLDIN Senior Developer, Microsoft.
ChibiOS/RT Demo A free embedded RTOS
Threads. Readings r Silberschatz et al : Chapter 4.
Open project in Microsoft Visual Studio → build program in “Release” mode.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
CS314 - Bonus Topics. Debugging Q: How is debugging like real estate? A: It's all about location, location, location Setting breakpoints in Eclipse Using.
Tuning Threaded Code with Intel® Parallel Amplifier.
What's New in Visual Studio 2010 Debugging Brian Peek Senior Consultant, ASPSOFT, Inc. Microsoft MVP - C#
Improve query performance with the new SQL Server 2016 query store!! Michelle Gutzait Principal Consultant at
TIBCO Business Events Online Training. Introduction to TIBCO BE Tibco Business Events is complex event processing software with a powerful engine enables.
Architecting Availability Groups An analysis of Microsoft SQL Server Always-On Availability Group architectures 1.
Customizing PDS OE as per your needs Date: 28 June 2016 Presenter: DivyaTheja Pachipula.
Improving Your Application with IntelliTrace #ITDevConnections.
SQL Database Management
DEV-22: You’ve got a problem, here’s how to find it
242: Get Your Head in the Cloud!
Dockerize OpenEdge Srinivasa Rao Nalla.
Building Regression Tests With PeopleSoft Test Framework
Operating Systems CMPSC 473
Testing and Debugging PPT By :Dr. R. Mall.
SQL Server Data Collector From Every Angle
DEV-25: You've Got a Problem, Here’s How to Find It
Data Virtualization Demoette… JDBC Clients
MCTS Guide to Microsoft Windows 7
What’s new in PDS for OE11.7 and a sneak peek into the future of (Cloud) IDEs Nischal Y 5th June 2017 Progress.
Chapter 2: System Structures
Lecture Topics: 11/1 Processes Process Management
Deploying and Configuring SSIS Packages
Using Visual Studio with C#
1Y0-203 Dumps PDF Are You Worried About Citrix XenApp and XenDesktop 7.15 Administration 1y0-203 dumps1y0-203 braindumps1y0-203 study material1y0-203 dumps.
Flight Recorder in OpenJDK
Human Complexity of Software
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
C6: Introducing Native Invocation with the OpenEdge® Adapter for Sonic™ ESB Chris James Senior Consultant.
TechEd /7/2018 9:56 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Testing, debugging, and using support libraries
Windows Phone: Developer Best Practices and How to Maximize Performance
Operating Systems : Overview
Operating Systems : Overview
Visual Studio Tooling Developer’s Guide to Windows 10
Advanced app and driver debugging
Presentation transcript:

The Ins and Outs of Performance Profiling and Debugging Srinivas Kantipudi, Sanjeva Reddy Progress

Software maintenance typically consumes 40 to 80% (60% average) of software costs Source: "Frequently Forgotten Fundamental Facts about Software Engineering" by Robert L. Glass, (an article in IEEE Software May/June 2001) Progress

Part 1: Profiling tools Part 2: Debugging tools Agenda To improve the performance Part 2: Debugging tools To correct faults Progress

Part 1: Profiling The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming. - Donald Knuth Progress

Looking for needle in haystack! Progress

Types of profiling ABL Profiler PDS Profiler Other tools Demo Profiling Agenda Types of profiling ABL Profiler PDS Profiler Other tools Demo Progress

Profiling CPU Time/Calls Execution tracing Memory Usage Allocation Types of Profiling Profiling CPU Time/Calls Execution tracing Memory Usage Allocation ABL Profiler PDS Profiler DynObjects log entry Progress

Profiler Controller tool to analyze the data ABL Profiler Introduced in 9.0 (-profile) Execution time of modules with micro second precision Complete tracing information of entire session Per-Line execution times PROFILER handle : to focus on particular modules Profiler Controller tool to analyze the data Progress

Progress Developer Studio Profiler

What does PDS OE Profiler tell you? where is the time being spent? which method takes the most time? which method is called the most? Program flow (“hierarchical” profiling) do calls to method A cause method B to take too much time? Per-line information which line(s) in a given method are the most expensive? Progress

DynObjects log entry type Other tools DynObjects log entry type Find memory leaks caused by ABL dynamic objects LogRead and other utilities can be used to analyze etime() Progress

What’s new in recent releases 11.7.4: Support for overloaded methods Use relative path for Profiler output folder 12.0 Call tree improvements Propath info under AVM information tab Includes time spent on OS calls, PAUSE and WAIT-FOR Disclaimer: This slide is for informational purposes only. You are cautioned that any information contained in this slide may change in the course of product development. This presentation may not be interpreted as any commitment on behalf of Progress, features or functionality described in this slide remains at the sole discretion of Progress. Progress

Lets see a short demo

Part 2: Debugging tools Tools available Why PDS Debugger Basics of PDS Debugger Debugging Servers Demo Progress

Debugging: Tools available PDS Debugger Standalone Debugger Standalone Debugger PDS Debugger Progress

Battle tested Eclipse tooling Why PDS Debugger Battle tested Eclipse tooling Supports debugging client, servers, unit testcases Concurrent debugging sessions Persists breakpoints & configurations Inspecting complex objects SSL debugging Progress

Basics of PDS Debugger (Client debugging) Enable debugging Progress

Client Debugging Breakpoints Debug Configuration Debug Progress

Debugging remote files Make AVM Debug ready Breakpoints Remote debug launch Debug Progress

Progress Application Server (PAS) debugging oedbg.war should be deployed to enable debugging Location: $DLC/servers/pasoe/extras/oedbg.war Can be deployed onto existing PAS instance Created in new instance with oedbg.war with –f option Progress

PAS Local vs Remote Remote Local Progress

Classic AppServer debugging Remote machine A1 A2 A3 Agents AppServer Progress

Classic AppServer debugging Remote machine Broker debugger ubroker.properties 3099 Agents AppServer Progress

Classic AppServer debugging Remote machine 3099 Agents AppServer

Recap of Debugger Local Debugging Enable debugging from proenv Debug Remote Debugging Enable debugging for remote server Make remote files available PASOE Debugging Deploy oedbg.war file Start/Restart server in Debug mode Configure PAS in local machine for remote debug AppServer Debugging Set debuggerEnabled property to true in ubroker.properties Agents can be debugged through “External AVM” option Broker debugging will be lot more convenient

Lets see a short demo

Questions?