...

Source file src/google.golang.org/grpc/trace_notrace.go

Documentation: google.golang.org/grpc

     1  //go:build grpcnotrace
     2  
     3  /*
     4   *
     5   * Copyright 2024 gRPC authors.
     6   *
     7   * Licensed under the Apache License, Version 2.0 (the "License");
     8   * you may not use this file except in compliance with the License.
     9   * You may obtain a copy of the License at
    10   *
    11   *     http://www.apache.org/licenses/LICENSE-2.0
    12   *
    13   * Unless required by applicable law or agreed to in writing, software
    14   * distributed under the License is distributed on an "AS IS" BASIS,
    15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    16   * See the License for the specific language governing permissions and
    17   * limitations under the License.
    18   *
    19   */
    20  
    21  package grpc
    22  
    23  // grpcnotrace can be used to avoid importing golang.org/x/net/trace, which in
    24  // turn enables binaries using gRPC-Go for dead code elimination, which can
    25  // yield 10-15% improvements in binary size when tracing is not needed.
    26  
    27  import (
    28  	"context"
    29  	"fmt"
    30  )
    31  
    32  type notrace struct{}
    33  
    34  func (notrace) LazyLog(x fmt.Stringer, sensitive bool) {}
    35  func (notrace) LazyPrintf(format string, a ...any)     {}
    36  func (notrace) SetError()                              {}
    37  func (notrace) SetRecycler(f func(any))                {}
    38  func (notrace) SetTraceInfo(traceID, spanID uint64)    {}
    39  func (notrace) SetMaxEvents(m int)                     {}
    40  func (notrace) Finish()                                {}
    41  
    42  func newTrace(family, title string) traceLog {
    43  	return notrace{}
    44  }
    45  
    46  func newTraceContext(ctx context.Context, tr traceLog) context.Context {
    47  	return ctx
    48  }
    49  
    50  func newTraceEventLog(family, title string) traceEventLog {
    51  	return nil
    52  }
    53  

View as plain text