{"id":23318173,"url":"https://github.com/johnpcarter/WxAppDynamicsAgent","last_synced_at":"2025-08-22T17:31:01.368Z","repository":{"id":48185352,"uuid":"493743136","full_name":"johnpcarter/WxAppDynamicsAgent","owner":"johnpcarter","description":"webMethods package for integrating webMethods Integration Server with AppDynamics","archived":false,"fork":false,"pushed_at":"2024-07-08T08:34:54.000Z","size":113231,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-09T09:51:41.207Z","etag":null,"topics":["agent","appdynamics","webmethods"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnpcarter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-18T16:32:22.000Z","updated_at":"2025-01-16T08:11:30.000Z","dependencies_parsed_at":"2025-01-18T03:34:06.979Z","dependency_job_id":null,"html_url":"https://github.com/johnpcarter/WxAppDynamicsAgent","commit_stats":null,"previous_names":["johnpcarter/wxappdynamicsagent"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/johnpcarter/WxAppDynamicsAgent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxAppDynamicsAgent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxAppDynamicsAgent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxAppDynamicsAgent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxAppDynamicsAgent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnpcarter","download_url":"https://codeload.github.com/johnpcarter/WxAppDynamicsAgent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxAppDynamicsAgent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271673552,"owners_count":24800711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","appdynamics","webmethods"],"created_at":"2024-12-20T17:15:45.463Z","updated_at":"2025-08-22T17:30:56.355Z","avatar_url":"https://github.com/johnpcarter.png","language":"Java","readme":"# WxAppDynamicsAgent\n\nwebMethods package for integrating webMethods Integration Server with AppDynamics\n\nThis package configures the AppDynamics java agent in conjunction with the [iSDK](https://docs.appdynamics.com/22.4/en/application-monitoring/install-app-server-agents/java-agent/use-the-java-agent-api-and-instrumentation-sdk/isdk-overview) to ensure that services and APIs can be traced as business transaction directly within AppDynamics. Also ensures that asynchronous calls including http and messaging (both native and JMS) are capable of propagating the transaction context; ensuring that you can diagnose any issues end to end without discontinuity.\n\n# Setup\nImport the package into your Integration Server packages directory\ne.g.\n\n```\n$ cd /${SAG_HOME}/IntegrationServer/packages\n```\nor \n```\n$ cd /${SAG_HOME}/IntegrationServer/instances/${INSTANCE}/packages\n```\n\nIf your packages directory is already under version control\n\n```\n$ git submodule add https://github.com/johnpcarter/WxAppDynamicsAgent.git WxAppDynamics\n```\n\nor if you are not, then simply clone the repository\n\n```\n$ git clone https://github.com/johnpcarter/WxAppDynamicsAgent.git\n```\n\nThen restart your runtime server. Open the admin portal and click on Packages -\u003e Management. Then click on the home button of this package.\nThe screen shows if the connection is already established and the last few lines of the agent log file.\nBelow that it shows the current configuration of your webMethods runtime and also indicates if the server is not yet configured.\n\nIn your case the server will show as not yet configured so click on the merge button to add the AppDynamics java agent setup to the webMethods configuration file, but first check for any discrepancies and that any sequence numbers are not already in use. Once you have clicked on the merge button the page will ask you to restart the server or in the case of a webMethods edge (Microservices Runtime) to stop and then restart the server.\n\nDon't restart your server yet as you still need to configure the connection to your AppDynamics server. Refer to the section below.\n\n*NOTE:* A copy of the configuration file is made before the update, you can find it in the same directory as the config file with the same name and the extension .bak \n\nAfter restarting the page should show an \"Online\" status once the server has restarted and after you have configured your AppDynamics settings as described below.\n\nThe configuration section will now instead propose a \"restore\" button that will allow you to remove the AppDynamics java agent if required.\n\n# Configure the connection with you AppDynamics Server.\n\nYou can either edit the agent config file directly via \n```\n[SAG_HOME]/IntegrationServer/instances/default/packages/WxAppDynamicsAgent/resources/conf/controller-info.xml\n```\n\nor if you are running this in a container, then instead configure the connectivity via environment variables;\n\n- APPDYNAMICS_CONTROLLER_HOST_NAME\n- APPDYNAMICS_AGENT_ACCOUNT_NAME\n- APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY\n\nYou will also need to identify your webMethods server correctly, again this is configured in the above file or dynamically via the environment variables\n\n- APPDYNAMICS_AGENT_APPLICATION_NAME\n- APPDYNAMICS_AGENT_TIER_NAME\n- APPDYNAMICS_AGENT_NODE_NAME\n\nNOTE: The node name must be unique, by default it is set to 'IS'. Therefore make sure that you have the set environment variable APPDYNAMICS_AGENT_NODE_NAME before startup if running more than one wm node!\n\nEnvironment variables can be passed into a container via the -e switch.\n\nFor a full description of configuring the AppDynamics agent click [here](https://docs.appdynamics.com/22.4/en/application-monitoring/install-app-server-agents/java-agent/administer-the-java-agent)\n\nWhere it refers to \\\u003cagent-home\\\u003e this will be \\\u003cSAG_HOME\\\u003e/IntegrationServer/instances/default/packages/WxAppDynamicsAgent/resources\n\nor \\\u003cSAG_HOME\\\u003e/IntegrationServer/packages/WxAppDynamicsAgent/resources for our MSR variant.\n\nYou can sign up for a free AppDynamics account here\n\n[AppDynamics free trial signup page](https://www.appdynamics.com/free-trial/)\n\n# Internal changes\n\nThe file WxAppDynamicsAgent/resources/ver24.5.0.36037/conf/app-agent-config.xml has been update to include all of the built SDK wm interceptors\n\n```\n\u003ccustom-exclude filter-type=\"STARTSWITH\" filter-value=\"com/wm/\"/\u003e \n```\n\nThe file  WxAppDynamicsAgent/resources/ver24.5.0.36037/conf/logging/log4j2.xml has the following custom loggers added to allow this plugin to be logged\n```\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.ServiceInterceptor\" level=\"trace\" additivity=\"true\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.ServiceDataExtractor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.HTTPRevInvokeDispatchInterceptor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.HTTPRevInvokeDispatchOutInterceptor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.HTTPRevInvokeDispatchExtractor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.ISServerManagerInterceptor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.HttpContextInterceptor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n\u003cAsyncLogger name=\"com.singularity.instrumentation.sdk.WmInterceptor\" level=\"debug\" additivity=\"false\"\u003e\n\t\u003cAppenderRef ref=\"DefaultAppender\"/\u003e\n\u003c/AsyncLogger\u003e\n```\n\n# ADVANCED USE\n\nUse the following environment variables as follows\n\nAPPDYNAMICS_REPORT_CHILD_ERRORS - set this to true to force tracing of all exceptions even if they are caught and managed by top level services\nAPPDYNAMICS_USE_SET_TRANSACTION_NAME - set this to true to trace transactions from http level and set transaction name via setTransactionName() method.\n\n______________________\nThese tools are provided as-is and without warranty or support. They do not constitute part of the Software AG product suite. Users are free to use, fork and modify them, subject to the license agreement. While Software AG welcomes contributions, we cannot guarantee to include every contribution in the master project.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnpcarter%2FWxAppDynamicsAgent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnpcarter%2FWxAppDynamicsAgent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnpcarter%2FWxAppDynamicsAgent/lists"}