소개
jp는 JSON 또는 CSV 데이터를 입력받아 터미널에서 간단하게 그래프를 그리는 명령줄 도구입니다. sgreben이 개발했으며, 바 차트, 라인 차트, 산점도, 히스토그램, 히트맵 등 다양한 차트 유형을 지원합니다. 단일 바이너리로 제공되며 의존성이 없어 Windows, Linux, macOS에서 바로 실행할 수 있습니다. 데이터 시각화가 필요한 개발자나 분석가가 터미널 환경에서 빠르게 결과를 확인할 때 유용합니다.
상세정보
다양한 차트 유형 지원
jp는 다음 차트 유형을 지원합니다:
- 바 차트 (-type bar)
- 라인 차트 (-type line)
- 산점도 (-type scatter)
- 히스토그램 (-type hist)
- 2D 히스토그램(히트맵) (-type hist2d)
유연한 데이터 입력 방식
JSONPath 표현식을 통해 데이터를 추출할 수 있으며, JSON과 CSV 형식을 모두 처리합니다. -input csv 옵션으로 CSV 입력을 명시할 수 있고, -s 슬러프 모드와 함께 jq를 사용해 여러 JSON 줄을 배열로 결합할 수 있습니다.
캔버스 및 출력 제어
-canvas 옵션으로 출력 방식을 조절할 수 있습니다. auto, full, full-escape, full-bw, full-wb, quarter, braille 중 선택 가능하며, 터미널 환경에 따라 최적의 출력을 얻을 수 있습니다. -width, -height로 그래프 크기를 직접 지정할 수도 있습니다.
다운로드·설치 방법
공식 배포 페이지에서 사전 빌드된 바이너리를 다운로드할 수 있습니다. Windows 사용자는 다음 단계를 따릅니다:
- GitHub releases 페이지로 이동
- jp_1.1.12_windows_x86_64.zip 파일을 다운로드
- 압축을 해제하고 jp.exe를 원하는 폴더에 저장
- 선택적으로 시스템 PATH에 추가하여 어디서든 실행 가능
또는 Go 환경이 있다면 다음 명령으로 설치할 수 있습니다:
go get -u github.com/sgreben/jp/cmd/jp
기본 사용법/명령어
jp는 표준 입력을 읽어 처리하므로, 파일을 리다이렉트하거나 파이프로 연결해 사용합니다. 기본 구문은 다음과 같습니다:
jp [-type TYPE] [-x JSONPATH] [-y JSONPATH] [-xy JSONPATH] [-bins NUM] [-input TYPE] [-height NUM] [-width NUM] [-canvas TYPE]
주요 옵션 설명:
- -type: 차트 유형 (line, bar, scatter, hist, hist2d 중 하나, 기본값: line)
- -x: X 축 값에 대한 JSONPath 표현식
- -y: Y 축 값에 대한 JSONPath 표현식
- -xy: X,Y 쌍을 동시에 지정하는 JSONPath 표현식 (-x와 -y를 덮어씀)
- -bins: 히스토그램의 bin 수 (0이면 자동)
- -input: 입력 형식 (json 또는 csv, 기본값: json)
- -height, -width: 출력 크기 (0이면 자동)
- -canvas: 출력 모드 (auto, full, full-escape, full-bw, full-wb, quarter, braille 중 하나, 기본값: auto)
이런 경우에 유용합니다
서버 로그에서 응답 시간 분포를 빠르게 확인해야 할 때, jp로 히스토그램을 그려 이상치를 한눈에 볼 수 있습니다. API가 반환하는 JSON 배열의 수치 필드를 라인 차트로 그려 추세를 시각화하거나, 두 수치 필드의 상관관계를 산점도로 분석할 때 유용합니다. 별도의 그래픽 환경 없이 SSH 터미널만으로도 데이터의 형태를 파악할 수 있어, 원격 서버나 제한된 환경에서 작업하는 개발자에게 적합합니다.
지원 환경·시스템 요구사항
jp는 Windows, Linux, macOS에서 실행 가능한 단일 바이너리로 제공됩니다. 별도의 런타임이나 의존성이 없어, 압축 해제 후 바로 실행할 수 있습니다. Windows에서는 64비트 x86_64 아키텍처용 바이너리가 제공됩니다.
최신 버전·업데이트
현재 버전은 1.1.11이며, 최신 릴리스 정보는 GitHub releases 페이지에서 확인할 수 있습니다. 업데이트는 새로운 바이너리를 다운로드하여 교체하는 방식으로 진행됩니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


