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

feat: Add Rollout replicas metrics (#507) #581

Merged
merged 3 commits into from
Jul 14, 2020
Merged

feat: Add Rollout replicas metrics (#507) #581

merged 3 commits into from
Jul 14, 2020

Conversation

d-kuro
Copy link
Contributor

@d-kuro d-kuro commented Jul 10, 2020

close #507

I've added two controller metrics.

  • rollout_info_replicas_available
  • rollout_info_replicas_unavailable

Rollout is a custom resource and therefore no metrics are provided by kube-state-metrics.
I think the replicas metrics are useful and well used.
I would be happy to provide replicas metrics in the Rollout controller.

@d-kuro d-kuro changed the title feat: Add Rollout replicas metrics (#507) [WIP] feat: Add Rollout replicas metrics (#507) Jul 10, 2020
@d-kuro d-kuro changed the title [WIP] feat: Add Rollout replicas metrics (#507) feat: Add Rollout replicas metrics (#507) Jul 10, 2020
@d-kuro
Copy link
Contributor Author

d-kuro commented Jul 10, 2020

CI fails...
In my local machine, the test has been a success.

make test
./test/kustomize/test.sh
go test -failfast -covermode=count -coverprofile=coverage.out ./...
ok      github.com/argoproj/argo-rollouts/analysis      2.320s  coverage: 82.6% of statements
?       github.com/argoproj/argo-rollouts/cmd/kubectl-argo-rollouts     [no test files]
?       github.com/argoproj/argo-rollouts/cmd/rollouts-controller       [no test files]
?       github.com/argoproj/argo-rollouts/controller    [no test files]
ok      github.com/argoproj/argo-rollouts/controller/metrics    1.061s  coverage: 91.9% of statements
ok      github.com/argoproj/argo-rollouts/experiments   5.348s  coverage: 88.4% of statements
?       github.com/argoproj/argo-rollouts/hack/gen-crd-spec     [no test files]
?       github.com/argoproj/argo-rollouts/hack/gen-plugin-docs  [no test files]
ok      github.com/argoproj/argo-rollouts/ingress       1.731s  coverage: 81.4% of statements
?       github.com/argoproj/argo-rollouts/metricproviders       [no test files]
ok      github.com/argoproj/argo-rollouts/metricproviders/job   1.835s  coverage: 90.7% of statements
ok      github.com/argoproj/argo-rollouts/metricproviders/kayenta       0.422s  coverage: 91.3% of statements
?       github.com/argoproj/argo-rollouts/metricproviders/mocks [no test files]
ok      github.com/argoproj/argo-rollouts/metricproviders/prometheus    0.651s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/metricproviders/wavefront     0.866s  coverage: 91.2% of statements
ok      github.com/argoproj/argo-rollouts/metricproviders/webmetric     0.870s  coverage: 73.6% of statements
?       github.com/argoproj/argo-rollouts/pkg/apis/rollouts     [no test files]
ok      github.com/argoproj/argo-rollouts/pkg/apis/rollouts/v1alpha1    0.655s  coverage: 1.5% of statements
ok      github.com/argoproj/argo-rollouts/pkg/apis/rollouts/validation  1.122s  coverage: 94.9% of statements
?       github.com/argoproj/argo-rollouts/pkg/client/clientset/versioned        [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/clientset/versioned/fake   [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/clientset/versioned/scheme [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/clientset/versioned/typed/rollouts/v1alpha1        [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/clientset/versioned/typed/rollouts/v1alpha1/fake   [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/informers/externalversions [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/informers/externalversions/internalinterfaces      [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/informers/externalversions/rollouts        [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/informers/externalversions/rollouts/v1alpha1       [no test files]
?       github.com/argoproj/argo-rollouts/pkg/client/listers/rollouts/v1alpha1  [no test files]
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd 2.310s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/abort   1.217s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/create  2.741s  coverage: 80.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/get     4.230s  coverage: 77.7% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/list    8.963s  coverage: 92.7% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/pause   3.326s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/promote 3.248s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/restart 3.567s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/retry   3.764s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/set     3.965s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/terminate       3.375s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/cmd/version 3.342s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/info        3.470s  coverage: 81.2% of statements
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/options     3.577s  coverage: 76.6% of statements
?       github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/options/fake        [no test files]
ok      github.com/argoproj/argo-rollouts/pkg/kubectl-argo-rollouts/viewcontroller      5.410s  coverage: 82.9% of statements
?       github.com/argoproj/argo-rollouts/pkg/signals   [no test files]
ok      github.com/argoproj/argo-rollouts/rollout       16.705s coverage: 88.6% of statements
ok      github.com/argoproj/argo-rollouts/rollout/trafficrouting/alb    3.113s  coverage: 97.7% of statements
ok      github.com/argoproj/argo-rollouts/rollout/trafficrouting/istio  3.268s  coverage: 96.5% of statements
ok      github.com/argoproj/argo-rollouts/rollout/trafficrouting/nginx  2.387s  coverage: 89.7% of statements
ok      github.com/argoproj/argo-rollouts/rollout/trafficrouting/smi    2.505s  coverage: 95.2% of statements
ok      github.com/argoproj/argo-rollouts/service       2.593s  coverage: 72.1% of statements
ok      github.com/argoproj/argo-rollouts/utils/analysis        2.573s  coverage: 98.6% of statements
ok      github.com/argoproj/argo-rollouts/utils/annotations     2.730s  coverage: 97.5% of statements
ok      github.com/argoproj/argo-rollouts/utils/conditions      3.047s  coverage: 95.2% of statements
ok      github.com/argoproj/argo-rollouts/utils/controller      9.014s  coverage: 89.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/defaults        2.496s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/diff    2.415s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/evaluate        3.079s  coverage: 97.6% of statements
ok      github.com/argoproj/argo-rollouts/utils/experiment      3.111s  coverage: 97.4% of statements
ok      github.com/argoproj/argo-rollouts/utils/ingress 3.077s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/json    2.998s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/kubeclientmetrics       2.574s  coverage: 91.6% of statements
ok      github.com/argoproj/argo-rollouts/utils/log     2.394s  coverage: 92.3% of statements
ok      github.com/argoproj/argo-rollouts/utils/metric  2.652s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/replicaset      2.478s  coverage: 89.2% of statements
ok      github.com/argoproj/argo-rollouts/utils/service 2.533s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/template        2.613s  coverage: 100.0% of statements
ok      github.com/argoproj/argo-rollouts/utils/unstructured    2.460s  coverage: 100.0% of statements
?       github.com/argoproj/argo-rollouts/utils/version [no test files]

@mclarke47
Copy link
Contributor

CI failure is probably related to #579

Copy link
Member

@dthomson25 dthomson25 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 your contribution!

@dthomson25 dthomson25 merged commit fe4df4c into argoproj:master Jul 14, 2020
@d-kuro d-kuro deleted the feature/add-metrics branch July 14, 2020 16:28
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.

Extend rollout metrics with state metrics
3 participants