Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glockit Desktop

Glockit Desktop is an Electron + React application for authoring, running, and analyzing HTTP benchmark suites powered by the glockit runtime.

Base Glockit Version

  • Runtime package used by this UI: glockit@^1.1.2
  • Current locked/resolved version in lockfiles: 1.1.2

The UI also includes compatibility normalization for glockit 1.1.2 output so results remain stable in charts, reports, and run history.

What This App Does

  • Build and edit benchmark configs in visual and JSON modes
  • Run benchmarks from desktop via Electron IPC (local machine)
  • Persist workspaces/configs to disk and reload them
  • Track run history and review previous benchmark outcomes
  • Export/import workspace backups
  • Check, download, and install desktop app updates in packaged builds

Tech Stack

  • Electron (desktop shell)
  • React + Vite + TypeScript (UI)
  • Zustand (workspace state)
  • Tailwind + shadcn/ui (UI components)
  • glockit CLI/runtime integration

Prerequisites

  • Node.js 20+ (recommended LTS)
  • npm 10+
  • Windows/macOS/Linux for development

Install

npm install

Development

1. Run UI only (browser mode)

npm run dev

Notes:

  • Useful for UI iteration.
  • Benchmark execution and filesystem features are limited in browser mode.

2. Run Electron against local dev server

In terminal A:

npm run dev

In terminal B:

npm run electron:serve

This is the primary workflow for testing full desktop features.

Build and Package

Build renderer

npm run build

Run built desktop locally

npm run electron:build

Package distributables

# Windows installer (NSIS)
npm run package:win

# Windows unpacked directory
npm run package:win:dir

# Linux AppImage
npm run package:linux

# Linux unpacked directory
npm run package:linux:dir

Artifacts are generated under dist_electron/.

Release Publishing

Configured publish target is GitHub releases via electron-builder.

npm run release:win
npm run release:linux

Ensure repository auth/release credentials are configured in your environment before publishing.

How to Use the App

1. Create a workspace

  • Open the app and create a new workspace from the sidebar.
  • Workspaces store one or more benchmark configs.

2. Add a benchmark config

  • Create a config file in the workspace.
  • Use Visual Editor for guided setup or JSON mode for raw editing.

3. Configure global settings

At minimum, define:

  • baseUrl
  • concurrency and/or arrival settings
  • timeout/retry preferences

Advanced globals support includes:

  • load shape and phases
  • data feeder settings
  • SLO/observability options
  • distributed/reporter-oriented config fields

4. Configure endpoints

For each endpoint, define:

  • name, method, URL/path
  • headers/query/body
  • assertions and response checks
  • dependencies/ordering where needed

5. Run benchmark

  • Start a run from the editor.
  • Observe status/progress in the UI.
  • Review summary, per-endpoint metrics, and history snapshots.

6. Save, export, and restore

  • Configs/workspaces are persisted locally in desktop mode.
  • Use Settings -> Backup & Restore to export/import all workspaces as JSON.

Update System

Auto-update controls are available in Settings for packaged builds:

  • Check for updates
  • Download update
  • Restart and install

During development (unpackaged), update actions are intentionally unavailable.

Testing and Linting

npm run lint
npm run test

Project Versioning

  • Desktop app package version: 1.0.0
  • Base glockit runtime used by UI: 1.1.2 (resolved)

Troubleshooting

  • If runtime shows "glockit unavailable": reinstall dependencies and rebuild.
  • If packaged app cannot load UI: ensure dist/ exists and packaging includes renderer files.
  • If updates do not appear: verify packaged build context and release feed configuration.

License

MIT

About

Glockit desktop app for benchmarking HTTP API with glockit library at its base.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages