Top Banner
I D E N T I F Y S O F T W A R E AppSight 5.0 AppSight 5.0 Advanced Concepts Training Damian Rochman Sr. Software Engineer and Consultant [email protected]
54

AppSight 5.0 Advanced Concepts Training

Nov 14, 2014

Download

Technology

urochman

Since 1996 Identify Software has been leading the software industry for supporting applications and optimizing the support chain process throughout the organization.
Every person can identify the potential of the recorded information, after seeing the first traced log from AppSight, for troubleshooting problems faster and in more efficient methods, but it is extremely important to understand how this powerful Black Box technology should be used in order to exploit its full potential in the most efficient way for your organization.
This book attempts to bridge that gap in knowledge by providing solid advice, backed up with experience. This advice is what we at Identify like to call “best practices”.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AppSight 5.0 Advanced Concepts Training

I D E N T I F Y S O F T W A R E

AppSight 5.0AppSight 5.0Advanced Concepts Training

Damian RochmanSr. Software Engineer and [email protected]

Page 2: AppSight 5.0 Advanced Concepts Training

I D E N T I F Y S O F T W A R E

The Application

Page 3: AppSight 5.0 Advanced Concepts Training

What is an Application?

The term application is a shorter form of application program.

An application program is a program designed to perform a specific function directly for the user or, in some cases, for another application program.

Applications use the services of the computer's operating system and other supporting applications.

The formal requests and means of communicating with other programs that an application program uses is called the application program interface (API).

Source: www.whatis.com

Page 4: AppSight 5.0 Advanced Concepts Training

The Application Layers

User InterfaceUser Interface

Application ConfigurationApplication Configuration

System OperationsSystem Operations

COM CallsCOM Calls

CodeCode

Page 5: AppSight 5.0 Advanced Concepts Training

User Interface Layer for Client Applications

Visual Playback

Page 6: AppSight 5.0 Advanced Concepts Training

User Interface Layer for Client Applications

GUI Operations

Page 7: AppSight 5.0 Advanced Concepts Training

“User Interface Layer” for Server Applications

Performance Counters

Page 8: AppSight 5.0 Advanced Concepts Training

“User Interface Layer” for Server Applications

IIS Sessions ViewClient IP

ASP Session ID

Pages visited in the session

Page 9: AppSight 5.0 Advanced Concepts Training

Application Configuration

System Configuration (static snapshot)

Page 10: AppSight 5.0 Advanced Concepts Training

Application Configuration

File Configuration (dynamic scan)

Page 11: AppSight 5.0 Advanced Concepts Training

Application Configuration

Registry Configuration (dynamic scan)

Page 12: AppSight 5.0 Advanced Concepts Training

Application Configuration

Modules Configuration (dynamic scan)

Page 13: AppSight 5.0 Advanced Concepts Training

Application Configuration

COM/COM+ Configuration (dynamic scan)

Page 14: AppSight 5.0 Advanced Concepts Training

Application Configuration

IIS Configuration (static snapshot)

Page 15: AppSight 5.0 Advanced Concepts Training

Application Configuration

.NET Configuration (dynamic scan)

Page 16: AppSight 5.0 Advanced Concepts Training

Application Configuration

Internet Explorer Configuration (static snapshot)

Page 17: AppSight 5.0 Advanced Concepts Training

System Operations Layer

myApp.exe

Files

Registry

Database

IIS

LibraryNetworking

Notifications

Web Services

.NET Remoting

Process Operations

Page 18: AppSight 5.0 Advanced Concepts Training

COM Calls Layer

myApp.exe

myCOMObject

WriteFile

ExecuteQuery

SendMessage

EncryptData

Page 19: AppSight 5.0 Advanced Concepts Training

Code Layer

Cal

c.ex

e

Add(int a, int b)

Subtract(int a, int b)

Divide(int a, int b)

Multiply(int a, int b)

Int Add (int a, int b){ return a+b;}

Page 20: AppSight 5.0 Advanced Concepts Training

I D E N T I F Y S O F T W A R E

The Recording Profile

Page 21: AppSight 5.0 Advanced Concepts Training

What is a Good Recording Profile?

A good recording profile is designed to capture all the requiredrequired information with an acceptableacceptable performance impact

Page 22: AppSight 5.0 Advanced Concepts Training

Think Like a Black Box

Three questions the Black Box needs to know:

1.1. WhoWho do I need to trace?

2.2. WhatWhat information should I capture?

3.3. HowHow should I operate?

Page 23: AppSight 5.0 Advanced Concepts Training

Who?

• Add the required process (es) to the list

• ADD the process do not ATTACH (!)

Page 24: AppSight 5.0 Advanced Concepts Training

Who? (cont.)

• What if you do not have the process in your computer?

• The Black Box only checks for a process name.

• Take any process in your computer and rename it to the name of the process you wish to trace on the target computer.

• Add the “dummy” application to the list.

Page 25: AppSight 5.0 Advanced Concepts Training

What?

• Select the Operations to trace.

• Select the Performance counters to trace.

• Select the COM/COM+ functions to trace.

• Define Alerts to process.

Page 26: AppSight 5.0 Advanced Concepts Training

What? (cont.)

Select to modify operations for all processes

Select a process to modify the operations for that process only

This process has different settings than the default

Page 27: AppSight 5.0 Advanced Concepts Training

To Trace Or Not To Trace?

Full TraceFull TraceFull TraceFull Trace

Operation Operation Called?Called?

Operation Operation Called?Called?

Remove From Remove From Recording ProfileRecording Profile

Remove From Remove From Recording ProfileRecording Profile

