Here we explain how SharePath Transaction Topology Mapping works and how it lets users pinpoint performance problems in an application and automatically map components in an architecture through auto discovery.
What is transaction topology mapping?
A topology is a directional graph that shows how objects are related to each other. In terms of performance monitoring, a topology is a visual and logical representation of all the different components that make up a transaction. It shows how a transaction flows all the way from the mobile app or browser, through the network, including the internet, and to the application and back. It captures every read, write, and search and reports on latency and whether there are any errors or resource contention.
When SharePath is running, it auto discovers nodes in the application and transaction. This is done by transaction path detection at the protocol level. This follows network traffic across different components in the infrastructure and identifies it by type.
Auto discovery saves manually entering this data. The topology removes and adds nodes as different servers and services are spun up and taken down. The discovery process understands what type of server or application that it finds, because it is reading the protocol. So it can group nodes into logical tiers (database servers, application servers, web servers, messaging servers, routers, etc.) and individual virtual or physical machines.
How SharePath Differents from Other Tools?
SharePath 4.0 is the only APM product on the market that does topology mapping. It uses lightweight protocol parsing at the OS level as opposed to in-process tracking. This eliminates application interference, because there is no need to add a component to the application in order to monitoring it, which, otherwise, would have the negative and contradictory effect of slowing down the application it is designed to monitor for performance.
By inspecting network at the protocol level, SharePath knows whether the data is a database lookup, an LDAP search, VPN traffic, or messaging. It works with Oracle Forms, Documentum, Desktop applications, SSO, and more.
Because this topology mapping works at the OS level, it runs on any operating system and is able to monitor application written in any programming language. Correlsense has patents pending for this technology.
Why this is important in the APM process?
The topology map is suitable for use in the NOC (network operating system) so that administrators and support staff can actively monitor the application.
The topology map gives an animated real time view into application performance and health. It provides the end-to-end, user point of view while giving the administrators and devops team the ability to drill into individual components. Components that are operating out of manually-set thresholds show up as red on the dashboard (See the sample below.) A comparison feature shows how components are working right now based against another period of time.
Taking a look at the dashboard above, you can see the topology map. Components where there is some error show up as red. The error can range from a thrown exception to an error at the OS or server level.
Having seen an issue with latency or an error, the user can drill into individual components, to get detailed information needed to troubleshoot the problem, such as a transaction volumes, origins of calls, stacktraces.
For example, the user can review stack snapshots of slowly running transaction to detect specific frequent or slow code paths. That way he could see if there is a contention deadlock or a delay in searching the database. Devops then works to correct any code that is shown to be running slow or add an index to speed up the SQL query.
From the OS point of view, SharePath shows which CPUs are pegged, which disk controllers are reporting write or read errors, and what network devices are dropping packets.
How Mapping can be Used Most Effectively
When looking at transaction flow, there is the problem of too much traffic flying by at the same time. SharePath reduces this clutter to a single transaction or a few transactions by letting the user filter transactions by session, including the first and last transaction, and by user or IP address. Transactions can also be grouped by type, like user adds, to further reduce the level of noises so that the user can focus on one issue at a time.
About the writer: Anton Bolotinsky is a Solution Architect at Correlsense