Commit Graph
63 Commits
Author SHA1 Message Date
68e4e1cc68 Apply suggestions from code review
Co-authored-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-09-09 13:51:27 +02:00
Filip Petkovski 2c249e2a92 Add New Relic as a metrics provider 2020-09-09 12:10:53 +02:00
Samuel Lang ad8233cf46 👷 Add high-level E2E test steps for Skipper
Add e2e-skipper* files for test setup

It does the following things:
* install Skipper ingress with Kustomize
* load Flagger image onto the local cluster
* install Flagger and Prometheus in the flagger-system namespace
2020-08-18 17:02:45 +02:00
Samuel Lang 39e55daa04 📈 Skipper Metrics Observer
Te be able to distinct Skipper routes we need to combine the Canary data to generate the Skipper metric label.

"request-success-rate" and  "request-duration" queries are implemented and tested that provide those obersvations from Skipper metrics

* Takes into account how Skipper renders the paths accordingly and reformats the quieries.
2020-08-17 08:23:38 +02:00
stefanprodan e8ca5f270b Change builtin metrics to work with Istio >= 1.5 2020-06-17 10:13:29 +03:00
mathetake ad73643e4a pkg/metrics/provideres: delete fake value 2020-05-15 19:36:11 +09:00
mathetake 772099f073 pkg/metrics/providers: remove redundant assertion in prometheus test 2020-05-14 17:48:14 +09:00
stefanprodan 854d7665f0 Add AppMesh v1beta2 to factories 2020-05-08 13:15:37 +03:00
stefanprodan 2d1c4a9d84 Use API providers in observer factory 2020-05-06 01:14:41 +03:00
Tariq Ibrahim d41ed43ef9 fix issues reported by the linter 2020-04-17 11:45:44 -07:00
Arnaud Lemaire 4a4f8555df Check prometheus is online with simple query 2020-04-15 10:29:05 +02:00
sayboras c0515fc6ff Upgrade to kube 1.18 2020-04-04 23:46:38 +11:00
mathetake a32bd63eda pkg/metrics/providers/datadog: improve request failure error message 2020-03-08 16:30:50 +09:00
mathetake 64efd56ce9 pkg/metrics/observers: wrap errors 2020-03-08 10:56:35 +09:00
mathetake 2ec24bb17d pkg/metrics/providers: wrap ErrNoValuesFound and modify controller accordingly 2020-03-08 00:17:52 +09:00
mathetake a616199b81 refactor tests: simplify assertion 2020-03-04 21:46:08 +09:00
mathetake ecb8207488 pkg/metrics/provider: fix a type in cloudwatch permission name in comments 2020-03-02 22:26:55 +09:00
mathetake 7b6a5f96a1 pkg/metrics/providers: add region filed for MetricTemplate.Provider
and make Address not required
2020-03-02 21:58:58 +09:00
mathetake 4ff28d7bd5 pkg/metrics/providers: add AWS CloudWatch metrics provider 2020-03-02 21:58:58 +09:00
stefanprodan a30f688450 fmt: fix imports formatting
- run gofmt and goimports
2020-02-28 12:52:23 +02:00
mathetake a157824130 metrics/provider: add datadog metrics provider
implement metrics provider interface for datadog, tested against
the actual datadog account

