Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Staleness] API and Component Functionality #6108

Merged
merged 62 commits into from
Jan 23, 2023
Merged

[Staleness] API and Component Functionality #6108

merged 62 commits into from
Jan 23, 2023

Conversation

jvigliotta
Copy link
Contributor

@jvigliotta jvigliotta commented Jan 10, 2023

Closes #6109

Describe your changes:

Added a Staleness functionality to the Telemetry API. Added staleness functionality/visibility to the following components and sections of Open MCT:

  • LAD Tables
  • LAD Table Sets
  • Telemetry Tables
  • Plots
  • Stacked Plots
  • Overlay Plots
  • Condition Sets
  • Gauges
  • AlphaNumeric views in Displays
  • Object Views

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Is this change backwards compatible? For example, developers won't need to change how they are calling the API or how they've extended core plugins such as Tables or Plots.

Author Checklist

  • Changes address original issue?
  • Tests included and/or updated with changes?
  • Command line build passes?
  • Has this been smoke tested?
  • Testing instructions included in associated issue OR is this a dependency/testcase change?

Reviewer Checklist

  • Changes appear to address issue?
  • Reviewer has tested changes by following the provided instructions?
  • Changes appear not to be breaking changes?
  • Appropriate automated tests included?
  • Code style and in-line documentation are appropriate?
  • Has associated issue been labelled unverified? (only applicable if this PR closes the issue)
  • Has associated issue been labelled bug? (only applicable if this PR is for a bug fix)

@codecov
Copy link

codecov bot commented Jan 10, 2023

Codecov Report

Merging #6108 (a991224) into master (1b71a3b) will decrease coverage by 0.14%.
The diff coverage is 53.77%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #6108      +/-   ##
==========================================
- Coverage   54.87%   54.74%   -0.14%     
==========================================
  Files         604      607       +3     
  Lines       25268    25917     +649     
  Branches     2303     2343      +40     
==========================================
+ Hits        13865    14187     +322     
- Misses      10754    11071     +317     
- Partials      649      659      +10     
Flag Coverage Δ *Carryforward flag
e2e-ci 39.49% <28.14%> (ø) Carriedforward from 1ebc15e
e2e-full 51.23% <42.10%> (ø) Carriedforward from 1ebc15e
e2e-stable 53.50% <58.60%> (+0.13%) ⬆️
unit 49.26% <35.44%> (-0.28%) ⬇️

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
...ugins/condition/components/ConditionCollection.vue 0.00% <0.00%> (ø)
src/plugins/condition/components/ConditionSet.vue 0.00% <0.00%> (ø)
src/plugins/condition/components/Criterion.vue 0.00% <0.00%> (ø)
...plugins/displayLayout/components/TelemetryView.vue 2.60% <0.00%> (-0.15%) ⬇️
src/plugins/LADTable/components/LADTable.vue 42.59% <26.66%> (-16.67%) ⬇️
src/plugins/plot/Plot.vue 35.84% <27.50%> (-25.69%) ⬇️
.../plugins/condition/criterion/TelemetryCriterion.js 44.81% <28.57%> (-6.85%) ⬇️
src/plugins/LADTable/components/LadTableSet.vue 49.41% <29.03%> (-10.59%) ⬇️
...ugins/condition/criterion/AllTelemetryCriterion.js 31.13% <29.09%> (-23.22%) ⬇️
src/plugins/telemetryTable/components/table.vue 41.19% <35.71%> (-0.22%) ⬇️
... and 33 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b71a3b...a991224. Read the comment docs.

@jvigliotta jvigliotta marked this pull request as ready for review January 11, 2023 01:06
Copy link
Contributor

@akhenry akhenry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks awesome. One code change request. Let me know how much work it is and we can discuss options.

src/api/telemetry/TelemetryAPI.js Outdated Show resolved Hide resolved
src/api/telemetry/TelemetryAPI.js Outdated Show resolved Hide resolved
src/api/telemetry/TelemetryAPI.js Outdated Show resolved Hide resolved
src/api/telemetry/TelemetryAPI.js Outdated Show resolved Hide resolved
* new StalenessProvider implementations should be
* [registered]{@link module:openmct.TelemetryAPI#addProvider}.
*
* @interface StalenessProvider
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should define the functions of a staleness provider here, no?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

K! let me know if looks ok.

Copy link
Contributor

@shefalijoshi shefalijoshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for making the changes.

@akhenry
Copy link
Contributor

akhenry commented Jan 20, 2023

In initial testing I am seeing an issue when establishing initial staleness -

  1. Navigate to a display layout containing multiple different telemetry visualizations
  2. Wait for them to go stale. So far so good, staleness is being indicated as expected
    Screen Shot 2023-01-20 at 2 33 52 PM
  3. Quickly navigate away and back again while still stale
    Screen Shot 2023-01-20 at 2 34 32 PM
  4. Observe that only the alphanumeric display is in a stale state.

@akhenry
Copy link
Contributor

akhenry commented Jan 20, 2023

I've a strong suspicion that the missing telemetry is explained by akhenry/openmct-yamcs#271 however isStale() is designed to handle this exact scenario so we should be showing staleness, if not telemetry :)

@jvigliotta jvigliotta enabled auto-merge (squash) January 23, 2023 17:59
@jvigliotta jvigliotta merged commit 8847c86 into master Jan 23, 2023
@shefalijoshi shefalijoshi deleted the staleness branch January 23, 2023 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Staleness] Functionality in telemetry component views and API
7 participants