Code Monkey home page Code Monkey logo

digma-ui's Introduction

Digma UI

Deployment

Install dependencies:

npm ci

Build package:

npm run build:prod

Build of the package will be in the dist directory

Storybook

npm run storybook

Storybook will start on http://localhost:6006

License

MIT

digma-ui's People

Contributors

asafchen-dig avatar doppleware avatar kshmidt-digma avatar lucean avatar ohrebeniuk avatar oleksandrh avatar opoliarush avatar shaykeren avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

lucean

digma-ui's Issues

Add environment variable for observability status

As it allowed to relaunch the Installation wizard from the plugin, there is a possible scenario when status of the Observability toggle is not synced between the Wizard and the plugin.

To synchronise value of the observability status we can add additional boolean environment variable to the Wizard React app isObservabilityEnabled.

insights view events

Insights:

  1. Errors
  • Links:
    • Error - Open Error details view on click
  • Buttons:
    • Expand - Navigate to the Errors tab on click
  1. Duration
  • Buttons:
    • Histogram
    • Live
    • Compare
  • Menu items:
    • Recalculate
  1. Request Breakdown
  • Menu items:
    • Recalculate
  1. Top Usage
  • Links
    • Span
  • Buttons:
    • Trace
  • Menu items:
    • Recalculate
  1. Duration Breakdown:
  • Links
    • Span
  • Menu items:
    • Recalculate
  1. Suspected N-Plus-1 (Endpoint)
  • Links (?)
    • SQL Query
  • Buttons:
    • Trace
  1. Span Bottleneck
  • Links
    • Span
  1. Bottleneck
  • Links
    • Endpoint
  1. Duration Slowdown Source
  • Links
    • Span
  1. Scaling Issue
  • Links
    • Span
  • Buttons:
    • Trace
    • Histogram
  1. Suspected N-Plus-1 (Span)
  • Links
    • Span
  • Buttons:
    • Trace

Docker empty state

When starting the Docker Extension for the first time, add an empty state:

image.png

Also add a link to the empty state from the normal view:

image.png

We might need to add a story for the backend to know whether a plugin has ever connected to it, to know whether to show the plugin message

Add installation Wizard first page

Implement first time installation Wizard first page (backend install and wait for install) #369
https://www.figma.com/file/MTZJH09SSbyJjrKkbXcd3L/UX---shared?node-id=154%3A19759&t=VbH4yyOfhQ8P0J7v-1

This first page will present the user with instructions on how to install Digma.
Optionally, it will include a button with a link to install Digma via an extension.

The view will wait for Digma to become available and then allow the user to proceed to the next screen.

If the user skips/close the idea, there is no way to go back.
We will add a link in the 'No Connection' widget of Digma to go back to this page.

Assets page - sort functionality

Allow sorting (client side) of the data by performance / name / number of critical insights (2 and below)
With the labels: "Performance, Name, Critical Insights".

image.png

should work on Docker as well

get assets is being called every ~100ms-~200ms

STR

  1. Having multiple environments
  2. When changing multiple times between environments
  3. observe get assets API is being called every 100-200 ms

connect the plugin to meloona in order to reproduce it

Update installation step of Wizard

Let's do two things:

  1. Add a tab for "I don't have docker"
  2. Make sure we raise an analytics event when you click that tab and include the name of the tab in the event details
  3. The tab content text should be: "We'll be adding more options soon but please reach out via Slack (with link) and we'll see if we can still get your Digma up and running - add analytics for the link
  4. In addition, lets add a link to the Slack at the bottom of the page with the title "Having trouble? Please reach out in our Slack group"

Add anlytics for onboarding wizard

We want to know:

  1. If the users clicked the 'Digma Docker' button
  2. If the users passed the first page
  3. If the user automatically passed the first page because the server was already up
  4. If the users clicked the 'observabiliy button' in the wizard (new design)

Basic functionality - assets page

  1. Show a list of the groups (classifications) of different assets with count
  2. Drilldown into an individual asset group. For now, use server-side data only (don't use client discovered assets).
    Don't implement the filter yet - that will come later. Implement sort by: performance, latest
  3. Each asset should have a link to its code object page (that also opens that code location, for now).

https://www.figma.com/proto/MTZJH09SSbyJjrKkbXcd3L/UX---shared?node-id=375%3A103505&scaling=min-zoom&page-id=180%3A29370&starting-point-node-id=375%3A99851

Automatic Start of Digma Backend Using Docker

[Update: Please see the following Figma: https://www.figma.com/file/knBV9hsfk9Au7mDQdFAFea/READY-TO-DEV?type=design&node-id=3226%3A481312&mode=design&t=dXP4wYesk0uKHX6L-1]

As a part of the setup wizard, check if Docker and Docker Compose (via docker_compose or Docker compose ) are installed locally and try to do an automatic installation if that is the case.

image.pngimage.png

  1. This should run the Docker Compose file locally
  2. Include complete analytics about issues, what strategy was used etc.
  3. Add an env variable for deployment type to ensure we know this is autoinstalled

If it is not possible to install automatically we should fallback to the current screens for manual installation

image.png

Otherwise, indicate success and move to the next stage:
image.png

Develop a react app for showing live duration for a specific span/endpoint

The graph should receive the last 100 samples from the backend as well as the latest P50 and P95 and Duration Changes if they exist.

The graph should render the samples (stretching the time and duration axises based on the same values)
The graph should have horizontal lines for the median and P95
The graph should have an indication status message for detected changes

image.png

Add tracking events

  1. Move between tabs between 'Docker extension' and 'Docker compose' in the wizard
  2. Opening the observability panel
  3. Fix 'Docker Extension Install' button click event

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.