Overview

Mindsight is an in-production observability tool focused on uncovering critical paths inside your code. Our clients support various programming languages and unobtrusively measure samples of your program state to help give you a detailed look into your program's behavior, all without causing any adverse effects on your application's performance and stability.

A real-time data stream of your code’s behavior is then analyzed and presented to you in an easy to read dashboard. This data helps you understand how your code changes affect product behavior as seen by customers, and gives a current and accurate picture of your code's critical paths without any guesswork or manual instrumentation.

Installation

If you prefer to follow a screencast that configures Mindsight on a simple Java application, take a look at this video:

Installing and Configuring Mindsight is a 4 step process:

Mindsight Agent

This application will collect any data from your application that Mindsight is measuring, and send it securely to Mindsight's API for further processing and display on our dashboard.

The Mindsight Agent should be deployed to a place that is callable by your infrastructure via HTTP. More than one agent instance can be executed if it is more convenient to do so, but only 1 is needed at a minimum.

Step 1. Download

You can download the latest Mindsight Agent (just a single Linux binary) from our release page.

You can also build the code in this repository if you have a Go development environment setup, but that may have some unreleased changes that aren't ready for production use.

We recommend you download our latest release for production use.

Step 2. Authentication

The following environment variables must be set to properly authenticate with Mindsight's API:

MINDSIGHT_CLIENT_ID=<id>
MINDSIGHT_CLIENT_SECRET=<secret>

We will provide you the credentials for your account (contact support@mindsight.io).

Step 3. Running

Once the environment variables above have been set and exported, simply run the agent with no arguments

./hotpath-agent

The agent will listen on port 8000 by default.

Run it with the -help flag if you want to customize this, or see other options (mostly intended for development of the agent itself, not needed for normal operation).

Language Integration

Based on the language of your application, please find the corresponding languages to begin language integration.

Language
Go
Python
Python + Django
Java

Deployment Hook

Reports deployment to Mindsight backend to assist in correlating code behavior with deployed changes.

Step 1. Installation

It is strongly recommended that you download and use the latest binary release.

Step 2. Usage

This hook should be executed every time you deploy your code into an environment you are tracking with Mindsight. Running the hook lets Mindsight know how to correlate changes in your data with versions of code that you have deployed.

It is probably most convenient to integrate this tool into your existing deployment automation.

To report a deployment to the Mindsight API, run the command as follows:

deploy-hook -commit abc123 -repo "https://github.com/Me/my-app.git"

Alerts

Mindsight has the ability to give you alerts when functions in your code misbehave or become much more active than usual. Alerts can be reported via various third-party integrations:

Slack

Coming soon...

Pager Duty

Each Mindsight Alert becomes a PagerDuty incident so that your team can get to the bottom of what's going on. To configure the PagerDuty integration, go to the Settings page of your Mindsight account (on the dasgboard, top-right drop-down -> Settings) and enter the PagerDuty API key for the Events v1 API.