Searchable
Use ThoughtSpot, on ThoughtSpot!
See what your Users are up to in the ThoughtSpot Adoption Liveboard. This dataset will help you understand what types of activities your users are engaging with in ThoughtSpot, as well as provide a view into the health of your queries.
Need to remove a column? The Worksheet Column Utilization Liveboard can help! See exactly how many dependencies are downstream each column in your system. This is also a great place to quickly check the Column Settings to determine if your Worksheets are properly configured for a good Search and Spotter experience!
There is No Magic!
Remember, CS Tools wraps the ThoughtSpot REST APIs. This tool uses the following endpoints.
/orgs/search
for fetching Org info/groups/search
for fetching Group info, assigned Privileges, as well as their Group Memberships/users/search
for fetching User info, as well as their Org and Group Memberships/tags/search
for fetching Tag info/metadata/search
for fetching Connection, Table, Model, Column, Answer, and Liveboard info, as well as their tags/metadata/search
for fetching Column details, Synonyms, even on hidden columns/metadata/search
for fetching Dependents based on all available columns/security/metadata/fetch-permissions
for fetching Sharing access controls on all available metadata/searchdata
for extracting the TS: BI Server Model/logs/fetch
for extracting the Audit Logs data feed/metadata/tml/export
for extracting the TML representation of metadata/metadata/tml/import
for deploying the Searchable SpotApp to your ThoughtSpot cluster
What's in the SpotApp?
You can find the raw TML in GitHub, the entire package contains..
- All Tables which are Modeled for Search
- A starter Model focused on User Adoption
- A starter Model focused on Metadata Lineage
- A BETA starter Model for Audit Events
- A BETA starter Model for Metadata Snapshots
Learn about how your Worksheets are being used! Here's some questions you can answer with this new Worksheet and Liveboard combo.
- What's the breakdown of columns in your Worksheet?
- Are there any columns which aren't seeing any use?
- Have you exposed any Hidden columns, which are unintentionally locking dependencies?
- Come to think of it, just how many dependencies are there on this Worksheet?
- Who is creating content that's being heavily used by others?
Learn about how well your Cluster is being adopted! Here's some questions you can answer with this new Worksheet and Liveboard combo.
- When do Users log in and interact with ThoughtSpot?
- What does my Month Active Users look like on Mobile? How about for Search?
- How many Users are losing or re-engaging on the platform?
- What does query latency look like in ThoughtSpot? Is anyone having a poor experience?
- Which Groups contribute the most activity in ThoughtSpot?
Gather Metadata
Most of the "data" that lives in your ThoughtSpot cluster is data about your data. This changes every day as users build, edit, and delete Models, Answers, and Liveboards in the system.
To get a complete view of your Metadata, you will need to run this command on a regular basis.
Syncer Load Strategy: TRUNCATE
Since this metadata is a snapshot at the time of running, it is best to use the Syncer load_strategy=TRUNCATE
for this command.
Haven't learned about Syncers yet? Head on over to the Syncer docs to figure out how to store your ThoughtSpot metadata in an external data store.
There is No Magic!
The ThoughtSpot team runs this command on a daily cadence. You can find it here in our GitHub Actions and Workflow File.
Mirror TS: BI Server
The central FACT
table in the Searcahble SpotApp is actually one that lives inside your Thoughtspot platform
already! However, since Thoughtspot does not allow relationships across Connections, we will need to copy that data
into our own database first.
TS: BI Server is a User Activity history table, telling Administrators about actions a user takes while logged in to the system.
To get a complete view of your User Activity, you will need to run this command on a regular basis.
Syncer Load Strategy: UPSERT
Since this is actual activity data, it is best to use the Syncer load_strategy=UPSERT
for this command.
Customers often schedule this command more often than their data pull window. (eg. if you schedule daily, run for the last 7 days!)
There is No Magic!
The ThoughtSpot team runs this command on a daily cadence. You can find it here in our GitHub Actions and Workflow File.
Deploy Searchable SpotApp
Once you're regularly extracting the Metadata and BI Server, you are ready to deploy the Searchable SpotApp!
Should I use a new connection?
It's recommended to use a separate Connection for the CS Tools Searchable tables, even if you're combining them with your own business data. This is primarily so the ThoughtSpot metadata is scoped separately from data your users would actually interact with.
This command will ask for some details about which Connection can access the CS Tools tables created by your Syncer. This are normal ThoughtSpot fundamentals -- you just need to know your Connection GUID, and the name of the external database (or catalog) and schema of where the Searchable data lives.
You should only need to run this command once!
Optional: Extract Audit Logs
While TS: BI Server is all about how Users interact with the system, it is also possible to extract Audit Logs. These logs record all the security actions and changes made to objects on your ThoughtSpot platform. Any time an object is created, updated, deleted, or their access controls change, the Audit Logs will capture and record the event.
This dataset is very "noisy" and produces a lot of data!
The lifetime of this dataset is only 30-45 rolling days of data, depending on the size of your cluster.
To get a complete view of your Logs, you will need to run this command on a regular basis.
Syncer Load Strategy: UPSERT
Since this actual log data, it is best to use the Syncer load_strategy=UPSERT
for this command.
Customers often schedule this command more often than their data pull window. (eg. if you schedule daily, run for the last 7 days!)
There is No Magic!
The ThoughtSpot team runs this command on a daily cadence. You can find it here in our GitHub Actions and Workflow File.
Optional: Extract TML Snapshots
The metadata
commands provides a LOT of data, and not all of it is used by the Searchable SpotApp yet. Still,
many customers have asked about other properties of objects over the years. TML is a the derived representation of
all user-facing objects in the system. Nearly every setting available on objects is captured within the ThoughtSpot
Modeling Language.
With great power comes great ... work effort
This is for advanced users only!
This command gives you the ability to export the TML of your objects as JSON, and store it in your database. From here, you can use JSON queries to pull out the data you need and join it back to the larger data models.
- What Tables have RLS defined on them?
- How many Vizualization on Liveboards have user-defined Formulas?
- What is the formula expression used on my Models?
- How many Users are engaging
vs
orin
subqueries on their Searches? - What's the percentage of visualizations that are in
display_mode: TABLE_MODE
?
All of these can be answered with the TML!
To get a complete view of TML snapshots, you will need to run this command on a regular basis.
Syncer Load Strategy: UPSERT
This table has a snapshot_date
and defaults to tracking edits, it is best to use the Syncer load_strategy=UPSERT
for this command.
Customers often schedule this command more often than their data pull window. (eg. if you schedule daily, run for the last 7 days!)
There is No Magic!
The ThoughtSpot team runs this command on a daily cadence. You can find it here in our GitHub Actions and Workflow File.