Test-infra: 馃敪 on Spyglass: A tracking issue

Created on 13 Sep 2018  路  15Comments  路  Source: kubernetes/test-infra

This issue is meant to track the progress of the Deck component Spyglass from its current state as a functional-but-rough system to a production-ready feature in Prow. This issue will be considered closed when Spyglass is ready to replace the current job-viewing framework Gubernator.

Checked boxes (or their parent) have a linked PR which resolves the feature/bug. Unchecked boxes have a linked issue, an in-progress PR, or no link, in which case feel free to create one and link it below 馃檪

Features:

  • [ ] API

    • [x] Consume and parse storage location and job information #8921

    • [x] GCS

    • [x] Pod Logs

    • [x] fetch pod logs and gcs artifacts in parallel

    • [x] Request artifacts from storage source

    • [x] Public Buckets (unauthenticated) #8921

    • [x] Private Buckets (authenticated)

    • [ ] Allow viewers to be registered

    • [x] In deck binary #8921

    • [ ] As external deployments

    • [x] Use RWMutex to improve thread-safe performance #9019

    • [x] Lens API Improvements #10208

    • [x] Allow Lens-specific JavaScript

    • [x] Prevent overlapping JS namespaces between spyglass and Lenses

    • [x] Standardize 'Lens' over 'viewer'

    • [x] Clearly define Lens API

    • [x] Mux artifacts to corresponding viewers #8921

    • [x] Read from artifacts #8921

    • [x] Generate and return view

    • [x] with HTML #8921

    • [x] with Javascript #8967

  • [ ] Deployment

    • [ ] Config
    • [x] Viewers and artifact matches #8922
    • [ ] External deployment viewers
    • [x] File size limits #8922
    • [ ] Viewer-specific config files
    • [ ] Metrics
    • [ ] Main Page load time #8922
    • [ ] Per-viewer load time #8922
    • [ ] Time to retrieve artifacts #8922
    • [ ] Measure of "ease to find needed information"? Time spent on page?
    • [ ] Velodrome/Prometheus #8956
    • [x] Run locally #9473
  • [x] UI

    • [x] Deck
    • [x] Allow Spyglass to be reached from Deck #9368
    • [x] Replace Gubernator link with Spyglass link
    • [ ] Replace pod logs link with Spyglass link
    • [x] Spyglass main page
    • [x] Show prow header and nav bar #8922
    • [x] Display views on page #8922

      • [x] In the proper order

      • [x] With titles

    • [x] Load views async #8922
    • [x] Link to pod logs (if any)
    • [x] Handle pod logs unavailable #9390
  • [ ] Tests

    • [ ] More please #9020
  • [ ] Viewers

    • [ ] Build Log
    • [x] Display logs #8922

      • [x] Last N lines

      • [x] Head N bytes

      • [x] Support compressed logs

      • [x] Request more

      • [x] Request all

    • [x] Log highlighting #9457
    • [ ] Tests for viewer
    • [ ] Errors should be reported to user #9482
    • [ ] JUnit
    • [x] Display tests #8922

      • [x] Sections collapsible

      • [x] Links for each test

      • [x] Names for each test

      • [x] "Copy to clipboard" for failed tests

    • [x] Performance (parallel JUnit processing?)
    • [ ] Tests for viewer
    • [ ] Metadata
    • [x] Display metadata in table #8922
    • [ ] Links to commits
    • [ ] Links to referencing PRs
    • [ ] Tests for viewer
    • [x] Time should be converted to user time zone #10531
    • [ ] File Tree
    • [ ] Display tree view of job artifacts

      • [ ] Collapsible

      • [ ] Looks nice

      • [ ] Links to files in storage

      • [ ] Identify files that are Prow-related(?)

    • [ ] Tests for viewer
  • [x] Bugs:

    • [x] Spyglass does not correctly handle trailing slash in URL #9312
    • [x] JUnit Viewer stretches too wide on skipped test section #8970
    • [x] Spyglass links should not rely on Gubernator link template #8831

/kind tracking
/area prow/spyglass
/assign
/cc @krzyzacy @BenTheElder @stevekuznetsov @ibzib @cjwagner @fejta

areprodeck areprospyglass kindesign kinfeature lifecyclrotten

Most helpful comment

@stevekuznetsov: dog image

In response to this:

Amazing, this deserves a
/woof

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

All 15 comments

thanks @paulangton !

Amazing, this deserves a
/woof

@stevekuznetsov: dog image

In response to this:

Amazing, this deserves a
/woof

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

10/10 woof, 10/10 issue. would check test-infra notifications again.

/woof
/milestone v1.13

@spiffxp: dog image

In response to this:

/woof
/milestone v1.13

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/milestone 2019-goals

I feel like we're still working to migrate pieces of gubernator functionality to spyglass, but it seems like there was very little linked against this during the v1.13 cycle. Does this issue need a refresh? Is there anything spyglass related that we plan on accomplishing during v1.14?

Definite agree. There hasnt been a ton of linking done. I did a once-over to add Katharine's major spyglass contributions as well as update the list with a few tasks/bugs that were completed/fixed but not checked off.

From my perspective Spyglass should have a couple goals for v1.14. First and foremost is feature parity with gubernator (we are getting close on this one!) Second, battle-testing. The more issues we fix like #10640, #9312, etc. the better. The file tree viewer would be really nice to have along with the various performance improvements (e.g. #9019 and parallel fetching) but I wouldn't put those at priority 1 for the next cycle.

Is there any perf measurement today of general spyglass page / data load times relative to equivalent in gubernator?

@tpepper there isn't, it would be a little apples to oranges though because the functionality is not 1:1 nor is the amount of resources available to them (and we could increase it for either).
Edit: to elaborate a bit gubernator also runs on Google App Engine while spyglass is built into Prow and runs on Kubernetes.

Gubernator also relies on some things we pretty much consider legacy like incremental build IDs.

We also know for a fact it can be made faster with a more efficient / less featureful GCS library but punted that for now to use an upstream one :wink:

/assign @Katharine
having done the spyglass->gubernator migration recently I feel like this is on your plate

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Was this page helpful?
0 / 5 - 0 ratings