visualise-elastic-profile v1.2.2
visualise-elastic-profile
A simple tool for visualising the results from the Profile API of ElasticSearch.

Installation
yarn global add visualise-elastic-profileUsage
visualise-elastic-profile profile.jsonWhere profile.json is a path to a JSON file with the contents of the profile key from the Profile API (or just a full response from the Search API that includes the profile key). An example of such a file is included in this repository as example.json.
Output from this command is a simplified report of the profiling data, including a stringified timeline for each shard, and an overview of the leaf queries (i.e queries that do not have any children) by how much aggregated time is spent in those.
API
The package also exposes an API that can be used in Node, allowing converting the profile into a string
import { stringifyProfile } from 'visualise-elastic-profile';
const profile = { shards: [{ searches: [{ query: {...} }] }] };
console.log(stringifyProfile(profile)); // same output as if using the CLI tool, width defaults to 80 and colours are enabled
console.log(stringifyProfile(profile, { maxWidth: 100, color: false })); // black-and-white output and with a fixed width of 100Limitations / Known issues
Currently it only supports the "non-humanised" output from the Profile API, i.e it expects the durations to be in nanoseconds.