Showing results for 
Show  only  | Search instead for 
Did you mean: 
AppDynamics Team

Instrumenting Tableau Server (through version 10.5) for Java Agent


Tableau Server installer spawns a number of processes. You’ll need to identify which processes to monitor based on your need.


For example, to monitor these processes execute the following commands to attach the Java Agent to the intended Java processes.







Make sure that each Java process (node) is associated to a different tier.  

Example: -Dappdynamics.agent.tierName=vizportal


Step 1 - Edit these 5 JVM options to attach Java Agent

tab-install-dir/bin>tabadmin set vizqlserver.vmopts "'-XX:+UseConcMarkSweepGC -XX:NewRatio=2 -XX:SurvivorRatio=6 -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -javaagent:C:\vizqlserver\javaagent.jar -Dappdynamics.agent.tierName=vizqlserver'"
tab-install-dir/bin>tabadmin set vizportal.vmopts "'-XX:+UseConcMarkSweepGC -XX:+ExitOnOutOfMemoryError -javaagent:C:\vizportal\javaagent.jar -Dappdynamics.agent.tierName=vizportal'"
tab-install-dir/bin>tabadmin set backgrounder.vmopts "'-XX:+UseConcMarkSweepGC -Xmx512m -Xms256m -javaagent:C:\backgrounder\javaagent.jar -Dappdynamics.agent.tierName=backgrounder’”
tab-install-dir/bin>tabadmin set clustercontroller.vmopts "'-XX:+UseConcMarkSweepGC -Xmx512m -Xms64m -Djna.nosys=true -XX:+ExitOnOutOfMemoryError -javaagent:C:\Anka\4\ver4.3.0.2\javaagent.jar'"
tab-install-dir/bin>tabadmin set searchserver.vmopts "'-XX:+UseConcMarkSweepGC -Xmx512m -Xms256m -XX:+ExitOnOutOfMemoryError -javaagent:C:\Anka\1\ver4.3.0.2\javaagent.jar'"


For each set command execution, the result should be shown as below to indicate the successful update of arguments.

-- value for key <process-name>.vmopts has been set



-- value for key vizportal.vmopts has been set


Step 2 - Flush configuration to all the gateways of the Tableau server

tab-install-dir/bin>tabadmin set config


Expected output without errors:

===== Wrote configuration files to C:/ProgramData/Tableau/Tableau Server/data/tabsvc/config

-- Web data connectors were distributed to all gateways.


Step 3 - Restart the Tableau server

To effect the changes, restart the Tableau server using the appropriate steps, depending on your version of Tableau:


How do I restart Tableau Server prior to version 10.5?

Restart the Tableau server so the changes go into effect:

tab-install-dir/bin>tabadmin restart


Expected output without any errors:



On successful instrumentation of the 5 java processes listed in step 1, the Agents should collect and show an application flow map similar to this: 

(refer app-dashboard.png).(refer app-dashboard.png).


Potential issues while attaching the agent to the Java process.

If the Java Agent does not attach properly to the Java process, you may see a process startup failure, such as:

tab-install-dir/bin>tabadmin set vizportal.vmopts “-javaagent:C:\app\4.3.5\ver4.3.5\vizportal\javaagent.jar’”
tab-install-dir/bin>tabadmin config

Execution shows similarly to:

*** Configuration used: -XX:+UseConcMarkSweepGC -XX:+ExitOnOutOfMemoryError 
-javaagent:C:\app\4.3.5… -Xmx512m -Xms256m


In the above example, the Java Agent location is not properly taken by Tableau when updating the JVM arguments. To fix the error, make sure that the Java Agent location doesn’t contain “-” (hyphen), .”(dot), or “_” (underscore)The example command should work properly if formatted correctly:


Reference Sample CmdReference Sample Cmd


tab-install-dir/bin>tabadmin set vizportal.vmopts "-javaagent:C:\vizportal\javaagent.jar'"

tab-install-dir/bin>tabadmin config


Execution should show something similar to:

*** Configuration used: -XX:+UseConcMarkSweepGC -XX:+ExitOnOutOfMemoryError -javaagent:C:\vizportal\javaagent.jar -Xmx512m -Xms256m


How do I restart Tableau Server version 10.5+?

As of Tableau version 10.5, the tabadmin utility deprecated along with the Tableau Server Configuration utility was replaced by Tableau Services Manager (TSM). If you’re using Tableau 10.5+, use something similar to the following with TSM to restart the server, so the changes go into effect:

<Tableau_Home>\bin> tsm configuration set -k vizportal.vmopts -v "-javaagent:C:\vizportal\javaagent.jar'"


For more information, see

AppDynamics Team


how can we remove the instrumentation?



AppDynamics Team

Hi Hurshid,


You can perform the following to remove the instrumentation.


tab-install-dir/bin>tabadmin set vizportal.vmopts

tab-install-dir/bin>tabadmin config

tab-install-dir/bin>tabadmin restart


Set the default .vmopts for all the instrumented processes by removing "-javaagent:C:\vizportal\javaagent.jar'" from the command.





Anyone has configured AppDynamics for Tableau latest 2019 & above version (TSM version)?

Can it possible to configure using EUM or web URL for process monitoring without modifying application code? https://server/admin/systeminfo.xml

AppDynamics Team (Retired)

Unfortunately, I don't have more information to share at this time — but, I encourage the Community to please chime in with additional learnings.


Claudia Landivar

Community Manager & Editor 

AppDynamics Team (Retired)

Hello, @Jay.Patel !


Wanted to let you know that @Anka.Thanneeru provided separate instructions for instrumenting Tableau version 10.5+. I've added them to this article as a subset of Step 3.


We hope they're helpful and are interested in knowing how those instructions go for you.



Claudia Landivar

Community Manager & Editor

Version history
Last update:
‎05-14-2020 06:06 PM
Updated by: