GithubHelp home page GithubHelp logo

kryndex / haystack-ui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from expediadotcom/haystack-ui

0.0 2.0 0.0 1.82 MB

License: Apache License 2.0

Makefile 0.10% Shell 0.30% JavaScript 87.28% HTML 0.24% CSS 12.07%

haystack-ui's Introduction

Build Status Coverage Status

haystack-ui

Haystack-ui is the web UI for haystack. It is the central place for visualizing processed data from various haystack sub-systems. Visualization tools in haystack-ui include -

  • Traces - Distributed tracing visualization for easy root cause analysis
  • Trends - Trends visualizing for vital service trends
  • Service Dependency [coming soon] - Real time dependency graph with health and connectivity indicators
  • Alerts and Anomaly detection [coming soon] - UI for configuring and subscribing alerts

Haystack-ui's navigation is pivoted around services. On selecting a service, you will get various visualizations tools each corresponding to a haystack sub-systems.

Development

It is a expressjs based single page client side app written in ES6 + React and using Mobx for data flow.

Pre-requisites

Ensure you have node >= 8.6 and npm >= 5.3 installed.

Build and Run

This application uses webpack as the UI module bundler. To build + bundle all the required UI assets (CSS/JS) and run expressjs server, use:

$ npm install                # install dependencies
$ npm run start:dev          # start server in hot-reload server side 

Once start is successful you can visit http://localhost:8080/

To continuously re-build the assets while you are developing, use this command in a separate terminal:

$ npm run watch

Testing

Haystack-ui utilizes Mocha as it's testing framework, with Chai as the assertation library, Enzyme for utility, and JSDOM as a headless browser for rendering React components. ESLint is used as a linter and insurance of code quality.

To run the test suite, enter the command npm test.

To check code coverage, run npm run coverage and open the generated index.html in the created coverage folder

Note- You may have to install Cairo dependencies separately for tests to work.

Docker

We have provided make commands to facilitate building. For creating docker image use -

$ make all 

Configuration

Haystack UI can be configured to use one or more stores, each providing user interface for one subsystem in Haystack. Based on what subsystems you have available in your haystack cluster, you can configure corresponding stores and UI will adapt to show interfaces only for the configured subsystems. For more details on this refer - https://github.com/ExpediaDotCom/haystack-ui/wiki/Configuring-Subsystem-Stores

Haystack-ui as drop-in replacement for Zipkin UI

If you have an existing zipkin cluster you can use haystack UI as a drop-in replacement for zipkin's UI. For more details on this refer - https://github.com/ExpediaDotCom/haystack-ui/wiki/Configuring-Subsystem-Stores#zipkin-store

haystack-ui's People

Contributors

vsen avatar absrivastava avatar ashishagg avatar ayansen avatar shreyaa-sharma avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.