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

Grafana dashboard for Iter8 experiments #1540

Closed
22 of 25 tasks
Alan-Cha opened this issue Jul 12, 2023 · 4 comments
Closed
22 of 25 tasks

Grafana dashboard for Iter8 experiments #1540

Alan-Cha opened this issue Jul 12, 2023 · 4 comments
Assignees
Labels

Comments

@Alan-Cha Alan-Cha added the epic label Jul 12, 2023
@Alan-Cha Alan-Cha self-assigned this Jul 12, 2023
@kalantar
Copy link
Member

kalantar commented Jul 13, 2023

Initial list of more specific items that need to be addressed:

  • Design http performance test dashboard for Grafana
  • Design grpc performance test dashboard for Grafana
  • Metrics service API to retrieve http/grpc data for Grafana
  • Storage client design to store http/grpc data
    • namespace-group::helm-revision::loop :: endpoint —> fortio (http)
    • namespace-group::helm-revision::loop :: endpoint —> ghz (grpc)
    • namespace-name::endpoint
  • Update http task to write fortio results to storage client
    • Question: via metrics service? (ABn writes directly to storage client)
    • Question: implement via Driver implementation for this?
    • Question: modify ExperimentSpec.Insights or just write directly (delete Insights). MODIFY to have fortio/ghz sections (delete other sections)
  • Update grpc task to write ghz results to storage client
    • Questions: same as for http task
  • Other information in ExperimentResults (also store in metrics store)? YES -- all result
  • Question: Move experiment spec to storage client ? NO
  • Or have spec in Kubernetes (secret) and result in storage client. YES. Mount secret in job. Read it (file driver).
  • delete cronjob
  • Remove assess task
  • Remove html/text reporters
  • Remove iter8 k report command
  • Remove iter8 k assess command
  • Keeping: tasks -- http, grpc, readiness, notify; remove custommetrics, assess, abnmetrics
  • keeping: cmd -- launch, run delete, controllers; remove report, assess, abn, log
  • even more radical, remove lauch, delete (use helm). keep run, controllers; iter8 becomes "internal" only
  • documentation changes
    • remove custommetrics, looped experiments, cronjob, slos, rewards, install, autox etc.
  • consider renaming group to name
  • remove autox

Implementation Steps:

  • write user story / tutorial behavior
  • dashboards
  • storage design
  • metrics http PUT
  • metrics http fortio GET
  • metrics grpc ghz GET
  • metric serivce driver implementation
  • experiment spec/results changes
  • remove unused pieces

@kalantar
Copy link
Member

User Story

  1. User runs experiment namespace/name
    • helm install (or helm update) creates (updates) experiment spec
    • experiment spec (secret) is mounted to a job that runs iter8 k run
    • job reads spec using file driver from mounted secret
    • tasks run fortio/ghz and results are written to experiment result (Insight)
    • job PUTs experiment result to metrics service
    • metrics serice writes it to the storage client
  2. (assume user has Grafana) User opens appropriate Grafana dashboard (http/grpc) specifying experiment name
    • if necessary user will need to define data source(s)
    • if necessary user will need to import dashboard definition
  3. User inspects experiment result

@kalantar
Copy link
Member

kalantar commented Aug 7, 2023

@Alan-Cha I think the last three items you've listed as "optional" are really required. We need to decide on strategy and implement.

@kalantar
Copy link
Member

released in v0.16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants