replace k8s.io/apiserver/pkg/util/trace with k8s.io/utils/trace
Kubernetes-commit: 93b086f6eafc1e94214fc1d946a1917482751cf3
This commit is contained in:
		
							parent
							
								
									466e022ca6
								
							
						
					
					
						commit
						2b43930b32
					
				|  | @ -36,7 +36,7 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	"k8s.io/apiserver/pkg/util/dryrun" | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| func createHandler(r rest.NamedCreater, scope RequestScope, admit admission.Interface, includeName bool) http.HandlerFunc { | ||||
|  |  | |||
|  | @ -35,7 +35,7 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	"k8s.io/apiserver/pkg/util/dryrun" | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // DeleteResource returns a function that will handle a resource deletion
 | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/endpoints/metrics" | ||||
| 	"k8s.io/apiserver/pkg/endpoints/request" | ||||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // getterFunc performs a get request with the given context and object name. The request
 | ||||
|  |  | |||
|  | @ -44,7 +44,7 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	"k8s.io/apiserver/pkg/util/dryrun" | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // PatchResource returns a function that will handle a resource patch.
 | ||||
|  |  | |||
|  | @ -41,8 +41,8 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/endpoints/metrics" | ||||
| 	"k8s.io/apiserver/pkg/endpoints/request" | ||||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	openapiproto "k8s.io/kube-openapi/pkg/util/proto" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // RequestScope encapsulates common fields across all RESTful handler methods.
 | ||||
|  |  | |||
|  | @ -43,7 +43,7 @@ import ( | |||
| 	examplev1 "k8s.io/apiserver/pkg/apis/example/v1" | ||||
| 	"k8s.io/apiserver/pkg/endpoints/request" | ||||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
|  |  | |||
|  | @ -38,7 +38,7 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/registry/rest" | ||||
| 	"k8s.io/apiserver/pkg/util/dryrun" | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // UpdateResource returns a function that will handle a resource update
 | ||||
|  |  | |||
|  | @ -39,8 +39,8 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/features" | ||||
| 	"k8s.io/apiserver/pkg/storage" | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	"k8s.io/client-go/tools/cache" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // Config contains the configuration for a given Cache.
 | ||||
|  |  | |||
|  | @ -29,8 +29,8 @@ import ( | |||
| 	"k8s.io/apimachinery/pkg/util/clock" | ||||
| 	"k8s.io/apimachinery/pkg/watch" | ||||
| 	"k8s.io/apiserver/pkg/storage" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	"k8s.io/client-go/tools/cache" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ import ( | |||
| 	"k8s.io/apiserver/pkg/storage" | ||||
| 	"k8s.io/apiserver/pkg/storage/etcd" | ||||
| 	"k8s.io/apiserver/pkg/storage/value" | ||||
| 	utiltrace "k8s.io/apiserver/pkg/util/trace" | ||||
| 	utiltrace "k8s.io/utils/trace" | ||||
| ) | ||||
| 
 | ||||
| // authenticatedDataString satisfies the value.Context interface. It uses the key to
 | ||||
|  |  | |||
|  | @ -1,89 +0,0 @@ | |||
| /* | ||||
| Copyright 2015 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 trace | ||||
| 
 | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"math/rand" | ||||
| 	"time" | ||||
| 
 | ||||
| 	"k8s.io/klog" | ||||
| ) | ||||
| 
 | ||||
| type traceStep struct { | ||||
| 	stepTime time.Time | ||||
| 	msg      string | ||||
| } | ||||
| 
 | ||||
| type Trace struct { | ||||
| 	name      string | ||||
| 	startTime time.Time | ||||
| 	steps     []traceStep | ||||
| } | ||||
| 
 | ||||
| func New(name string) *Trace { | ||||
| 	return &Trace{name, time.Now(), nil} | ||||
| } | ||||
| 
 | ||||
| func (t *Trace) Step(msg string) { | ||||
| 	if t.steps == nil { | ||||
| 		// traces almost always have less than 6 steps, do this to avoid more than a single allocation
 | ||||
| 		t.steps = make([]traceStep, 0, 6) | ||||
| 	} | ||||
| 	t.steps = append(t.steps, traceStep{time.Now(), msg}) | ||||
| } | ||||
| 
 | ||||
| func (t *Trace) Log() { | ||||
| 	// an explicit logging request should dump all the steps out at the higher level
 | ||||
| 	t.logWithStepThreshold(0) | ||||
| } | ||||
| 
 | ||||
| func (t *Trace) logWithStepThreshold(stepThreshold time.Duration) { | ||||
| 	var buffer bytes.Buffer | ||||
| 	tracenum := rand.Int31() | ||||
| 	endTime := time.Now() | ||||
| 
 | ||||
| 	totalTime := endTime.Sub(t.startTime) | ||||
| 	buffer.WriteString(fmt.Sprintf("Trace[%d]: %q (started: %v) (total time: %v):\n", tracenum, t.name, t.startTime, totalTime)) | ||||
| 	lastStepTime := t.startTime | ||||
| 	for _, step := range t.steps { | ||||
| 		stepDuration := step.stepTime.Sub(lastStepTime) | ||||
| 		if stepThreshold == 0 || stepDuration > stepThreshold || klog.V(4) { | ||||
| 			buffer.WriteString(fmt.Sprintf("Trace[%d]: [%v] [%v] %v\n", tracenum, step.stepTime.Sub(t.startTime), stepDuration, step.msg)) | ||||
| 		} | ||||
| 		lastStepTime = step.stepTime | ||||
| 	} | ||||
| 	stepDuration := endTime.Sub(lastStepTime) | ||||
| 	if stepThreshold == 0 || stepDuration > stepThreshold || klog.V(4) { | ||||
| 		buffer.WriteString(fmt.Sprintf("Trace[%d]: [%v] [%v] END\n", tracenum, endTime.Sub(t.startTime), stepDuration)) | ||||
| 	} | ||||
| 
 | ||||
| 	klog.Info(buffer.String()) | ||||
| } | ||||
| 
 | ||||
| func (t *Trace) LogIfLong(threshold time.Duration) { | ||||
| 	if time.Since(t.startTime) >= threshold { | ||||
| 		// if any step took more than it's share of the total allowed time, it deserves a higher log level
 | ||||
| 		stepThreshold := threshold / time.Duration(len(t.steps)+1) | ||||
| 		t.logWithStepThreshold(stepThreshold) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (t *Trace) TotalTime() time.Duration { | ||||
| 	return time.Since(t.startTime) | ||||
| } | ||||
		Loading…
	
		Reference in New Issue