Merge pull request #60536 from immutableT/transformer_metrics

Automatic merge from submit-queue (batch tested with PRs 62748, 60536, 62300, 62661, 62731). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Instrument transformer.go with latency metrics.

**What this PR does / why we need it**:
Instrument transformer.go with latency metrics - allowing to measure performance impact of adding KMS Providers.
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
"NONE"
```

Kubernetes-commit: 42f6687a1cb258e07429213e4ffd56f81b8cd237
This commit is contained in:
Kubernetes Publisher 2018-04-17 19:53:15 -07:00
commit 3d55a9b806
3 changed files with 212 additions and 148 deletions

296
Godeps/Godeps.json generated
View File

@ -1148,595 +1148,595 @@
},
{
"ImportPath": "k8s.io/client-go/discovery",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/discovery/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/apps",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/apps/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/autoscaling",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/batch/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/certificates",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/core",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/core/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/events",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/events/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/extensions",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/internalinterfaces",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/networking",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/networking/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/policy",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/rbac",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/rbac/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/scheduling",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/settings",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/storage",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/storage/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/apps/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/core/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/events/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/networking/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/rbac/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/storage/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/pkg/version",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/rest",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/rest/watch",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/testing",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/auth",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/cache",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/metrics",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/pager",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/tools/reference",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/transport",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/util/buffer",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/util/cert",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/util/flowcontrol",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/util/homedir",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/util/integer",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/client-go/util/retry",
"Rev": "11179e1670c367e523060709f0b35a878fa9de9a"
"Rev": "c75e967654de13a2ec104f384a7eaa9cd910cac4"
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/builder",

View File

@ -0,0 +1,57 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package value
import (
"sync"
"time"
"github.com/prometheus/client_golang/prometheus"
)
var (
transformerLatencies = prometheus.NewHistogramVec(
prometheus.HistogramOpts{
Namespace: "apiserver",
Subsystem: "storage",
Name: "transformation_latencies_microseconds",
Help: "Latencies in microseconds of value transformation operations.",
// In-process transformations (ex. AES CBC) complete on the order of 20 microseconds. However, when
// external KMS is involved latencies may climb into milliseconds.
Buckets: prometheus.ExponentialBuckets(5, 2, 14),
},
[]string{"transformation_type"},
)
)
var registerMetrics sync.Once
func RegisterMetrics() {
registerMetrics.Do(func() {
prometheus.MustRegister(transformerLatencies)
})
}
func RecordTransformation(transformationType string, start time.Time) {
since := sinceInMicroseconds(start)
transformerLatencies.WithLabelValues(transformationType).Observe(float64(since))
}
func sinceInMicroseconds(start time.Time) int64 {
elapsedNanoseconds := time.Since(start).Nanoseconds()
return elapsedNanoseconds / int64(time.Microsecond)
}

View File

@ -21,8 +21,13 @@ import (
"bytes"
"fmt"
"sync"
"time"
)
func init() {
RegisterMetrics()
}
// Context is additional information that a storage transformation may need to verify the data at rest.
type Context interface {
// AuthenticatedData should return an array of bytes that describes the current value. If the value changes,
@ -80,12 +85,14 @@ func (t *MutableTransformer) Set(transformer Transformer) {
}
func (t *MutableTransformer) TransformFromStorage(data []byte, context Context) (out []byte, stale bool, err error) {
defer RecordTransformation("from_storage", time.Now())
t.lock.RLock()
transformer := t.transformer
t.lock.RUnlock()
return transformer.TransformFromStorage(data, context)
}
func (t *MutableTransformer) TransformToStorage(data []byte, context Context) (out []byte, err error) {
defer RecordTransformation("to_storage", time.Now())
t.lock.RLock()
transformer := t.transformer
t.lock.RUnlock()