Anatomy of a Modern PHP
Application Architecture SET HEALTH RULES
• Alert & Respond > Health Rules
END USER EXPERIENCE
WEB
CONFIGURE
• End User Experience > Web > Pages &
AJAX Requests
• Double click on selected Page
CONFIGURE & VIEW • View Summary Timeline to locate bottleneck
WEB SERVER
• Navigate to AppDynamics Exchange
• Search for your server
• Download and Install extension
• Navigate back to AppDynamics Controller
• Analyze > Metric Browser VIEW
• Find your extension • End User Experience > Web > Analyze
WEB SERVER IOS / ANDROID • Focus on location, browser type, device type,
and other combinations to analyze performance.
CONFIGURE & VIEW
EXTERNAL WEBSERVICES
• Navigate to AppDynamics Exchange
• Search for your server VIEW
• Download and Install extension • Servers > remote services
• Navigate back to AppDynamics Controller • Double-click remote service
• Analyze > Metric Browser
CACHE
• Find your extension
CACHE EXTERNAL WEBSERVICES
VIEW
VIEW • Troubleshoot > Slow Response Times >
• Navigate to Application Flowmap Slowest DB & Remote Service Calls
• View latency to your cache server • Select HTTP
TRANSACTIONS ERRORS COLLECTING USER DATA ANALYSIS
CONFIGURE BUSINESS TRANSACTIONS VIEW RUNTIME ERRORS CONFIGURE HTTP DATA VIEW APPDYNAMICS MACHINE AGENT
• Navigate to Business Transactions • Troubleshoot > Errors > Error Transactions • Configure > Instrumentation > Diagnostic Data • Download & Install Machine Agent
• Right-click Transaction • Double-click Transaction Snapshot Collectors • Navigate to Servers > App Servers >
• Choose configuration options to organize • Drill Down > Error Details • Scroll down to HTTP Request Data Collectors [Your PHP Tier] > [Your PHP Node]
transactions • Select Hardware
VIEW UNCAUGHT EXCEPTIONS
CONFIGURE TRANSACTION DISCOVERY • Troubleshoot > Errors > Exceptions VIEW HTTP DATA VIEW HARDWARE
• Double-click Exception • Application Dashboard > Transaction Snapshots
• Configure > Instrumentation > Transaction • Application Dashboard > Transaction Snapshots >
• Double-click Transaction Snapshot > Show Filters
Detection > Select PHP Tier Show Filters
• Drill Down > Error Details • Select search criteria > Search
• Scroll down to Custom Rules • Select search criteria > Search
• Create rules to group, match and exclude your • Double click Transaction Snapshot
• Double click Transaction Snapshot
transactions • Start Drill Down > HTTP Params
• Start Drill Down > Hardware
CONFIGURE ERROR REPORTING
• Configure > Instrumentation > Error Detection >
CONFIGURE FRAMEWORK SUPPORT PHP - Error Detection CONFIGURE CLASS/METHOD DATA
• Configure Runtime Error Threshold (Notice, COMPARE RELEASES
• Configure > Instrumentation > Transaction • Configure > Instrumentation > Diagnostic Data
PHP
Warning, Fatal Error) • Analyze > Compare Releases
Detection > Collectors
PHP
• Configure Ignored Exceptions or Logged • Select time ranges to compare
• Select ‘Use Custom Configuration’ • Scroll down to Method Invocation Data
• Enable PHP MVC, Drupal or Wordpress Messages Collectors HINT: Be sure to automatically add deployment
events using our REST API (see Events).
SLOW CODE EXECUTION PHP APPLICATION
CONFIGURE TRANSACTION API VIEW CLASS/METHOD DATA
• Use the custom API functions to manually define • Application Dashboard > Transaction Snapshots
the beginning and ending of a transaction from > Show Filters CONFIGURE EVENTS
VIEW • Select search criteria > Search • Add APPLICATION_DEPLOYMENT or CUSTOM
within your code • Application Dashboard > Transaction
• Navigate to Business Transactions to view • Double click Transaction Snapshot as an event type to add events using the
Snapshots > Show Filters AppDynamics REST API
• Start Drill Down > User Data
• Select search criteria > Search
Hint: This is useful in cases where you have a • Double click Transaction Snapshot
transaction executing jobs in an infinite loop and • Start Drill Down > Call Graph OR Hot Spots
want to register each job as a transaction.
BUSINESS INTELLIGENCE
VIEW EVENTS
PHP CLI INFORMATION POINTS
• Navigate to Application Dashboard > Events
• Analyze > Information Points
HINT: Add Custom events into all your
• Click 'New', click 'PHP', enter JSON
CONFIGURE PHP CLI VIEW PHP CLI automated scripts, including deployments,
configuration, click 'Create Information Point'
• Configure > Instrumentation > Transaction • Navigate to Business Transactions maintenance and rollbacks to keep track of
• Double-click [your information point] to view
Detection > Select PHP Tier • View PHP CLI Transactions named after the differences in performance between key changes
• Scroll down to Entry Points executed PHP script to your application and environment.
• Enable PHP CLI
VIEW VIEW
• Navigate to Servers > Databases • Navigate to your Application Dashboard
• Double-click your DB > Flowmap
• Select your PHP Tier • Find Queue Server
• View slow queries • View latency to your queue server
QUEUE SERVER
DATABASE
DATABASE
VIEW QUEUE SERVER VIEW
• Application Dashboard > Transaction Snapshots • Application Dashboards > Transaction
> Show Filters Snapshots
• Select search criteria > Search • Find transactions that speak to your Queue
• Double click Transaction Snapshot server
• Start Drill Down > SQL Calls • Double click > Start Drill Down > Call Graph
• Find method call that sends job, click to
correlate to downstream worker server for
associated call graph
VIEW DATABASE
• Navigate to Application Dashboard > Flowmap
• Right-click on Database
• Select ‘View in Database Monitoring’
INTERNAL WEBSERVICES
INFO
In a service-oriented environment the
WORKER SERVERS
performance indicators of the distributed nature INFO
of the transaction is an integral aspect of When a PHP application communicates with an
characterizing transaction performance. external component that is not being monitored
AppDynamics applies distributed transaction as part of the same business application, such as
tracing to for all business transactions as well as a database or a message queue, you can monitor
for the entire application. Using a tag, trace, and the performance data for the communication.
learn approach, AppDynamics traces the
transaction context across all tiers, including INTERNAL WEBSERVICES WORKER SERVERS AppDynamics displays distributed communication
JVMs, CLRs, PHP servers, and calls to HTTP, SOAP, performance in the business application and
databases, third party web services, etc. business transaction flow maps.
DISTRIBUTED TRANSACTIONS