DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Coding
  3. Frameworks
  4. Free Tool for Deep AJAX Analysis

Free Tool for Deep AJAX Analysis

Mitch Pronschinske user avatar by
Mitch Pronschinske
·
Nov. 18, 09 · Interview
Like (0)
Save
Tweet
Share
10.64K Views

Join the DZone community and get the full member experience.

Join For Free

In web development, knowledge is power.  Without a decent AJAX diagnostic tool, it's hard to know what's slowing down your site.  Even basic performance monitoring tools don't give developers all the information they need.  AJAX frameworks are pushing more logic into the browser and becoming more important for running Web 2.0 technologies.  For this reason, a sophisticated AJAX diagnostic tool is necessary for finding the bottlenecks in high-performance websites.  DZone reviewed a new, free tool from dynaTrace with Eric Senunas, dynaTrace's Senior Director of Marketing and Communications.  In this exclusive interview, DZone
learned about the deep analysis features of dynaTrace AJAX Edition.

AJAX Edition provides full tracing analysis for Internet Explorer 6, 7, and 8.  The tool functions as a Browser Helper Object in C++.  This gives it the ability to see deep into frameworks where over 90% of browser execution time is spent.   According to Eric Senunas, JavaScript-based profilers cannot go as deep as AJAX Edition.  

After launching the application you can browse the Run Configurations where you have the option to turn argument capturing of JavaScript & DOM method calls on or off.  When you click “Start Tracing”, AJAX Edition launches a separate instance of IE to run your test scenario.  All aspects of the session (network requests, JavaScript source, all DOM events, etc.) are recorded and saved.

Here are the graphical results of a session running Gmail in Internet Explorer 8:



The data tells you the page loading time, network request time, amount of resources used, types of resources used, JavaScript execution time, and rendering time.  AJAX edition puts these readings on a timeline where you can select segments that tell you more information.  Senunas says, "You can trace and analyze AJAX calls through their entire round trip (DOM event - JavaScript - HTTP request - JavaScript callback)." 

To see the AJAX calls, right-click in the timeline and select "Drill Down to Timeframe".  This brings up the PurePath View showing all activites in the timeframe.  The data shows the complete ramifications of a test session in both CPU usage and execution time.  Time can be sorted by event triggers and JavaScript APIs.  There is also an HTTP waterfall chart.

The Network View can be accessed by clicking on the Network node in the Cockpit.  It shows all Network Requests that happened during the whole browser session or on individual pages.  Every request is color-coded.  Requests that took the most time to download are highlighted in red.  The Time Chart column sorts the network requests into a sequence showing when each one was requested by the browser.

The Hot Spot View , accessed through the Cockpit, looks like a typical execution count view.  What makes it unique is the inclusion of JavaScript parsing and layout rendering times.  Senunas says no other tool provides this information.  The Hot Spot View shows the execution time for the built-in DOM methods.  When filtering by DOM or regular JavaScript, you can determine where the what methods are slow and execution time is going.

Here is the Hot Spot View:

   

AJAX Edition supports automatic diagnostic collection.  The tool can integrate with web testing frameworks like Selenium, Watir, and WebAii.  AJAX Edition also supports code level insight into almost any third-party AJAX framework (JQuery, GWT, Yahoo! UI Library, etc.).  

According to Senunas, "Many performance problems in AJAX applications have their root-cause on the server-side."  By integrating AJAX Edition with PurePath for AJAX, you can trace every single user action and recieve detailed metrics down to the JavaScript function level from the server-side to the browser.

Senunas says dynaTrace is "planning/considering support for browsers other than IE, such as Firefox, soon.  We’re also planning/considering support for Mobile WebKit."  He said other possible features include, AJAX Memory diagnostics (Browser, DOM), de-obfuscation of JavaScript code, timeline visualization correlation of JavaScript errors and exceptions, and automated regression reporting.

Ajax framework

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Use AWS Controllers for Kubernetes To Deploy a Serverless Data Processing Solution With SQS, Lambda, and DynamoDB
  • 5 Best Python Testing Frameworks
  • Chaos Engineering Tutorial: Comprehensive Guide With Best Practices
  • The Power of Docker Images: A Comprehensive Guide to Building From Scratch

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: