The Summary tab of Observation for Adobe Commerce is intended to quickly see some of the problems experienced by sites to help you auto-resolve or identify potential root causes of site problems. The additional tabs provide deeper level information on component services, database, infrastructure, and process states.
“At New Relic, a transaction is defined as one logical unit of work in a software application. Specifically, it refers to the function calls and method calls that make up that unit of work. It often refers to a web transaction, which represents an activity that happens from when the application receives a web request to when the response is sent.”
Web: Web transactions are initiated with an HTTP request. For most organizations, these represent customer-centric interactions and thus are the most important transactions to monitor.
Non-web: Non-web transactions are not initiated with a web request. They can include non-web worker processes, background processes, scripts, message queue activity, and other tasks.
If you look at the Transaction Overview frame above, there were almost 53,000 transactions with an average APDEX score of .76, and 95% of those transactions happened in under 2.313 seconds. This would be a frame where a tighter timeframe may show deviation from that current average if there is an APDEX hit during a short timeframe.
The 404 page errors frame lists the URI and the count of 404 page errors for a selected timeframe.
The % of Storage Free frame displays the average percent free of the storage mounts across all the nodes of your cluster. For example, if you have a three node cluster, the frame shows the <mount point>, <environment name>. This frame can be deceptive if there is a variance across three nodes. An example of a variance would be if the /data/mysql
mount point free was a different value across the three node cluster. There is a frame under the MySQL tab that facets the mount points by node name to see more accurately what the /data/mysql
storage free on each node actually is.
The % of system memory that is free frame displays, by node, the amount of system memory that is free on each node.
The Swap memory free in bytes frame displays, by node, the amount of SWAP memory that is free on the node.
The aggregate of all environments and nodes is displayed in the CPU % by host frame. You should deselect the non-production environments. Also note any instances where all nodes for the production environment are not present. For more tips on high CPU utilization, refer to Troubleshoot performance using New Relic on Adobe Commerce.
The Alerts during timeframe displays all alerts, including the Managed Alerts added by Adobe Commerce support.
If the CPU Usage frame is blank, it is an indication that the infrastructure application of New Relic is not enabled. If your site is on Starter, you do not see this information. If your site is on Pro, open a support ticket to have New Relic Infrastructure enabled for your site.
The Average Response Time graph shows the average response time for transactions (web and others).
The cron_schedule table is written at the start and finish of cron jobs. Long duration cron jobs could indicate latency in updating this table, which can indicate cron stackup or an issue with how crons are scheduled.
The Response Code frame is a good indication of web traffic and the response code of requests. It is New Relic’s transaction data, and it is faceted by the httpResponseCode
returned.
This frame displays the comparative web traffic volume of the past one week and the current week.
The Deployment Log Entries frame displays a count of deployment and cloud log entries and facets the counts by the deployment log name.
The Deployment State frame facets particular deployment phases from the deploy logs. Here are some examples of phases counted in the log and the facet name:
Deployment Log Phases:
The IP Frequency frame counts the (‘MISS’ and ‘PASS’) statuses for each IP from the Fastly logs. Web requests with these statuses reach the origin server and will add load to the server. It shows the top twenty addresses in frequency. This frame can be used to detect IP attacks or sources of heavy load on a website.
The IP Response – top 20 URLs in duration frame displays the URLs with the longest duration in response. It may indicate large image files or pages, API or pages with the longest response duration.
The API Calls by IP frame helps identify heavy traffic against the APIs and the IP addresses making requests from the API URLs.
The API Calls by IP, details by URL frame provides details of heavy traffic against the APIs and details of the URLs making the requests.
Sometimes it is hard to tell which IP address has the most requests on the other frames. The IP Frequency Rate per minute frame shows the rate per minute per IP address.
The Potential Bots frame looks at requests with a request_user_agent name like NULL or ‘%bot%’. Typically, the ‘%bot%’ request_user_agent follows the policy setup in robots.txt
file.
The Transaction Errors frame displays the count of transaction errors from New Relic.
The Nginx access by node frame looks at counts from the access.log
by node. It is helpful to see if the load is evenly distributed. It often shows when a node drops. The frame also shows the load across the site.
Galera is used for the database cluster. This frame is focused on particular signals from the Galera cluster. The signals focus on nodes entering and exiting the cluster, which is normal behavior to maintain database data integrity. The nodes are kept synchronized as the Galera cluster state changes.
List of Galera state changes:
These signals may indicate storage, memory, or query issues if the state changes frequently.
List of database errors or messages detected:
The Database traces frame looks at data from the sql trace entity of New Relic and returns the path of the trace.
The Database mysql-slow.log frame does a count of entries in the mysql-slow.log by query request type. It isolates timeframes visually that might be of interest in the mysql-slow.log (slow query log). Queries of tables without indices or queries that update large tables may block other queries.
Redis is an open source (BSD licensed) in-memory data structure store used as a database, cache, and message broker. It can do database and session caching if configured. The Redis synchronization from Log frame focuses on Redis synchronization. The larger the Redis dataset, the more likely that there will be problems with the synchronization (more data to keep synchronized).
Redis errors and messages:
The way PHP process(es) behave depends on the configuration. The configuration is complex, with many variables and options. The PHP process states frame helps you to understand when PHP processes are terminated and restarted.
The PHP errors frame shows the number of PHP errors with workers across the selected timeframe. For more information, refer to Adobe Commerce PHP settings.
PHP errors and messages:
PHP-FPM is a FastCGI Process Manager used by Nginx. To learn about system requirements, refer to PHP version requirements mapped to Adobe Commerce versions. The PHP processes frame shows the number of PHP processes running at a particular time in the selected timeline.
Secondary processes can impact site response. The Secondary processes frame indicates a process or processes that may be adding load to the site. The database primarily has the most secondary processes running.
The Traffic vs Week Ago frame looks at the website traffic (requests) from the Fastly logs with (‘MISS’, ‘PASS’) cache statuses. These requests add load to the origin servers. This frame displays the comparative web request volume of the current week and the past week ago during the same timeframe.
The Fastly Cache frame shows an aggregate view of the cache status of requests from the Fastly logs. If you select ERROR, it will show the percent of errors in the requests. This typically increases when the origin server does not respond quickly enough to page requests.
The Page Rendering frame displays the current week’s average page rendering duration from the page view source of New Relic compared to the prior week during the same time period.
The Page loading detail frame describes the page loading events. It details the meanings of these facets. Here is the query that is run for this frame:
SELECT percentile(timeToResponseStart, 50) AS 'first byte', percentile(firstPaint, 50) as 'First paint', percentile(firstContentfulPaint, 50) as 'First contentful paint', percentile(timeToDomContentLoadedEventEnd, 50) AS 'DOM content loaded', percentile(duration, 50) AS 'Window load + AJAX' FROM BrowserInteraction TIMESERIES
Transaction duration is in seconds. Depending on the transaction, it may impact other transactions if it is long-running. The transactions listed under name and the durations are for the specific time period. If there is a concise issue timeframe, resize the Observation for Adobe Commerce date/time selector to that narrow timeframe.
The Admin Activities frame identifies transactions with an admin user.
The Order transactions (default?) frame looks for transactions request.headers.host
from transactions, where the name = WebTransaction/Action/checkout/onepage/success
. If the order success URL is different, this frame will not have data.
Elasticsearch errors:
The Cron view frame looks at the cron log for balance between the number of crons started versus the number of crons finishing.
Cron errors from cron.log:
The cron_schedule table updates frame looks at maximum duration in seconds where datastore operations updates involve the cron_schedule table. It is faceted on the SQL request type.
This Datastore Operations Tables frame displays the top 25 operations by duration time, table name, and SQL request type. Hover over the spikes to see details of what table was being accessed and by what request type.
Cache flushes detected: