This does not work for me as I need to have a packaged tgz file to upload to nexus3. When it tries to open the packaged file (downloaded from the appdynamics download sites) it fails.
I get this:
root@ip-10-0-0-145:/home/ubuntu/nexus# npm install firstname.lastname@example.org npm WARN deprecated email@example.com: Use `setimmediate` instead npm WARN excluding symbolic link node_modules/.bin/n -> ../n/bin/n npm WARN excluding symbolic link node_modules/.bin/semver -> ../semver/bin/semver npm WARN excluding symbolic link node_modules/.bin/uuid -> ../uuid/bin/uuid npm WARN excluding symbolic link node_modules/appdynamics-libagent/node_modules/.bin/sshpk-conv -> ../sshpk/bin/sshpk-conv npm WARN excluding symbolic link node_modules/appdynamics-libagent/node_modules/.bin/sshpk-sign -> ../sshpk/bin/sshpk-sign npm WARN excluding symbolic link node_modules/appdynamics-libagent/node_modules/.bin/sshpk-verify -> ../sshpk/bin/sshpk-verify npm WARN excluding symbolic link node_modules/appdynamics-libagent/node_modules/.bin/uuid -> ../uuid/bin/uuid npm WARN excluding symbolic link node_modules/appdynamics-libagent-napi/node_modules/.bin/sshpk-conv -> ../sshpk/bin/sshpk-conv npm WARN excluding symbolic link node_modules/appdynamics-libagent-napi/node_modules/.bin/sshpk-sign -> ../sshpk/bin/sshpk-sign npm WARN excluding symbolic link node_modules/appdynamics-libagent-napi/node_modules/.bin/sshpk-verify -> ../sshpk/bin/sshpk-verify npm WARN excluding symbolic link node_modules/appdynamics-libagent-napi/node_modules/.bin/uuid -> ../uuid/bin/uuid npm WARN excluding symbolic link node_modules/log4js/node_modules/.bin/semver -> ../semver/bin/semver /home/ubuntu/nexus └─┬ firstname.lastname@example.org ├─┬ email@example.com │ ├─┬ firstname.lastname@example.org │ │ └── email@example.com │ ├─┬ firstname.lastname@example.org │ │ └── email@example.com │ └── firstname.lastname@example.org ├─┬ email@example.com │ ├─┬ firstname.lastname@example.org │ │ ├── email@example.com │ │ ├── firstname.lastname@example.org │ │ ├── email@example.com │ │ └── firstname.lastname@example.org │ └── email@example.com ├── firstname.lastname@example.org ├── email@example.com └── firstname.lastname@example.org
npm WARN enoent ENOENT: no such file or directory, open '/home/ubuntu/nexus/package.json' npm WARN nexus No description npm WARN nexus No repository field. npm WARN nexus No README data npm WARN nexus No license field.
and nothing in the appdynamics node_modules dir.
Do you have a solution for this?
... View more
The following guide explains how AppDynamics detects Business Transactions and what you can do if AppDynamics doesn't recognize your application's Business Transactions out of the box.
How does AppDynamics detect new Business Transactions?
AppDynamics detects new Business Transactions by recognizing a particular set of "entry" methods in the callstack of the executing application. When one of these methods is hit, a new Business Transaction starts and all methods executing downstream of this method are instrumented.
No Business Transactions were detected in my application, now what?
In cases where no recognized Business Transaction entry methods are hit, we can enable the agent node property named find-entry-points to find some. With find-entry-points enabled, AppDynamics will log a call stack to BusinessTransaction.log each time a recognized outgoing call is made. For example, any HTTP/ASMX/WCF/Remoting service, DB, or MQ call. You can find the BusinessTransactions.log in the agent logs folder.
We can then review these callstacks to determine which method will make a suitable "entry" point to begin a Business Transaction.
Callstack example shows what code is running in the application
The following callstack is an example of what we might find in the BusinessTransactions.log after enabling find-entry-points. It should be read from the bottom up. That is, methods furthest down executed first. Look for callstacks following Thread Empty_Name >> which means they are not part of any existing BT.
... BusinessTransactions Logging request stack for Thread Empty_Name >>AppDynamics.Agent.ManagedAPI.ps.kk AppDynamics.Agent.Interceptors.ww.jv AppDynamics.Agent.MethodExecutionEnv.MethodBegin System.Data.SqlClient.ExecuteReader() <---AppDynamics recognized this as an exit and logged the callstack. MyCompany.MyClass.DataAccess.FindCustomerData() MyCompany.MyClass.BusinessLogic.TransformCustomerData() MyCompany.MyClass.UI.btnFindCustomerData_OnClick() System.Windows.Forms.Button.OnClick() System.Windows.Form.ButtonBase.WindProc(...) System.Windows.Forms.NativeWindow.Callback(...)
We can see that this is a Windows Forms application where a particular button was clicked to find customer data. Once that button was clicked, an outgoing database call was made which AppDynamics recognized. From this point, AppDynaimcs code was executed to log the callstack to the BusinessTransaction.log file.
Which application method would make a good Business Transaction entry point?
Remember, methods executed first are at the bottom of the callstack. Looking at methods that executed before the database call, we can see that MyCompany.MyClass.UI.btnFindCustomerData_OnClick() is a custom developed code that would make a suitable starting point for this unique Business Transaction to begin. All methods which execute after this method are also tracked as part of this Business Transaction. If we use a method that executed before this one, for instance System.Windows.Forms.Button.OnClick(), every application button click would be tracked as part of the same business transaction, which is not ideal for troubleshooting. We want to make sure separate code paths are tracked as separate Business Transactions.
OK I've found a suitable Business Transaction entry point method, now what?
Once we've found a suitable BT entry point, we can configure a .NET Class/Method Custom Match Rule to let AppDynamics know that this method marks the start of a new Business Transaction. Once you've created the Custom Match Rule, you'll need to wait a minute or two for the rule to be brought down to the agent, then restart the application for the change to go into effect. Once in effect, you should see your Business Transaction show up in the controller.
Just let us know if you have any further questions regarding this.
... View more
PM2 gained the most popularity and is now considered an enterprise standard. One of the most important thing is that It’s in active development, has a stable API and is constantly assailed by more than 1000 tests. If you are interested in monitoring & scaling Node.js apps you should read this article https://www.netguru.co/codestories/monitoring-vertically-scaling-nodejs-applications. It's definitely worth it. :)
... View more
At the moment, we are not using AppDynamics on the systems that formerly were impacted by that bug. Also, since the the dev team of AppDynamics was able to reproduce the bug and fix it since it was filed, I believe that it shouldn't be a concern. Maybe it's a different bug with similar symptoms.
Two notes though:
4.4.3 is not an AppDynamics version number, as they don't use a triple but a quadruple (like e.g. 18.104.22.168). Also, it might be relevant which versions of both the machine agent as well as the PHP agent were installed.
PHP 5.4 is something I personally would refuse to support in any way. At the very least, PHP 5.6 should be used. Still, check out the announcements at PHP's website, their support for versions before 7.1 ends this year.
... View more
Have attached a simple code which created few BTs and logs complete trace info in the logs which reside in the default path.
Please note that this code is only for your reference.
... View more
I'm running totally 1 master and 4 worker threads but here it's showing only 4 processes.
Where is the master process?
But in tier page it showing 5 process, Is master process is skipped?
... View more