All Projects → ExpediaDotCom → Haystack Ui

ExpediaDotCom / Haystack Ui

Licence: apache-2.0

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Haystack Ui

Zipkin Go Opentracing
OpenTracing Bridge for Zipkin Go
Stars: ✭ 472 (+353.85%)
Mutual labels:  zipkin
Springcloud Learning
Spring Cloud基础教程,持续连载更新中
Stars: ✭ 6,839 (+6475.96%)
Mutual labels:  zipkin
Brave Opentracing
Bridge between OpenTracing and Brave
Stars: ✭ 64 (-38.46%)
Mutual labels:  zipkin
Docker Zipkin
Docker images for OpenZipkin
Stars: ✭ 639 (+514.42%)
Mutual labels:  zipkin
Molten
php probe for zipkin and opentracing
Stars: ✭ 740 (+611.54%)
Mutual labels:  zipkin
Zipkin Armeria Example
Example project that shows how to use armeria and zipkin together
Stars: ✭ 17 (-83.65%)
Mutual labels:  zipkin
Go Microservice Helpers
A collection of handy snippets that simplify creation of GRPC servers and clients
Stars: ✭ 400 (+284.62%)
Mutual labels:  zipkin
Lile
Easily generate gRPC services in Go ⚡️
Stars: ✭ 1,271 (+1122.12%)
Mutual labels:  zipkin
Spring Cloud Netflix Example
spring-cloud-netflix-example is an example for microservices system
Stars: ✭ 760 (+630.77%)
Mutual labels:  zipkin
Bookstoreapp Distributed Application
Ecommerce project is being developed using Spring Boot Microservices and Spring Cloud (Backend) and React (Frontend). Splitting the Ecommerce functionality into various individual microservices so that they can be distributed, scale really well and make use of resources efficiently.
Stars: ✭ 63 (-39.42%)
Mutual labels:  zipkin
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+515.38%)
Mutual labels:  zipkin
Springcloud
基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中
Stars: ✭ 6,997 (+6627.88%)
Mutual labels:  zipkin
Finagle
A fault tolerant, protocol-agnostic RPC system
Stars: ✭ 8,126 (+7713.46%)
Mutual labels:  zipkin
Zipkin Js
Zipkin instrumentation for Node.js and browsers
Stars: ✭ 489 (+370.19%)
Mutual labels:  zipkin
Resty
Super easy REST API framework for Scala
Stars: ✭ 65 (-37.5%)
Mutual labels:  zipkin
Zipkin Go
Zipkin tracer library for go
Stars: ✭ 435 (+318.27%)
Mutual labels:  zipkin
Spring Petclinic Microservices
Distributed version of Spring Petclinic built with Spring Cloud
Stars: ✭ 814 (+682.69%)
Mutual labels:  zipkin
Otter
Support for OpenTracing in Erlang
Stars: ✭ 96 (-7.69%)
Mutual labels:  zipkin
Php Zipkin Demo
Laravel + go-micro + grpc + Zipkin
Stars: ✭ 74 (-28.85%)
Mutual labels:  zipkin
Sttp
The Scala HTTP client you always wanted!
Stars: ✭ 1,078 (+936.54%)
Mutual labels:  zipkin

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
Trace Timeline
Trends
Visualization of vital service and operation trending
Trends
Service Graph
Real time dependency graph with health and connectivity indicators
Service Graph
Alerts and Anomaly Detection
UI for displaying, configuring, and subscribing to alerts
Alerts
Universal Search
Intuitive, sandbox-style searching for accurate results.
Universal Search

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 >= 10.0 and npm >= 6.0 installed.

Clone the repository including recursive submodules:

$ git clone --recurse-submodules https://github.com/ExpediaDotCom/haystack-ui.git
$ cd haystack-ui

If the repository was already cloned, you can initialize and update submodules with git submodule update --init --recursive

Build and Run

This application uses webpack for building + bundling resources. To run in developer mode with client and server side hotloading, use:

$ npm install                # install dependencies
$ npm run start:dev          # start server in dev mode with hotloading

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

For running in production mode, use:

$ npm install                # install dependencies
$ npm run build              # run tests(with coverage), build client side code and emit produciton optimized bundles
$ npm start                  # start node server

Autoformatting in your favorite IDE with Prettier Integration

This projects supports auto-formatting of source code! Simply find your favorite IDE from the list in the following list: https://prettier.io/docs/en/editors.html

For VSCode support, perform the following steps:

  • Launch VS Code Quick Open (Ctrl+P)
  • Paste the following command, and press enter:
ext install esbenp.prettier-vscode

This projects has a pre-configured .vscode/settings.json which enables format on save. Auto-formatting should execute everytime you save a file.

Prettier is also configured to run in a pre-commit hook to make enforcing consistency of source code between developers easy.

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.

  • OS X Users : brew install pkg-config cairo pango libpng jpeg giflib
    • NOTE: If you run into Package libffi was not found in the pkg-config search path. errors while running npm install, you will need to addtionally run the following command: export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/local/opt/libffi/lib/pkgconfig"
  • Others: Refer https://www.npmjs.com/package/canvas#installation

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-Connectors

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-Connectors#using-haystack-ui-as-replacement-for-zipkin-ui

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].