2 Replies Latest reply on Apr 17, 2015 8:29 AM by Glauber Ribeiro

    How does tabcmd work?

    Eric McDonald

      We use a PowerShell script to batch download workbooks from our server using tabcmd. Recently the retrieve time has doubled which means the script now takes 4 hours to run instead of 2.


      How does tabcmd communicate with the Tableau server? The script is running from Windows Task Scheduler on the server and connects using URL http://localhost. Does anyone know the detailed mechanism in which it works? Does it do a round trip through the web server or do a direct connection? Does it create any network traffic? Does it run on a single process on a single core? Any clues on how to speed-up the retrieve time? We're running version 8.2.5, is tabcmd in version 9 any faster?


      Any help appreciated!

        • 1. Re: How does tabcmd work?
          Toby Erkson

          v9 is supposed to be faster.

          Re: TabCmd on Linux

          • 2. Re: How does tabcmd work?
            Glauber Ribeiro

            It's a http/xml-based API, similar to the REST API that exists in V9, but undocumented. It's relatively easy to reverse-engineer if you use a proxy like Burp or Fiddler. The hardest part is how to encrypt the password. I actually rewrote the whole thing in Ruby and then in Java, to make it a little more usable. But it looks like you're doing some time-consuming operations; I would stay with the official tabcmd  because some of the long operations are asynchronous and can get tricky.


            But yes, it creates network traffic. Since you're using localhost, it should stay within the server.


            I don't believe it is multi-threaded.


            I'd do some timings to find out what has slowed down. I think it's more likely to be the rendering of the workbooks in Tableau Server, than tabcmd itself.