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:
commit
3d55a9b806
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue