Commit Graph

32 Commits

Author SHA1 Message Date
Pranshu Srivastava e178d8e582
enhancement: add `pathType` to `ingress_path`
This avoids duplicate metrics (and thus, `PrometheusDuplicateTimestamps`) for schemas such as:
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx-example
  rules:
  - http:
      paths:
      - backend:
          service:
            name: cart
            port:
              number: 3000
        path: /nvc/cart
        pathType: Prefix
      - backend:
          service:
            name: cart
            port:
              number: 3000
        path: /nvc/cart
        pathType: Exact
```

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
2025-05-12 15:34:00 +05:30
Manuel Rüger 0c029b690e chore: Migrate to golangci-lint v2 2025-03-31 14:52:47 +02:00
rohitphatak 5c71459a61
feat(ingress): resource backend support added (#2109)
* feat(ingress): resource backend support added

* feat(ingress): updated test case

* Update internal/store/ingress.go

Co-authored-by: Damien Grisonnet <damien.grisonnet@epita.fr>

* feat(ingress): updated doc & test cases

---------

Co-authored-by: Damien Grisonnet <damien.grisonnet@epita.fr>
2023-10-11 16:25:07 +02:00
Manuel Rüger 6071db7f49 build: Fix lint 2023-08-25 12:50:58 +02:00
opeco17 6de105ebbe feat: disable labels and annotations metrics when metric-annotations-allowlist and metric-labels-allowlist are not provided 2023-08-14 14:38:23 +00:00
Catherine Fang 4342ca7b97 Migrate all NewFamilyGenerator to NewFamilyGeneratorWithStability 2023-02-05 22:02:47 -05:00
Catherine Fang 5995c1e2cf Add all stable metrics 2022-10-14 08:25:39 -04:00
evir35 7f453f0569
Fix none to blank string 2022-09-23 21:38:00 +09:00
evir35 242cea3ecc
Fix return blank string when Service is nil 2022-09-23 19:35:50 +09:00
evir35 d7a079e361
Do not expose ingress path metric when service is nil 2022-09-23 01:46:35 +09:00
Sherif Abdel-Naby e205fee343
Extract mergeKeyValue logic into a central function 2022-02-10 04:12:35 +02:00
Sherif Abdel-Naby 3a600f56c7
Optimize Slice Allocations 2022-02-05 18:53:35 +02:00
Adam Malcontenti-Wilson 8608588043 Add ingressclass to kube_ingress_info metric 2021-12-16 10:59:23 +11:00
Min Wang 1b2c05c6c9 Add fieldSelector in listWatchFunc 2021-10-04 18:54:51 -07:00
Gabi Davar 6512e2ce27
fixed four resources with copy/paste issues
Signed-off-by: Gabi Davar <grizzly.nyo@gmail.com>
2021-09-20 18:18:33 +03:00
Sylvain Rabot 0e045365f4
Factorize some code
Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr>
2021-07-13 11:51:39 +02:00
Sylvain Rabot 65bc62af5c
Add kube_*_annotations metrics
Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr>
2021-04-29 16:04:16 +02:00
Lili Cosic 0b76e7d4f4 internal/store: Rework label allow list for label metrics 2020-11-20 15:31:35 +01:00
Lili Cosic 9c1d4ace30 internal/store/ingress: Migrate to k8s.io/api/networking/v1 API 2020-10-13 10:19:11 +02:00
Quentin Bisson 7250bc2b5c
Update go module path to k8s.io/kube-state-metrics/v2
Signed-off-by: Quentin Bisson <quentin@giantswarm.io>
2020-09-21 10:58:08 +02:00
Yuiko Mori 49197428ce Add DeprecatedVersion to struct FamilyGenerator 2020-08-06 10:31:29 +00:00
Prabhakar Mishra 0ff5482079 update client-go, k/api, k/apimachinery to v1.18.6 and vertical-pod-autoscaler to commit b7922d74509c
use clientgofix library

add context parameter in verticalpodautoscaler

rename PodDisruptionsAllowed to DisruptionsAllowed because of PR 85863 in k8s repo

lint fixes and rename PodDisruptionsAllowed to DisruptionsAllowed in test file

run go mod tidy
2020-07-30 01:54:34 +02:00
Kubernetes Prow Robot 73d55ba141
Merge pull request #989 from clamoriniere/feature/customBuilder
Add the possibility to provide “custom” metric-store to the builder
2020-01-09 03:47:45 -08:00
Lili Cosic 087c381d5f internal/store/*: Move resource version to value from label
The resource version metrics expose the resource version as a string in the label.
This value can change often and would therefore create huge cardinality.

This changes is to be the number value of the metric itself instead.
2019-12-20 15:55:30 +01:00
cedric lamoriniere 72ad3cb412 Remove FamilyByteSlicer interface
- To allow other external Stores, remove the `FamilyByteSlicer` interface
  and give access directly to `metric.Family`.
- Move functions present in `pkg/metric/generator.go` to a dedicated package
  `generator` in `pkg/metric_generator/generator.go`.

Signed-off-by: cedric lamoriniere <cedric.lamoriniere@datadoghq.com>
2019-12-13 10:50:19 +01:00
Ben Wells 816b5b3fec Enable unconvert linter 2019-10-04 21:39:21 +01:00
Tariq Ibrahim 9799ac0e61
Merge release-1.7 into upstream/master 2019-08-05 10:46:00 -07:00
Ergin Babani 5149453fe2 Add metrics for tls host and secretname 2019-07-21 17:57:29 -04:00
Ergin Babani 4d0d77244a Fix crash due to missing ingress http block
It's acceptable although uncommon for an ingress to have a rule and a host,
but no HTTP block for that particular rule.
2019-07-18 17:17:01 -04:00
Tariq Ibrahim 5c5a8932ab
rename kubeAnnotationsToPrometheusAnnotations to kubeAnnotationsToPrometheusLabels 2019-06-28 00:15:57 -07:00
Andrey Sidorov 5ae00bb93f add kube_*_annotations metrics for all objects 2019-06-25 22:29:27 +03:00
Lili Cosic 68aea02d26 Makefile,internal/collector: Rename collector -> store
Since the removal of collector, this introduces both the concept of the
store and the resources instead of collectors that the user passes in.

The user facing logs and flags were not changed as that would be a
regression.
2019-06-11 16:18:53 +02:00