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

Expose metrics in hcms and asset store #5085

Closed
derberg opened this issue Jul 30, 2019 · 3 comments
Closed

Expose metrics in hcms and asset store #5085

derberg opened this issue Jul 30, 2019 · 3 comments
Assignees
Labels
area/core-and-supporting Issues or PRs related to core and supporting kind/feature Categorizes issue or PR as related to a new feature.

Comments

@derberg
Copy link

derberg commented Jul 30, 2019

Description

  • expose metrics on /metrics endpoint (so servicemonitor can point to it) in all controllers and services
  • for controllers have standard metrics from kubebuilder + the extra one we need to measure SLO and get alerts
  • for service have standard metrics - if we defined them in Kyma already
  • nice an awesome dashboard, separate for asset store, and separate for hcms
  • document what metrics do we expose (reference docs), and maybe something like this for tracing would make sense (templates are stretched) and just mention we enabled tracing

Stretch:

  • have tracing enabled so I can see time spent on asset between fetching and uploading to minio, to measure which step is a bottleneck in performance. Make sure sampling is set to 100 in performance cluster (check if possible)
  • have sidecars where needed for tracing if needed

Reasons

Have metrics for controllers and services to be able to see how solution behaves and if the load handling matches the defined SLO

@derberg derberg added kind/feature Categorizes issue or PR as related to a new feature. quality/observability area/core-and-supporting Issues or PRs related to core and supporting labels Jul 30, 2019
@derberg derberg added this to the Backlog_Wookiee milestone Jul 30, 2019
@derberg
Copy link
Author

derberg commented Aug 9, 2019

AssetStore

  • asset store controller example scenarios

    • 1/10/30 asset with markdown files (this includes metadata extraction and communication with webhook service that is doing it) with a given size (e.g. 8MB) and defined complexity (e.g. filter out something) is handled below 0.5sec or more if more assets -> this is the only complex scenario we want, do not now try to find as many scenarios as possible, that one is with markdown, one with asset store, one with both
    • 1/10/30 assets with openapi of a given size (e.g. 1MB) is a single-mode without filtering is handled below 0.2sec
  • upload service

    • how many files in what size I can upload in a given time.
  • metadata service

    • test how many markdown files metadata service is able to handle in a given time. Hit API directly bypassing AssetStore

Stretch:

hCMS

  • cms controller
    • I(@derberg) have no idea how should we approach perf testing of k8s controller that creates other k8s resources. Is K8s testing performance of deployment to see how many pods it is able to create?
  • asyncapi service
    • how many asyncapi files the service is able to validate in a given time. Hit API directly bypassing AssetStore
    • how many asyncapi files the service is able to convert in a given time. Hit API directly bypassing AssetStore

Important:

  • Above scenario can bo modified and flow can be reversed so, instead of checking 1 asset, we should check the maximum and provide KPI that says AssetStore handles 1000k assets in 1minute.
  • during performance tests, take a look at a current consumption of the controllers and services and Minio and check if we can lower default requests and limits. If we can lower, then lower please ;)

@mmitoraj mmitoraj modified the milestones: Backlog_Wookiee, Sprint_Wookiee_24 Aug 9, 2019
@mmitoraj mmitoraj modified the milestones: Sprint_Wookiee_24, Sprint_Wookiee_25 Aug 19, 2019
@hudymi hudymi modified the milestones: Sprint_Wookiee_25, Sprint_Wookiee_26 Sep 3, 2019
@derberg derberg modified the milestones: Sprint_Wookiee_26, Sprint_Wookiee_25 Sep 3, 2019
@hudymi
Copy link
Contributor

hudymi commented Sep 10, 2019

I have prepared draft dashboards for Asset Store and hCMS:
dashboards.zip

@mmitoraj mmitoraj modified the milestones: Sprint_Wookiee_26, Sprint_Wookiee_27 Sep 16, 2019
@aerfio aerfio self-assigned this Sep 18, 2019
@aerfio aerfio closed this as completed Sep 30, 2019
@aerfio
Copy link
Contributor

aerfio commented Sep 30, 2019

In followup, see if those metrics could be imported from istio, and not from our custom implemented metrics

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core-and-supporting Issues or PRs related to core and supporting kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

5 participants