Skip to content

Highly flexible (distributed) trace analysis tool for Jaeger and Zipkin

License

Notifications You must be signed in to change notification settings

dgurkaynak/stalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b191e7a Β· May 24, 2020
May 21, 2020
May 19, 2020
May 10, 2020
May 23, 2020
May 24, 2020
Nov 19, 2019
May 15, 2020
Nov 19, 2019
Feb 28, 2020
Oct 23, 2019
May 22, 2020
May 24, 2020
May 24, 2020
May 24, 2020
May 10, 2020
May 23, 2020

Repository files navigation


Stalk Studio

Demo

Stalk Studio is a highly flexible trace analysis tool for Jaeger and Zipkin.

  • Search & import traces directly from Jaeger and Zipkin services
  • Drag & drop JSON trace files exported from Jaeger and Zipkin
  • Intuitive UI for extracting useful information from complex traces
  • Supports viewing & inspecting multiple traces on the same stage to give you a bigger perspective
  • and more...

Main Features

πŸ“– Tabular Perspective

In addition to the timeline view, Stalk Studio provides table views for spans and logs to pinpoint interesting events quickly.

β€’ Customizable columns: add/remove columns for span tags, process tags, log fields
β€’ Sortable columns: sort spans by total time, self time, operation name, or any visible column
β€’ Filter spans & logs
β€’ Flexible panes: split views can be handy


βš™οΈ High Customizability

Stalk Studio is built for being as flexible as possible to cover your changing needs when analyzing different traces. You can customize the timeline in the following ways:

β€’ Span Grouping: The spans in the same group are drawn vertically together. You may think like horizontal lanes separated from each other. Uninteresting groups can be collapsed to prevent visual clutter.
β€’ Span Coloring: Change timeline span colors by operation name, service name, however you want.
β€’ Draw Layout: Change where spans should be rendered vertically. There are 3 options provided: fill, compact, and waterfall style.
β€’ Span Labelling: Change the text rendered on a span bar, if it has enough width to display.
β€’ Tooltip Contents: Change the contents of the tooltip displayed when you hover a span bar. You can add/remove interested span tags and process tags as your needs.

πŸ‘©β€πŸ’» Built for developers in mind

If the built-in customization options don't fill your needs, you can always write your own custom JavaScript / TypeScript code to do the following:

β€’ Change span grouping
β€’ Change span labeling
β€’ Change span coloring
β€’ Filter spans & logs in table views




πŸ“‘ Live Collector

In addition to its analysis capabilities, Stalk Studio has live collector servers built-in that mimicks Jaeger and Zipkin collector interface. So if you have services that already instrumented with Jaeger and Zipkin, you can quickly capture & inspect low-volume traces just by changing the reporting URL of your instrumentations. It can be useful for debugging and development purposes.

β€’ Jaeger Agent: accepts jaeger.thrift in compact Thrift protocol over UDP.
β€’ Jaeger Collector: accepts jaeger.thrift in binary Thrift protocol over HTTP.
β€’ Zipkin Collector: accepts spans in JSON format over HTTP.

Download

Go to releases page.

Building & Development

Development

You must have node.js >= 12 installed on your machine.

  • Clone the repo
  • Install dependencies: npm i
  • Get started with webpack-dev-server w/ live-reload: npm start

Building

  • Build the project in production mode: npm run build
  • Package the electron project into an executable: npm run package
  • Check out /dist folder for output

Distribution

  • Build the project in production mode: npm run build
  • Make distribution files (*.dmg, *.AppImage, *-setup.exe)
    • Generates distribution files for your platform: npm run distribute
    • Generate distribution files for Windows and Linux in Docker: node ./scripts/electron-build-win-and-linux-on-docker.sh
  • Check out /dist folder for outputs