Skip to content

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.

Get the Command
cs_tools tools searchable --help

~cs~tools tools searchable --help

Get the Command
cs_tools tools searchable metadata --help

~cs~tools tools searchable metadata --help

Get the Command
cs_tools tools searchable bi-server --help

~cs~tools tools searchable bi-server --help

Get the Command
cs_tools tools searchable audit-logs --help

~cs~tools tools searchable audit-logs --help

Get the Command
cs_tools tools searchable tml --help

~cs~tools tools searchable tml --help


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.

Get the Command
cs_tools tools searchable metadata --help

~cs~tools tools searchable metadata --help

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!)

Get the Command
cs_tools tools searchable bi-server --help

~cs~tools tools searchable bi-server --help

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!

Get the Command
cs_tools tools searchable deploy --help

~cs~tools tools searchable deploy --help


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!)

Get the Command
cs_tools tools searchable audit-logs --help

~cs~tools tools searchable audit-logs --help

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 or in 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!)

Get the Command
cs_tools tools searchable tml --help

~cs~tools tools searchable tml --help

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.