<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.highperformance.tech/blogs/tag/moni/feed" rel="self" type="application/rss+xml"/><title>High Performance Technologies - High Performance Technologies Blog #moni</title><description>High Performance Technologies - High Performance Technologies Blog #moni</description><link>https://www.highperformance.tech/blogs/tag/moni</link><lastBuildDate>Sun, 21 Jun 2026 16:07:19 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[The Tableau GitHub Repo Most Admins Don't Know About (But Should)]]></title><link>https://www.highperformance.tech/blogs/post/tableau-github-repo</link><description><![CDATA[<img align="left" hspace="5" src="https://www.highperformance.tech/Screenshot 2026-06-03 at 10.56.51 AM.png"/>The Tableau Community Insights GitHub repository is a hidden gem for Tableau Server administrators who want to know more about the activity on their Tableau Server.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_asJv5zADR82HenJccJDngg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_ilS_tHEjRkK9BQ4YpDo4Ew" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_agQBv977Sra-HbPGuWRY7g" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_aHHrIGZgRfeWjMvvk2Y0DQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p></p><div style="text-align:left;"><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;">If you manage a Tableau Server environment, you already know the frustration. The PostgreSQL repository that holds Tableau Server's operational metadata is a maze of cryptic table names, confusing relationships, and incomplete data. The answers to your operational questions are in there — who is running all those extract refreshes, which content is actually being used, what is hammering the server at the most inconvenient times. Getting to those answers takes moderate SQL knowledge, deep Tableau Server application knowledge, and a lot of painful trial and error.</span></div><div style="text-align:left;"><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;"><br/></span></div><span><div style="text-align:left;"><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;">A handful of Tableau insiders ran into the same wall, and working under the company's community-supported umbrella, they built something to solve it.</span></div><div style="text-align:left;"><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;"><br/></span></div><div style="text-align:left;"><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;">The </span><a href="https://github.com/tableau/community-tableau-server-insights" style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;">Tableau Community Insights GitHub repository</a><span style="font-family:Arial, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;"> is a set of six pre-built workbooks and data sources that do the hard work of getting around the PostgreSQL repository for you. Point them at your Tableau Server, and you can start asking operational questions that would otherwise take hours. Most Tableau Server admins have never heard of it — and that is a shame, because it is one of the most useful tools out there.</span></div></span><p></p></div>
</div><div data-element-id="elm_XLhkLr6Lj9oi66sC_irP6g" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Who Built This (and Why It Matters)</span></h2></div>
<div data-element-id="elm_KDRBlaEBb_IR9cv8aKlXfg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><p>The repo is led primarily by <b><a href="https://www.linkedin.com/in/mattscoles/" title="Matt Coles" rel="">Matt Coles</a></b>, with contributions from <b><a href="https://www.linkedin.com/in/seanli/" title="Sean Li" rel="">Sean Li</a></b>, <b><a href="https://www.linkedin.com/in/briancantoni/" title="Brian Cantoni" rel="">Brian Cantoni</a></b>, and <b><a href="https://www.linkedin.com/in/jamesabaker/" title="James Baker" rel="">James Baker</a></b> — all Tableau insiders. These are not generic sample workbooks thrown together for a conference demo. They are built by people who know Tableau Server's internals better than most, and the workbooks reflect real operational questions that come up again and again in production environments.</p><p><span><br/>That matters for another reason too. Because these workbooks are not baked into the product itself, you can customize them. Fork them, extend them, add dashboards, change the filters. The contributors even welcome pull requests back to the repo — you will need to sign their CLA and target the <code>submissions</code> branch, but the door is open.<br/>The open-source angle pays off in practice, and we will come back to that.</span></p></div>
</div><div data-element-id="elm_BY0RCK2VtXs5jka25cYaKQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Six Data Sources, Six Slices of Your Server</span></h2></div>
<div data-element-id="elm_KJoKnNEnvMexy9zyjn_PGQ" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div> The repo contains six data sources, all connected to the same underlying PostgreSQL repository. The contributors have already figured out which tables matter and how the data sources join them. Here is the lineup: <br/><ul><li><b>ts_background_tasks</b> — every background job on the server: extract refreshes, subscriptions, flows. Where to look first when jobs are failing, running slow, or piling up. Retention is a month by default.</li><li><b>ts_content</b> — full inventory of workbooks, views, and data sources published to the server. The data source you want for content audits and governance questions.</li><li><b>ts_data_connections</b> — every data connection your content is actually hitting, and from where. Essential for security reviews, migration planning, and understanding the data dependency map.</li><li><b>ts_events</b> — audit history of logins, content access, and admin actions on the server. Retention is up to six months.</li><li><b>ts_users</b> — user records, roles, licensing, and group memberships. Most common use: finding Creator or Explorer license holders who have not logged in recently enough to justify the seat.</li><li><b>ts_web_requests</b> — HTTP request logs with response times and status codes. Where the evidence lives when users are reporting slowness you cannot reproduce. Retention is <b>one week</b> by default — short.</li></ul>The default retention windows are the trap. If you are not pulling the data on a schedule, you will lose history.</div><div>&nbsp; <br/>For <code style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_background_tasks</code>, <code style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_events</code>, and <code style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_web_requests</code>, set up an incremental extract on the right key field — Increment Date for background tasks, Event Id for events, Id for web requests. Run it on a regular cadence. For <code style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_content</code><span style="background-color:rgba(255, 255, 255, 0.97);">, </span><code style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_data_connections</code>, and <code style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_users</code>, a live connection or full extract is fine, since those reflect current state rather than history. The README has the specific field names and filter expressions. </div>
<p></p></div></div><div data-element-id="elm_oTOJf37wH0yWH7rWZc2ccQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>A Real-World Example: Solving a Cost Problem with ts_background_tasks</span></h2></div>
<div data-element-id="elm_ACPDgYniIHoNrKF_ivHpvA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p>We got a firsthand look at how powerful — and extensible — this repo can be when one of our <a href="/services/managed-services" title="managed services" rel="">managed services</a> customers came to us with a costly problem.</p><p><br/> Their data platform team noticed something troubling. Compute costs were spiking, and the culprit appeared to be uncontrolled Tableau scheduled extract refreshes hammering their query engine. The frustrating part: all of those extracts ran under the same service account, making it nearly impossible to trace which specific workbooks or data sources were responsible. They were flying blind.</p><p><span><br/> What they needed was a data dump of extract execution times tied back to specific workbook authors and content. Specifically, they wanted to find unused refreshes sitting in personal folders that nobody was actively using. Their working definition of &quot;safe to cut&quot;: any refresh linked to a dashboard that had not been viewed in the past three months, with Finance content protected.</span></p><p><span><br/> Rather than building something from scratch, we extended the existing <code><span><span style="background-color:rgb(243, 206, 206);color:rgb(212, 43, 43);">ts_background_tasks</span></span></code> workbook by adding a custom &quot;Background Task Durations&quot; dashboard on top of the same underlying data source. It surfaced extract start and end times with full author and workbook attribution. We published the dashboard directly to their Tableau Server environment.</span></p><p><span><br/> Within a week, the customer had what they needed to start their cull.</span></p><p><span><br/><span> The point is not the specific dashboard we built. It is that we did not have to start from zero.</span> The hard part — getting around the PostgreSQL repository, building the right joins, handling the data model — was already done.</span></p><p><span><br/> We just added the layer their specific situation required. That is the open-source angle paying off in practice. Because the foundation is forkable, a customer-specific question becomes a one-dashboard build instead of a one-quarter project.</span></p></div>
</div><div data-element-id="elm_d4-hQdRUCMrD65uzi3rdrw" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-style-none zpheading-align-left zpheading-align-mobile-left zpheading-align-tablet-left " data-editor="true"><span>Getting Set Up</span></h2></div>
<div data-element-id="elm_B0VO9LCf1g454cM3Sb0Dzg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p></p><div>Before you can use any of these data sources, you need to <a href="https://help.tableau.com/current/server/en-us/perf_collect_server_repo.htm">enable access to your Tableau Server's PostgreSQL repository</a>. Use a read-only service account for the connection.<br/>Once that is done, the setup is straightforward:<br/><ol><li>Download the appropriate version of the workbook from the <a href="https://github.com/tableau/community-tableau-server-insights">GitHub repo</a>. The compatibility chart in the README maps Tableau Server versions (2019.1 through 2023.1+) to the right file version.</li><li>Open the workbook in a compatible version of Tableau Desktop.</li><li>Set the <b>Tableau Server parameter</b> — used to build the URL action hyperlinks throughout the workbook.</li><li>Set the <b>Timezone parameter</b> — datetime fields with &quot;(local)&quot; in the name will convert to your local timezone; everything else is in UTC.</li><li>Follow the retention notes above for each data source.</li><li>If you need row-level security, the workbook includes a built-in User Filter calculation. Edit it as appropriate and add it as a data source filter set to &quot;true.&quot;</li><li>Publish the workbook to Tableau Server. In the publish dialog, click <b>Edit</b> under Data Sources and pick <b>Publish separately</b> for the workbook's data source. That puts the dashboards <i>and</i> a standalone published data source on Server, which means you and your colleagues can connect to that data source and build other workbooks on top of it instead of repeating the SQL spelunking. That is how this turns from one admin's tool into your whole organization's operational lens on Tableau.</li></ol>Tableau Server generates a tremendous amount of operational data. The challenge has always been getting at that data without becoming a PostgreSQL expert first.<br/>The Community Insights repo closes that gap, and because it is customizable, it can grow with your specific needs rather than the generic ones.</div><div><br/>If you have used these workbooks in your environment, or extended them to solve a problem we have not covered, we would love to hear about it. And if you are hitting operational questions about your Tableau Server environment that you cannot get answered through the standard UI, <a href="https://www.highperformance.tech/contact-us">reach out</a> — this is the kind of problem we love.</div><p></p></div>
</div><div data-element-id="elm_NagOLXwRbTb4l9Z5Tnl8dQ" data-element-type="divider" class="zpelement zpelem-divider "><style type="text/css"></style><style></style><div class="zpdivider-container zpdivider-line zpdivider-align-center zpdivider-align-mobile-center zpdivider-align-tablet-center zpdivider-width100 zpdivider-line-style-solid "><div class="zpdivider-common"></div>
</div></div><div data-element-id="elm_0dXMkEyy4iIjPdHzsJUgeg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-left zptext-align-mobile-left zptext-align-tablet-left " data-editor="true"><p><span><i>Special thanks to Matt Coles and team for building and maintaining this resource for the Tableau community.</i></span></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Wed, 03 Jun 2026 13:04:18 -0500</pubDate></item></channel></rss>