resolves #284
2020-02-27 17:35:03 +09:00
stefanprodan 8f99e589a6 Add metrics to controller tests
Fix: #387
2020-02-08 19:08:36 +02:00
stefanprodan 448c210324 Release API version v1beta1
- bump Canary and MetricTemplate version to v1beta1
- regenerate clientset and CRD
2020-02-07 12:35:56 +02:00
stefanprodan d7d9d1eabe Migrate the builtin Prometheus checks to metric templates 2020-02-06 15:07:53 +02:00
stefanprodan d154c63ac3 Implement Prometheus provider 2020-02-06 15:07:53 +02:00
stefanprodan c3564176f8 Add unit tests for Contour observer 2019-12-19 12:41:39 +02:00
stefanprodan e922c3e9d9 Add Contour metrics 2019-12-18 19:29:17 +02:00
Yusuke Kuoka 266b957fc6 Fix CrossoverServiceObserver's ID 2019-12-18 22:11:21 +09:00
Yusuke Kuoka 357ef86c8b Differentiate AppMesh observer vs Crossover observer
To not break AppMesh integration.
2019-12-18 22:03:30 +09:00
Yusuke Kuoka d75ade5e8c Fix envoy dashboard, scheduler, and envoy metrics provider to correctly pass canary analysis and show graphs 2019-12-18 10:55:49 +09:00
Yusuke Kuoka bf58cd763f Do use correct envoy metrics for canary analysis 2019-12-18 09:05:37 +09:00
Yusuke Kuoka 6661406b75 Metrics provider for deployments and services behind Envoy
Assumes `envoy:smi` as the mesh provider name as I've successfully tested the progressive delivery for Envoy + Crossover with it.

This enhances Flagger to translate it to the metrics provider name of `envoy` for deployment targets, or `envoy:service` for service targets.

The `envoy` metrics provider is equivalent to `appmesh`, as both relies on the same set of standard metrics exposed by Envoy itself.

The `envoy:service` is almost the same as the `envoy` provider, but removing the condition on pod name, as we only need to filter on the backing service name = envoy_cluster_name. We don't consider other Envoy xDS implementations that uses anything that is different to original servicen ames as `envoy_cluster_name`, for now.

Ref #385
2019-11-30 13:03:01 +09:00
stefanprodan f991274b97 Fix Prometheus query escape
Removing whitespace without trimming spaces
2019-11-03 00:01:32 +02:00
stefanprodan 11d84bf35d Enable kubernetes metric provider 2019-07-30 12:27:53 +03:00
stefanprodan 438f952128 Implement status conditions
Add Promoted status condition with the following reasons: Initialized, Progressing, Succeeded, Failed
Usage: `kubectl wait canary/app --for=condition=promoted`
Fix: #184
2019-07-09 15:22:56 +03:00
stefanprodan ad8d02f701 Use Linkerd metrics when NGINX is the mesh ingress
Set the metrics provider to Linkerd Prometheus when using NGINX as Linkerd Ingress. This mitigates the lack of canary metrics in the NGINX controller exporter.
2019-06-30 13:03:27 +03:00
stefanprodan 00fa5542f7 Add linkerd as mesh provider 2019-06-30 12:46:23 +03:00
stefanprodan d651e8fe48 Fix Linkerd metrics test 2019-06-29 15:23:40 +03:00
stefanprodan e3321118e5 Fix linkerd success rate query 2019-06-29 15:03:36 +03:00
stefanprodan 647d02890f Add HTTP metrics when no mesh provider is specified
Implement request-success-rate and request-duration checks using http_request_duration_seconds histogram
2019-06-19 13:15:17 +03:00
stefanprodan 8c59e9d2b4 Fix metrics URL getter 2019-06-19 10:30:19 +03:00
László Bence Nagy 631d93b8d9 Add ability to set Prometheus url with custom path without trailing '/' 2019-06-04 17:31:27 +02:00
Stefan ProdanandGitHub 7b9df746ad Merge pull request #179 from yuval-k/gloo2
Add support for Gloo
2019-05-17 11:17:27 +03:00
Yuval Kohavi eb0331f2bf fix tests 2019-05-16 12:48:03 -04:00
Yuval Kohavi 6a66a87a44 PR updates 2019-05-16 07:28:22 -04:00
stefanprodan 58bde24ece Fix Istio request duration test 2019-05-15 20:10:27 +03:00
stefanprodan 5b3fd0efca Set Istio request duration to milliseconds 2019-05-15 20:01:27 +03:00
Yuval Kohavi 677b9d9197 gloo metrics 2019-05-14 17:48:13 -04:00
stefanprodan 674c79da94 Fix Linkerd promql queries
- include all inbound traffic stats
2019-05-14 12:14:47 +03:00
stefanprodan ee500d83ac Add Linkerd observer implementation 2019-05-13 17:51:39 +03:00