Activity Feed
- Got Karma for Re: Adding AppDynamics to a nodeJS PCF buildpack. 04-28-2022 02:46 PM
- Got Karma for Re: "scriptlet failed, exit status 1". 04-28-2022 01:55 PM
- Got Karma for Re: How do I instrument .JS agents to report information points. 11-02-2020 01:53 PM
- Posted Advanced NPM Guide for the AppDynamics Node.js Agent on AppDynamics Knowledge Base. 09-29-2020 03:12 PM
- Tagged Advanced NPM Guide for the AppDynamics Node.js Agent on AppDynamics Knowledge Base. 09-29-2020 03:12 PM
- Tagged Advanced NPM Guide for the AppDynamics Node.js Agent on AppDynamics Knowledge Base. 09-29-2020 03:12 PM
- Posted Re: PHP agent not sending reports on Splunk AppDynamics. 09-29-2020 02:08 PM
- Posted Re: PHP agent not sending reports on Splunk AppDynamics. 09-29-2020 10:28 AM
- Got Karma for Re: PHP agent not sending reports. 09-29-2020 10:24 AM
- Posted Re: PHP agent not sending reports on Splunk AppDynamics. 09-29-2020 10:14 AM
- Posted Re: PHP agent not sending reports on Splunk AppDynamics. 09-29-2020 09:32 AM
- Got Karma for Re: Setup up AppDynamics agent on Go lang application. 09-10-2020 08:17 AM
- Posted Re: Setup up AppDynamics agent on Go lang application on Splunk AppDynamics. 09-09-2020 02:37 PM
- Posted Re: Setup up AppDynamics agent on Go lang application on Splunk AppDynamics. 09-08-2020 11:59 AM
- Posted Re: Setup up AppDynamics agent on Go lang application on Splunk AppDynamics. 07-30-2020 09:54 AM
- Posted Re: Django apache wsgi config on Splunk AppDynamics. 07-24-2020 09:44 AM
- Posted Re: Controller not responsing - Pyagent on Splunk AppDynamics. 07-07-2020 02:13 PM
- Got Karma for Re: PHP Agent installation. 05-20-2020 04:22 PM
- Posted Re: Unable to understand transaction snapshot on Splunk AppDynamics. 04-08-2020 01:05 PM
- Posted Re: Unable to understand transaction snapshot on Splunk AppDynamics. 04-08-2020 10:26 AM
Topics I've Started
Subject | Karma | Author | Latest Post |
---|---|---|---|
1 |
09-29-2020
03:12 PM
1 Karma
AppDynamics Node.js Agent native dependencies and their environments
The AppDynamics Node.js Agent has multiple native dependencies which are keyed to particular environments. As such, the Agent works somewhat differently than other NPM packages.
For example, when downloading our package from NPM, it will request a dependency appdynamics-native which itself will in turn download an artifact to install that will work only for a particular environment. As we want to support multiple environments, we need some way to distribute multiple artifacts for each dependency; one for each unique environment.
The way we currently accomplish this is through a post install script for each dependency. The agent modules containing cross-platform Javascript are uploaded to NPM, but the platform-dependent portions are hosted on AppDynamics infrastructure and downloaded separately. This allows our agent to work well with lock files of package managers, while still retaining the ability to deploy platform-specific artifacts, which otherwise would change the checksum within these lock files.
Generally, dependency artifacts are matrixed on Node.js major version, platform, and architecture. This means that the same dependency has many different potential artifacts, depending on the automatically detected values of the Node.js version, platform, and architecture.
The most important operational implication of this is that users must install the agent within an environment which exactly matches the target deployment environment, otherwise they will be deploying an agent bundle that will not load properly. We see this scenario in many CI/CD pipelines, where the build server is in important ways set up differently than the deployment servers/containers, and needs to be adjusted.
... View more
Labels:
09-29-2020
02:08 PM
Hi again, Thanks for sending the agent logs over PM. We'll sideline the server logs for now. What I see is that you have many worker processes starting up, and each one needs at least a few requests to fully configure itself. Probably what is happening is that you have only sent a handful of requests through and they are being served round-robin from fresh workers. Please send through a load test of much traffic and wait a few minutes to check the UI.
... View more
09-29-2020
10:28 AM
Hi again, Actually, please do send the same requested logs to me directly as a PM. I was just made aware this is our new policy for log files so that any sensitive information remains private to you and I.
... View more
09-29-2020
10:14 AM
Hi there, Please upload the server (Apache/php-fpm) access and error logs, as well as the logs folder of the agent install dir. You can find the upload UI directly below the editor.
... View more
09-29-2020
09:32 AM
1 Karma
Hi there, Please send traffic to the instrumented application and wait a few minutes to check that it shows in the dashboard. The wizard may not work 100% in some cases for PHP.
... View more
09-09-2020
02:37 PM
1 Karma
Hi Suman, Please check the docs and go through the install steps: https://docs.appdynamics.com/display/PRO45/Using+Go+SDK Regards, Kyle
... View more
09-08-2020
11:59 AM
Hi T.c, No, it is not required to install the machine agent. It is only recommended if you would like to have infrastructure metrics for the instance. As you noted, the Go SDK does not provide the same level of instrumentation as our full-fledged agents. You will need to integrate the SDK functions into your code to surface the data which you are interested in. We are in the process of R&D on a solution for Go which is more like our Java agent, but I can provide no timeline or further details in the present moment.
... View more
07-30-2020
09:54 AM
Hi Abhishek,
Are both the Go SDK and machine agent for the server independently reporting?
... View more
07-24-2020
09:44 AM
Hi Jeremy, These issues are usually due to the proxy process not being able to start. In the watchdog logs you should have a command line printed out that's trying to run. Please try to run that separately and see if there are any errors.
... View more
07-07-2020
02:13 PM
Hi Hari, Could you please verify that there are no typos, especially in the hostname of your controller?
... View more
04-08-2020
01:05 PM
Hi Ahmed, It's hard to say with the GEvent worker. Please try the sync worker and the snapshots should be more clear.
... View more
04-08-2020
10:26 AM
Hi Ahmed, This is indeed because of GEvent. The agent is only able to provide full snapshots when using the sync worker type of gunicorn. What you are seeing is a best attempt to track the greenlets with our current algorithm, which results in a partial call graph. I would suggest trying the sync worker class for better results.
... View more
01-23-2020
11:52 AM
1 Karma
Hi Richard, Please try running npm cache clear --force and try again, it should do better after clearing the cache.
... View more
01-10-2020
04:22 PM
Hi J.R., I believe externals is an array of module names, but more importantly you can skip it altogether with the following: https://stackoverflow.com/a/41063795 Let us know if that helps!
... View more
11-18-2019
12:10 PM
1 Karma
Hi Blaine, Unfortunately, this will not work.
... View more
05-07-2019
02:07 PM
Hey Ashish,
This is mostly a requirement, the agent instruments the require statement itself to instrument a set of common Node.js libraries. If these are require'd first, the agent instrumentation will have less opportunity to wire things up correctly. One option is to use the -r parameter with the node command to preload the appdynamics module and any of its config options and dependencies.
Please let me know in case you have any further questions or concerns.
Thanks and regards,
Kyle
... View more
05-06-2019
02:28 PM
Hi Ashish,
There is currently no way to disable this for the Node.js agent. It's possible that it will be available in the future, but we highly recommend encrypting the data transfer between controller and agent, and agent and controller through the certificateFile agent option.
Regards,
Kyle
... View more
04-17-2019
09:47 AM
1 Karma
Sorry, it is not possible.
... View more
04-16-2019
12:31 PM
Hi Jesseka,
For Node.js, it is usually process snapshots which lead to the CPU overhead. You can find the settings to tweak this in this document: https://docs.appdynamics.com/display/PRO45/Node.js+Settings+Reference
maxProcessSnapshotsPerPeriod : Optional. The default is 2 . The number of automatic process snapshots allowed in processSnapshotCountResetPeriodSeconds seconds.
processSnapshotCountResetPeriodSeconds : Optional, defaults to 60 . Frequency, in seconds, at which the automatic process snapshot count is reset to 0.
autoSnapshotDurationSeconds : Optional, defaults to 10. Length, in seconds, of automatically-triggered process snapshots.
Regards,
Kyle
... View more
03-11-2019
03:36 PM
Hi Cody,
Could you try adding "appdynamics" to the externals array? Let me know if that helps.
... View more
02-04-2019
08:57 AM
1 Karma
Hi Sandor,
Yes, this is expected with ionCube loader. I don't yet have a timeline for this support.
... View more
02-04-2019
08:50 AM
1 Karma
Hi Sandor,
Unfortunately we don't yet support the ionCube loader module. I suspect these crashes are due to that module being used, as we've experienced in the past.
... View more
01-17-2019
05:02 PM
1 Karma
Hi Chris,
If the pyagent proxy "watchdog" is looping, likely what's happening is that the Java process is not starting up properly. We want to recursively check the permissions on each of these directories: /tmp/appd, the Python module directory. The user which runs the Python process and the pyagent proxy command should have read execute on both. Let me know if that helps!
Regards,
Kyle
... View more
01-03-2019
10:59 AM
2 Karma
Hi Richard,
I think the place to start is to ensure you've got some machine agents deployed on these PHP nodes. Then you can correlate any changes in CPU usage with other data in the AppDynamics dashboard. For example, you could navigate to the Node dashboard for one of the PHP machines, and select the Server tab. Then you could find the high CPU time range in the graphs, and click+drag to zero-in on only that time range. Now every UI will use this time range throughout the product. Then, you can inspect snapshots in the time range to see what might be consuming the CPU.
In my experience with PHP, we sometimes see this come up when there's a large resultset coming back from a DB or other backend, and the PHP code is looping over it to do some level of transformation of the data. Perhaps this transformation code was stable and solid while this app was growing, but now that the data is reaching a certain threshold, it's leading to issues. Just one possibility.
Let me know if that helps!
Regards,
Kyle
... View more