AppResponse is analyzing packets sent on the wire. It can store them for post analysis using wireshark. It will compute metrics for various applications always using the packets captured or sent by a packet broker to AppResponse. It can tell you that when there is a performance issue for one application if it is rather a network issue (packets being lost, not enough bandwidth,...) or an server issue. If it is a server issue, it will not tell you what is the problem exactly, only that the server is taking longer than usual to respond to the client.
AppResponse is an agentless and passive solution, it does not change the behavior of your application in any way. This is usually used by network teams.
AppInternals is using agents installed on servers. It is an active solution because it will instrument your applications (mainly Java and .Net ones) using byte code instrumentation. It means that it will record the time spent when executing methods used by your application. It is choosing automatically which methods to instrument to minimize the overhead added by that byte code instrumentation but this is why we are saying it is an active solution vs AppResponse. AppInternals will be able to tell you why your application is slow when there is a server problem (unlike AppResponse). This is usually used by application/server teams and both solutions are complimentary.
AppResponse is an NPM solution (Network Performance Monitoring)
AppInternals is an APM solution (Application Performance Monitoring)
Appresponse available for ESX,
Download link :