digma-ai / digma-ui

MIT License
3 stars 1 forks source link

Create a persistent filter by services in the Recent Activity #854

Open shaykeren opened 1 month ago

shaykeren commented 1 month ago

Show only traces with any services selected in the filter if set. It should be persisted when you restart the IDE. If there are no traces, the Filter should say 'All Services' but be disabled (can't be opened).

As a user, I would like to observe traces from specific services (one or more) from the last 24Hr So I can focus traces from a specific service or services

Introducing 2 new API related tasks:

Performance improvements:

2 empty states

  1. no data is found in the last 24hrs will be displayed if no filter applied (user didn't specify services filter) and no data returned from backend

  2. No data found in tha last 24 hr for the selected filter will be displayed if filter applied (at least on service selected) and no data returned from backend

backward compatibility support: This is an option for how can we support backward compatibility and avoid force updates, but with one small issue that we are ok with.

should check the backend version for using the new APIs if backend version is a new one (contains both APIs)

  1. should show the filter option
  2. should use both APIs get recent activity by filter get recently active environments for the green dot indication

if backend version is an old one:

  1. should not show the filter options
  2. should use the old API to get recent activities for selected environment(should not fetch all environments traces)
  3. we probably won't be able to show the green dot (we are ok with it) in that case.

Release note: we should update the version file with the latest backend version, so users will notify about new backend version

Acceptance criteria

recently active indication (green dot)

Having traces from env1 and env2 in the last 10 min As a user I should see the green indication(recently active) on both environments

filter - services available options

Having env1 that produces traces from services s1 and s2 in the last 24 Hr When I click on the services filter under env1 recent activity I should see s1 and s2 options

Having env1 produces traces from services s1 in the last 24 and also has traces from s2 but the last one was 25 Hr ago When I click on the services filter under env1 recent activity I should see s1 service option only

Having env1 that didn't produce any traces in the last 24 Hr and no filter selected I should see that services filter is disabled and "All Services" option is selected

Having services filter with s1 selected S1 didn't produce any traces in the last 24 hours I should see "No data found in tha last 24 hr for the selected filter" empty state and s1 service in filter selected

Having services filter with s1 selected and no traces in the last 24 Hr from s1 (means s1 option will not be returned from backend as an available filter option) When I restart the IDE I should see s1 selected

NOTE: should not unselect user filter selection in any case, it is the user's responsibility to unselect it. It means that the backend can return services filter options: s1, s2 only and the filter will show s1, s2, s3 (selected) because it previously has data and was selected by the user .

Having 2 environments env1 and env2. env 1 filter was set with some service(s) selected. when I move to env2 and back to env1 I should see env1 filter set with my previous selection

Having 2 environments env1 and env2. env1 filter was set with some service(s) selected. env2 filter was not set when restart my IDE I should see env1 filter set with my previous selection (before restarting) I should not see any filter selected for env2

Having env1 environment produces traces from service s1 and s2 in the last 24 Hr, 20 last traces are from s1 the next ones are from s1 When no filter selected I should see last 20 traces from s1 and 5 traces from s2

Having env1 environment produces traces from service s1 and s2 in the last 24 Hr, 20 last traces are from s1 the next ones are from s1 When I select s2 filter I should see s2 services only

Empty states

Having env1 that didn't produce any traces in the last 24 Hr I should see "no data is found in the last 24hrs" empty state

Having filter was set with at least one selected service and no traces returned I should see "No data found in tha last 24 hr for the selected filter" empty state

https://www.figma.com/file/MxA95ZHK5NqGX4ptFQljRJ/⭐-Design-System-3.0?type=design&node-id=6935-104823&mode=design&t=fyFw89iPxZYn3dks-11 - Design mockup