Repetitive?Repetitive?Repetitive?Repetitive?

Information Information Useful?Useful?

Information Information Useful?Useful?

Can I get the Can I get the Information in a Information in a different way?different way?

Can I get the Can I get the Information in a Information in a different way?different way?

Yes

Yes

No

No

No

Yes

NoYes

Include in Recording Include in Recording ProfileProfile

Include in Recording Include in Recording ProfileProfile

Page 28: AppSight 5.0 Advanced Concepts Training

What? : Creating Alerts

Right Click on the operation Add Alert

Select the operation Add Alert

Page 29: AppSight 5.0 Advanced Concepts Training

What? : Creating Alerts (cont.)

Operation includes/excludes substring

Operation result

•Record Alert•Stack Dump•Add Comment•Send Mail•Net Send•Run Application•Create New Session•Set Recording Profile•Call Function

Page 30: AppSight 5.0 Advanced Concepts Training

What? : Creating Alerts (cont.)

• Record Alert– Useful for sending traced information to the AppSight Server

• Stack Dump– Escalation to code level

• Add Comment– Add your comments into the execution log

• Send Mail– Send e-mail with alert information

• Net Send– Send a network message to another computer

• Run Application– Rerun application if crashes– Trigger your custom application on event

• Create New Session– Archive/manage your sessions with meaningful definitions

• Set Recording Profile– Change recording profile automatically on any event

• Call Function– Execute a function in the address space of your application

Page 31: AppSight 5.0 Advanced Concepts Training

What? : User & Resources

Page 32: AppSight 5.0 Advanced Concepts Training

What? : File Attachments

Page 33: AppSight 5.0 Advanced Concepts Training

How? : General Recording Settings

Page 34: AppSight 5.0 Advanced Concepts Training

How? : Process Attachment Settings

Page 35: AppSight 5.0 Advanced Concepts Training

I D E N T I F Y S O F T W A R E

Troubleshooting Applications

Page 36: AppSight 5.0 Advanced Concepts Training

AppSight Architecture

What is the most important component in the AppSight Solution? (and why?)

AppSight Server

AppSight Black Box

AppSight Console

Page 37: AppSight 5.0 Advanced Concepts Training

AppSight Architecture

1. The Black Box does not have any artificial intelligence.

2. The Black Box will not fix your problem.

Page 38: AppSight 5.0 Advanced Concepts Training

The Optimistic vs. The Pessimistic

What is wrong?

Faster resolutionSlower resolution

Methodology Experience

OptimisticOptimistic PessimisticPessimistic

What is right?

Page 39: AppSight 5.0 Advanced Concepts Training

Troubleshooting Process

• Analyze the different Application Layers.

– Always from the top one down.

• Divide and conquer

– Use the synchronization between the different layers.

– Use the filters to divide and trim down the execution activity of the application.

Page 40: AppSight 5.0 Advanced Concepts Training

Typical Troubleshooting ScenarioC

od

eS

yste

mU

ser

Level 1 Level 2 Level 3

DefectTrackingSystem

User

Get AppSight

Log

Check Compatibility

Visual Log Analysis

View / Compare

Configuration

Advanced System

Troubleshooting

Escalation to Code Level

Advanced Code Level

Troubleshooting

Page 41: AppSight 5.0 Advanced Concepts Training

The Three Troubleshooting Qs

• Questions that need to be answered to identify the root cause of a problem:

– What?What?Understand what is the problem that you need to troubleshoot.

– Where?Where?Narrow down to the tier/module where the problem occurs (or does not).

– Why?Why?Understand why the problem occurs in order to fix it.

90% of the effort

Page 42: AppSight 5.0 Advanced Concepts Training

What?

• Watch Visual Playback

• Look for Performance problems

– Use Performance Counters

– Use the Application Performance

– Use the Performance Timeline

– Use the start time of each operation

• Look for failures

– Use the Summary tab

– Use the IIS Sessions view

Page 43: AppSight 5.0 Advanced Concepts Training

Where?

• Filter the system log using the synchronization of the:

– Visual playback

– Performance graph

– IIS sessions view

– Summary tab

– Advanced filters

Page 44: AppSight 5.0 Advanced Concepts Training

Why?

• Exception/Crash in your application/module?– Escalate to code level

• DB problem?– Wrong connection string?– Database is down?– Malformed SP?

• Network problem?– Network “busy”?

• Etc.

Page 45: AppSight 5.0 Advanced Concepts Training

I D E N T I F Y S O F T W A R E

Analyzing AppSight Log Files

Page 46: AppSight 5.0 Advanced Concepts Training

Visual Playback Analysis

Jump to next GUI OperationJump to previous

GUI Operation

Play the visual playback

Stop the visual playback

Jump to next frame

Jump to previous frame

Rewind visual playback

Zoom in/out visual playback

Page 47: AppSight 5.0 Advanced Concepts Training

System Tab

Page 48: AppSight 5.0 Advanced Concepts Training

Summary Tab Analysis

Page 49: AppSight 5.0 Advanced Concepts Training

Summary Definitions

Page 50: AppSight 5.0 Advanced Concepts Training

Modules Tab Analysis

Select process instance

Statically loaded module

Dynamically loaded module

Page 51: AppSight 5.0 Advanced Concepts Training

Connections Tab Analysis

Process name

PID

IP + Port + Socket

Page 52: AppSight 5.0 Advanced Concepts Training

XML Viewer

Page 53: AppSight 5.0 Advanced Concepts Training

Filtering the Log File

Page 54: AppSight 5.0 Advanced Concepts Training

Canceling the Filters

Cancel advanced filters

Filter in processes / threads

Filter in operations