Awesome ClickHouseCLI

Slach/clickhouse-flamegraph

⭐ 223 Go repository created 2019-09-07

The project "clickhouse-flamegraph" is a command-line utility designed to visualize ClickHouse's system.trace_log data as flamegraphs. Flamegraphs are a visualization tool used to represent hierarchical data, often used for profiling and performance analysis. This utility specifically targets the trace logs generated by ClickHouse, a columnar database management system, to help users analyze query performance and resource usage visually. The tool requires a ClickHouse server version 20.6 or higher with specific profiling settings enabled. These settings include enabling query logging and sampling profiling, which are necessary to collect the detailed trace data that the flamegraph utility visualizes. The project provides detailed instructions on how to configure the ClickHouse server to enable these profiling features, including XML configuration snippets for CPU time, real time, and memory profiling. Installation of the utility is straightforward, with pre-built packages available for various platforms including Linux (deb and rpm packages), macOS, and Windows (via Cygwin). The utility depends on Perl and the flamegraph.pl script for generating the flamegraph visualizations. Users can install the utility using a simple curl command or by downloading the appropriate package for their operating system. The usage of the utility is flexible, allowing users to specify various options such as the dimensions of the output image, the path to the flamegraph script, output directory, date range filters for the trace logs, query filters, trace types, and ClickHouse connection details. This flexibility makes it a powerful tool for database administrators and developers who want to gain insights into the performance characteristics of their ClickHouse queries and system behavior. Overall, clickhouse-flamegraph is a specialized tool that leverages ClickHouse's internal profiling capabilities to provide a visual and intuitive way to analyze system trace logs, helping optimize query performance and resource utilization.

https://github.com/Slach/clickhouse-flamegraph

clickhousecommand-line-utilitycpu-profilingdatabase-profilingflamegraphflamegraph.plmemory-profilingperformance-analysisperlprofilingquery-loggingquery-performancereal-time-profilingsystem.trace_logvisualization

Also in CLI

amacneil/dbmate

Dbmate is a lightweight, framework-agnostic database migration tool that supports multiple databases including ClickHouse, enabling consistent schema management across diverse development environments.

sqitchers/sqitch

Sqitch is a versatile and framework-agnostic database change management tool supporting multiple database engines including ClickHouse, emphasizing native scripting, dependency resolution, and deployment integrity.

quarylabs/sqruff

sqruff is a fast and customizable SQL formatter and linter supporting multiple SQL dialects including Clickhouse, designed to ensure SQL code quality and consistency across development workflows.

runreveal/pql

pql is a Go library and CLI tool that compiles a pipelined query language inspired by Kusto Query Language into SQL, with specific compatibility for the Clickhouse SQL dialect but designed to be database agnostic.

azat/chdig

Chdig is a terminal user interface tool designed to provide interactive introspection, monitoring, and debugging capabilities for ClickHouse database systems.

hatarist/clickhouse-cli

An unofficial command-line client for the ClickHouse DBMS server offering enhanced features like autocompletion, syntax highlighting, multiquery support, and user-defined functions over HTTP.